python散点矩阵图_用python-pandas作图矩阵
本文為一篇翻譯文章,來自于Visualize Machine Learning Data in Python With Pandas - Machine Learning Mastery**,原文標題是Visualize Machine Learning Data in Python With Pandas(在Python里使用pandas對機器學習的數據進行可視化分析),作者的意思是我們在采用機器學習算法對數據進行分析時,首先要對數據進行了解,而了解數據最快速的方式就是可視化。但是作者可視化采用的方法對很多data都通用,且采用的是各種圖形的圖矩陣,如直方圖、散點圖矩陣等等。本文就根據作者的分析來介紹如何運用pandas作各種矩陣圖。統計類專業,喜歡數據分析、可視化、數據挖掘、大數據,歷史、文學等
一、數據
數據為Pima Indians dataset,在作者的代碼中包含該數據來源網址,即皮馬印第安人糖尿病數據集,樣本個數有768個,包含變量有:
Preg:懷孕次數
Plas:口服葡萄糖耐量試驗中血漿葡萄糖濃度為2小時
Pres:舒張壓(mm Hg)
Skin:三頭肌皮褶厚度(mm)
test :2小時血清胰島素(μU/ ml)
mass:體重指數(kg /(身高(m))^ 2)
pedi:糖尿病血統功能
age:年齡(歲)
class:類變量(0或1),估計是性別。
二、Histograms(直方圖矩陣)url = "https://archive.ics.uci.edu/ml/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class'] #設置變量名
data = pandas.read_csv(url, names=names) #采用pandas讀取csv數據
data.hist()
plt.show()
直方圖矩陣.png
但是,我們看到圖形并不協調,存在變量與坐標重疊的情況,我們可以調整hist()的參數來解決,包括對x軸、y軸標簽大小的調節((xlabelsize,ylabelsize),整個圖形布局大小的調節figsize:data.hist(xlabelsize=7,ylabelsize=7,figsize=(8,6)) #
plt.show()
直方圖矩陣1.png
可以看到每一個變量的分布情況,其中mass、plas、pres呈現一定的正態分布,其他除了class之外,基本上左偏。
三、Density Plots(密度圖矩陣)data.plot(kind='density', subplots=True, layout=(3,3), sharex=False,fontsize=8,figsize=(8,6))
plt.show()
原始代碼輸出后仍然存在重疊的地方,在這里加入了對圖中坐標文字fontsize,以及整體布局大小figsize。
密度圖.png
四、箱線圖矩陣(Box and Whisker Plots)data.plot(kind='box', subplots=True, layout=(3,3), sharex=False, sharey=False, fontsize=8,figsize=(8,6))
plt.show()
與(3)類似,在這里注意可以共享x軸和y軸,用了sharex=False, sharey=False的命令。
箱線圖.png
五、相關系數矩陣圖(Correlation Matrix Plot)import numpy
correlations = data.corr() #計算變量之間的相關系數矩陣
# plot correlation matrix
fig = plt.figure() #調用figure創建一個繪圖對象
ax = fig.add_subplot(111)
cax = ax.matshow(correlations, vmin=-1, vmax=1) #繪制熱力圖,從-1到1
fig.colorbar(cax) #將matshow生成熱力圖設置為顏色漸變條
ticks = numpy.arange(0,9,1) #生成0-9,步長為1
ax.set_xticks(ticks) #生成刻度
ax.set_yticks(ticks)
ax.set_xticklabels(names) #生成x軸標簽
ax.set_yticklabels(names)
plt.show()
相關系數矩陣.png
顏色越深表明二者相關性越強。
六、散布圖矩陣(Scatterplot Matrix)from pandas.tools.plotting import scatter_matrix
scatter_matrix(data,figsize=(10,10))
plt.show()
散布圖矩陣.png
總結
以上是生活随笔為你收集整理的python散点矩阵图_用python-pandas作图矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 徽商银行信用卡积分怎么兑换?徽商银行信用
- 下一篇: python如何关闭窗口仍能运行_Pyt