资源描述:
《ython高级数据处理与可视化.pdf》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、AdvancedDataProcessingandVisualizationofPythonPython高级数据处理与可视化DepartmentofComputerScienceandTechnologyDepartmentofUniversityBasicComputerTeaching用Python玩转数据聚类分析NanjingUniversity聚类3•聚类分析(clusteranalysis)以相似性为基础把相似的对象通过静态分类的方法分成不同的组别或者更多的子集–特性•基于相似性•有多个聚类中心NanjingUniversity4K-MEANSK-均值算法表示
2、以空间中k个点为中心进行聚类,对最靠近他们的对象归类。AB任意选择k个对每个点确定对象作为初始其聚类中心点聚类中心不收敛计算每个新聚聚类完成类的聚类中心收敛CDNanjingUniversity5一个日常小例子高数英语Python音乐File小明88649685#Filename:kmeansStu.pyfrompylabimport*大明92999594fromscipy.cluster.vqimport*小朋91879995list1=[88,74,96,85]大朋78999781list2=[92,99,95,94]scipy.cluster.vq更新list3=
3、[91,87,99,95]后其参数只支持小萌88789884float和double,所list4=[78,99,97,81]大萌1009510092list5=[88,78,98,84]以此处的数字都要+.0改成浮点数形式list6=[100,95,100,92]data=vstack((list1,list2,list3,list4,list5,list6))Output:centroids,_=kmeans(data,2)result,_=vq(data,centroids)[011101]printresultNanjingUniversity6另一个例子按相邻
4、两天的收盘价涨跌规律对2014年第3季度(7月-9月)构成道琼斯工业指数的30只股票聚类File#Filename:kmeansDJI.pylistDji=['AXP','BA','CAT','CSCO',…,'VZ','WMT','XOM']quotes=[[0forcolinrange(90)]forrowinrange(30)]listTemp=[[0forcolinrange(90)]forrowinrange(30)]foriinrange(30):quotes[i]=quotes_historical_yahoo_ochl(listDji[i],start,
5、end)listTemp[i][j]=1or-1#1ifthelatterislargerthanformer,otherwisetheresultis-1data=vstack(listTemp)centroids,_=kmeans(data,4)同前一页,此处result,_=vq(data,centroids)需要改成浮点数NanjingUniversity7另一个例子Output:[033203011322012012211321301200]第0类AXP,CVX,DIS,JNJ,MCD,UTX,WMT,XOM第1类GE,GS,JPM,MMM,NKE,PFE,T
6、RV,V第2类CSCO,IBM,INTC,KO,MRK,MSFT,T,VZ第3类BA,CAT,DD,HD,PG,UNHNanjingUniversity8用Python玩转数据MATPLOTLIB绘图基础NanjingUniversityMatplotlib绘图9•Matplotlib绘图最著名Python绘图库,主要用于二维绘图–画图质量高–方便快捷的绘图模块•绘图API——pyplot模块•集成库——pylab模块(包含NumPy和pyplot中的常用函数)NanjingUniversity10数据源Source可口可乐公司近一年来股票收盘价的>>>closeMea
7、nsKO=tempkodf.groupby('month').mean().close>>>closeMeansKO月平均价month138.589524237.047368337.795238…1042.4882611141.4295001239.201905Name:close,dtype:float64NanjingUniversity11折线图将可口可乐公司近一年来股票收盘价的月平均价绘制成折线图File#Filename:closeMeansKO.pyimportmatplotlib.pyplotasplt…listKO=[]f