5-8 离散点检测(改进版无error)

来源:互联网 发布:中国软件千股千评 编辑:程序博客网 时间:2024/05/21 11:31
#-*- coding: utf-8 -*-#使用K-Means算法聚类消费行为特征数据import numpy as npimport pandas as pdif __name__=='__main__':#参数初始化   inputfile = '../data/consumption_data.xls' #销量及其他属性数据   k = 3 #聚类的类别   threshold = 2 #离散点阈值   iteration = 500 #聚类最大循环次数   data = pd.read_excel(inputfile, index_col = 'Id') #读取数据   data_zs = 1.0*(data - data.mean())/data.std() #数据标准化   from sklearn.cluster import KMeans   model = KMeans(n_clusters = k, n_jobs = 4, max_iter = iteration) #分为k类,并发数4   model.fit(data_zs) #开始聚类   #标准化数据及其类别   r = pd.concat([data_zs, pd.Series(model.labels_, index = data.index)], axis = 1)  #每个样本对应的类别   r.columns = list(data.columns) + [u'聚类类别'] #重命名表头   norm = []   for i in range(k): #逐一处理     norm_tmp = r[['R', 'F', 'M']][r[u'聚类类别'] == i]-model.cluster_centers_[i]     norm_tmp = norm_tmp.apply(np.linalg.norm, axis = 1) #求出绝对距离     norm.append(norm_tmp/norm_tmp.median()) #求相对距离并添加   norm = pd.concat(norm) #合并   import matplotlib.pyplot as plt   plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签   plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号   norm[norm <= threshold].plot(style = 'go') #正常点   discrete_points = norm[norm > threshold] #离群点   discrete_points.plot(style = 'ro')   for i in range(len(discrete_points)): #离群点做标记     id = discrete_points.index[i]     n = discrete_points.iloc[i]     plt.annotate('(%s, %0.2f)'%(id, n), xy = (id, n), xytext = (id, n))   plt.xlabel(u'编号')   plt.ylabel(u'相对距离')   plt.show()


数据(consumption_data.xls)

IdRFM1276232.612351507.113416817.624311232.8151471913.056196220.07752615.8382621059.669219304.82102211227.9611152521.0212263438.221317111744.551430161957.4415571713.79164211768.11179321016.3418163950.361941754.9320271294.232151195.3221731845.342312131434.2924213275.8525185449.762630211628.6827421795.41287121786.2429181679.44306075318.8131422873.6832161654.693332230.373414111165.683513211276.31361016334.213755759.1938111383.39392483280.7740194154.654191501.38421241721.9343141107.1844101973.36451017764.5546761251.4472311923.28481511011.18491151847.61503211669.46511031758.05523081865.99532881791.4454415874.655245557.17561621025.3557721261.47586642920.8159421266.02602111626.3761641105.636226211465.5863821630.74642621546.456514111577.9166176170.16672051558.7568551272.0669263111.02701571578.37712624720.26722516873.227347935.19742311723.67751591833.017663681.267778111461.63781517560.57799181761.1980871707.2581282227.1482223223.578386940.4684236256.38551312.44861514929.528727151296.66882211591.628922755.729018171424.0791618940.939237414.2493114576.569412221037.14952651200.1796131727.36971316503.7198197703.369912171583.05100318602.910151798.411022571202.091038541605.3610428211222.341052519593.171068694.7510714189.710821151061.561092915978.85110143155.9111205938.151123241477.971131061976.2311485181.17115174499.6511649176.221171311267.1118231137.621196551383.4712020221311.21212213496.611222161921.81231411304.1124261468.09125279432.67126301368.35127114759.691282631110.811292815313039111314.211311161895.95132231417.2313332679.5813451533.971352481134.64136256825.39137106165.391382991234.6413980111829.3214023189141421557.88142381328.01143157304.6514417231505.55145167711.1146161539.761475165.83148163776.2114922181820.6115019419971514221846.691522371252.41153713987.17154361130.03155181148.32156281135.57157621641.7915872242.831592181803.0216012121557.951612541494.8116226131280.06163281160164229440.12165141746.95166122351.0916762556.9116873957.8316916161212.37170112946.6517116131442.681725121612.71730211281.681749131928.8175247335.35176381589.351772011797.72178171793.471791316569.47180103149.51811721515.3818284187.761832071441.83184271121.611852511934.581861615591.06187154951.3118812119141893221058190921111.51191179458.521922718927.591937311370.25194171946.531951011474.411961631661.03197091465.181981731813.4519957772.5420041172.82201144552.37202128946.28203262651.9920469857.79205741016.55206561766.44207253908.53208282403.752092541270.752101331157.92211131497.0921221216.7821323161454.582142171027.582152412722.09216157282.19217114106.96218181999.7521924141139.33220245836.72221321678.542223171337.34223141335.77224112810.22252911943.922651125135.7722769984.12228651413.5522916381.95230614788.2223129180.8232211611.132332441766.35234021516.76235961925.2236171344.23237491204.1238521257.59239731095.0924021123.7624132696.822422621487.352431931278.432442814627.97245121952461441827.01247106754.05248192922.932491212257.4250114676.34251319984.3225227321914.062531341953.8125414768.0225561131379.862564211054.242572111298.34258175841.04259891757.8726022111010.7261136948.832621224852.95263771532.722641161891.2926510211900.332661613598.842678211622.91268217536.53269666180.512701881751.332712611146.43272246654.8273431599.5827414161317.427516181665.032761117440.212771631689.942783121163.78279116664.232801041658.4281381293.562825914912.942832521265.242842061169.96285253735.19286561749.682871715483.5128823221436.672891621439.93290161252.12291714848.68292309252.9829352464.92943250.14295551381.212962311606.04297811309.4529869151441.57299128434.363006161893.9730116181391.1130212241292.1430336312.333041724845.683051661993.473062221414.29307211472.463081011255.443097121256.98310159904.9131189237.523127111143.16313207805.153141541259.42315117247.64316311391.513171218866.5931871231127.953192591535.083202013911.153212051001.8432210191.933231571172.573249181882.22325119528.6832621111943.65327287570.7332856909.573291281406.9533010111060.913314190.6733217151757.533365111082.01334161665.493352017553.5333624181568.74337244993.88338917511.3933912237149.9634011161994.53341613399.26342207211.933431621466.193442921185.2634522161400.35346111433347104238.63482231393.9234973720.1635026161810.43351246230.2835244772.84353261339.033545191118.5135516328.3135621171385.52357475169.253588181177.913592612879.69360113446.583611611437.143621321695.4836327161715.163641911048.53652171545.94366221656.283671511620.0836816121111.763692651440.33703011173.89371299365.4137229191495.143737241456.3137413131327.453752411445.0737620267.473771514759.95378811268.313794411887.473808221970.75381262335.053821319419.22383712494.7438410111535.5138591571.113861211491.213871231385.533881111030.9338944978.71390151516.33391624543.7539254356.2339310181789.6739424161978.79395165434.4839622231458.64397151854.139818131879.273998241901.094003921521.4440114131956.94021214690.064031181157.17404176600.464051211108.494062523512.0140725111510.0840827211255.12409351676.564101171974.68411284418.224121191577.284135241416.824142391300.0441512231206.8641611161699.141710191031.141889414.994195881262.554201841254.34421711103.454228141802.1142302387.2442419221204.6242527191058.39426221696.374271271055.714282141649.8142927191293.7343020161517.394312831497.3543249399.02433611598.454340181300.9943518151008.744361381819.964372118630.47438651478.8643916211562.084402991171.594418211642.8644211191373.1244385180.07444218996.174457145.2344629111049.44447168220.03448197393.1444914171963.5845096147.12451671279.7452241633.174531211562.6645414211354.5945581911.624562541725.8245744573.1645814131331.5345913141688.13460134180461422636.38462108830.244632022641.4346441790.8446517226864662918839.534677221862.15468421645.014692613678.394701151287.747124121138.1347225211081.9473111432.324741813437.334752423852.054761851686.8647739151420.244782711869.554792581919.5848012221451.94481211824.644827111877.284836241717.348417166148.05485132111.17486211621.614871611663.79488771247.6548951198.7249081927.95491331117.624926131674.32493121734.984945111387.5495818488.54967692.63497671808.214981921910.944991461564.1550025141894.135011012751.385024111813.51503461367.155041551264.0950571685.55506441296.345071471300.1250838151728.68509111487.285104121313.3151125171694.35512521931.9751327221372.3651426181731.945151911496.8351622151798.79517116803.9451824111505.96519171120.52520187936.775212371824.41522175177.08523119867.995242117756.885251346433.815263821947.54527195549.355282681680.695293012555.253076334.125311719925.89532276249.25331214666.353427171955.27535811363.62536481728537209197.435382824973.9353927121051.7554012191315.325414131628.3254213121452.154316211591.59544101487.245453618839.525468111729.525471331679548218780.8854995498.9955026111932.6455127198.3955256239.365532313866.195542741469.945552671273.0755624191617.51557249334.685587121288.15594221784.515601671234.3356121211730.025621331512.1256394935642631767.6856524111640.1956656750.26567612299.6656819141735.0956926111628.495702041155.025712281923.31572218391.15731314411.615742141631.0657521181359.475762631083.3857723161320.695781321564.335791331936.935801221766.065812381090.775822591932.465832711747.425841412377.47585136141.28586822547.14587233344.95588177999.245891312745.115902823751.1959181954.725922631066.27593172489.08594315885.4959539141454.39596138519.835971821473.8759810211465.9559946301.496002016951.7660116151282.64602146347.4260315164.9860420799.67605751909.29606111981.260716141473.6260818172.3160920231128.24610291444.39611111286125911767.93613181531.7361427185.6361522698.6761633690.64617291249.8561893563.286191951191.2762021221400.81621621749.216222311471.662327191325.116241213778.1162586216.09626842276.266271921657.466282621483.83629215554.3863015131457.716317151537.57632321627.72633131920.0263479739.456351923639.216362221321.4163719141214.69638521576.96639261726.9264092418.18641931878.9264224111829.07643919919.336442814950.21645223773.16646291314.52647421708.3664835129.926491121427.6965022131128.256512921198.38652924880.796532121152.146541036320.796552618568.956561315553.58657101103.326588562.1165929141572.41660154946.166611671189.996621711856.6166399802.566647111399.32665312853.1866616181346.36671281899.436688191829.736691461995.32670121191343.966716245796729171535.0867310221035.15674561990.3367516121998.246762641904.236772041844.996781618835.036795111960.268024480.56811651041.53682167233.2268321161906.486842911572.416858181634.84686152120.9268782312.856882111097.34689147583.656901371361.6969128211168.85692431840.566931651254.1269419241088.956951121940.856963181187.4697921725.076982771717.76991241290.957001631075.387015481352.27025131553.1970324121971.23704276226.257051351779.417068111934.78707302377.73708723959.73709185406.12710181807.35711021814.76712731199.35713191593.31714122726.517151422980.27716719722.57717157207.0771885334.097191131472.337201451670.7472158211902.0772217221949.76723322490.7272493145.147255190.41726104118.4372752527.9272823111887.6572927161344.297302421665.917311019439.3173242812.477331661251.3273421221497.2273525141328.0873671285.05737279270.18738527649.5873918173.1740236271.1741287309.927422741582.057435171661.15744246327.09745156214.7746144573.03747159423.98748223895.917492851651.61750202161.6751102666.05752124596.9375327181919.1175422181348.3775511161746.07756624685.087572861272.977583191527.417591751968.2976021241269.77612714755.857626211471.0276328261167.93764201343.1876526111051.2576620181190.9767246564.027685281090.567698221687.6777017211968.937712818436.547722851681.477320128.43774420837.3775717803.217764149.7777111612.0577814201121.53779166173.277801223954.11781326701.237822510995.617831541576.22784551559.1278581161.15786112225.69787221776.0178824101599.47789213304.237906151856.117922410734.297935361437.02794258879.557956921677.57968241830.9479726521.587981822598.34799299245.968004201127.6480125151176.6980213231312.58803625547.5880444714.958051221617.228062281893.5480727291290.4580823131434.7380935200.528108171042.828112171542.5881271171.0981316149.6181433443.42815158410.27816181338.22817269389.478181991627.36820215617.8282127179218221013602.2982357132.278241519704.1682526171336.09826249199.278272891438.398282026773.5829203251.9483015101337.518311811301.098322214714.368331021513.698341416393.818352510904.58836211358.6283718131696.64838203465.7839105631.5984029151283.598411191335.598422723990.4984321171256.478441191728.8484584617.838461091380.94847431783.688484123.24849199587.2485011131574.38511911898.4685281953.18853232351.3985467652.88552621270.24856196207.8285723168.318582071525.2685913121992.1786018151956.98611531945.2862281893.1886322271554.7386411181424.6986552248.1186615275.938679131611.2786810193.7286918101530.4887027131509.418719241281.48872263539.28732921399.187425291733.388752714653.55876432706.1287724291489.2787828211956.8387912141795.238801022730.888817111583.77882182169.758831861607.65884683916.198852023681.5788616121528.578875281396.4788833259.83889461804.389015211073.828912711884.15892167411.658932020933.478949191692.988951141168.04896189289.678972161527.158981201951.03899041331.329001327719.12901166735.319025641869.92903261150.18904242157.54905291748.72906153890.999071611649.7990823271628.789092121599.2491012231550.6191181183.559122651230.329139141627.1991411281154.791517133.589161591959.6491710221581.149182751879.829192531142.4920151174.6492152638.819221941067.7892314221345.92924631311.06925268962.62926231285.9792717171651.689281631503.879296131506.489302224625.1293128171742.9593217261292.219331671801.389341271585.193517277795.039362172341.93937151865.789381941163.08939971007.069402771322.94941304860.41942221776.7


其中,相对距离:

点到质心的举例与簇中所有点到质心的距离的中位数之比。

中位数:

有序数列最中间的那个数

0 0
原创粉丝点击