機器學習-數據可視化神器matplotlib學習之路(五)

此次準備作一下pandas在畫圖中的應用,要作數據分析的話這個更爲實用,本次要用到的數據是pthon機器學習庫sklearn中一組叫iris花的數據,裏面組要有4個特徵,分別是萼片長度、萼片寬度、花瓣長度、花瓣寬度,目標值是3種不一樣類型的花。dom

機器學習的時候在學習好這四個特徵後就能夠用來預測花的類型了,而圖像化分析這些數據就是機器學習中很關鍵的步驟,接下來咱們開始,先導入數據:機器學習

import pandas as pd
from sklearn import datasets
from sklearn import preprocessing


data = datasets.load_iris()#載入iris數據
# data = preprocessing.scale(boston.data)#正則化數據
pd.set_option('display.max_columns', None)
d1_x = pd.DataFrame(data.data, columns=data.feature_names)
d1_y = pd.Series(data.target)
print(d1_x.head())
print(d1_y.head())

部分數據展現以下,能夠看出有4個不一樣特徵,3種不一樣的話目標值分別是0,1,2學習

   sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)
0                5.1               3.5                1.4               0.2
1                4.9               3.0                1.4               0.2
2                4.7               3.2                1.3               0.2
3                4.6               3.1                1.5               0.2
4                5.0               3.6                1.4               0.2
0    0
1    0
2    0
3    0
4    0
dtype: int32

不少時間圖像更能直觀反映出數據,接下來開始正題:spa

from matplotlib import pyplot as plt
import pandas as pd
from sklearn import datasets
from sklearn import preprocessing


data = datasets.load_iris()#載入iris數據
# data = preprocessing.scale(boston.data)#正則化數據
pd.set_option('display.max_columns', None)
d1_x = pd.DataFrame(data.data, columns=data.feature_names)
d1_y = pd.Series(data.target)
print(d1_x.head())
print(d1_y.head())

d1_x.plot(linestyle='--', marker='.', alpha=0.5) #DataFrame的畫圖方式,依賴於matplotlib
d1_y.plot(linestyle='-', linewidth=1.5, alpha=0.5, color='b', label='type')
plt.legend()
plt.show()

是否是很簡單,和以前plt.plot()的畫圖幾乎同樣的,結果以下:3d

從上圖中,比較直觀的我能夠看出,sepal width與花種類關係不大,其它三個特徵則關係密切,根據這個圖像分析從而能夠進行下一步。code

接下來,看看其它類型的圖,因爲這裏數據不太適合條形圖,那本身造一點數據吧:orm

from matplotlib import pyplot as plt
import pandas as pd
import numpy as np

d1 = pd.DataFrame(np.random.rand(5, 3), columns=['A', 'B', 'C'])

# 方法一
d1.plot.bar(cmap='summer')
# 方法二
#d1.plot(kind='bar', colormap='cool')
plt.show()

畫條形圖有兩中方式,看代碼,是否是很簡單,其它圖形就不所有都寫出來了,方式都差很少,今天就到這裏了。blog

相關文章
相關標籤/搜索