机器学习第6天:数据可视化神器--Matplotlib
文章目錄
- 一、Matplotlib簡介
- 二、散點圖
- 第1步:導入數據
- 第2步:拆分成訓練集和測試集
- 第3步:使用簡單線性回歸模型來訓練訓練集
- 第4步:繪制散點圖
- 二、線圖
- 三、等高線圖
- 第1步:定義一個計算高度用的函數
- 第2步:創建一個等差數列
- 第3步:將等差數列綁定為網格的形式
- 第4步:等高劃分并填色
- 四、運行結果展示
- 1. 散點圖
- 2. 線圖
- 3. 等高線圖
- 五、函數講解
- 1. scatter()
- 2. plot()
- 3. linspace()
- 4. contourf()
-----代碼傳送門-----
-----數據傳送門-----
一、Matplotlib簡介
Matplotlib是一個數據可視化神器,畫圖用的。涉及散點圖、線圖、等高線圖、條形圖、柱狀圖、3D圖形、餅圖、Image圖像、灰度圖。
這里主要介紹如何繪畫機器學習中常用到的一些圖像。
二、散點圖
第1步:導入數據
import pandas as pd dataSet = pd.read_csv('studentscores.csv')X = dataSet.iloc[ : , : -1] Y = dataSet.iloc[ : , 1]第2步:拆分成訓練集和測試集
from sklearn.model_selection import train_test_split X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.25, random_state=0)第3步:使用簡單線性回歸模型來訓練訓練集
from sklearn.linear_model import LinearRegression regressor = LinearRegression() regressor = regressor.fit(X_train, Y_train)第4步:繪制散點圖
import matplotlib.pyplot as plt plt.scatter(X_train, Y_train, color='red') plt.show()二、線圖
數據沿用散點圖數據
plt.plot(X_train, regressor.predict(X_train), color='blue') plt.show()三、等高線圖
第1步:定義一個計算高度用的函數
def f(x,y):return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)第2步:創建一個等差數列
import numpy as np n=256 x=np.linspace(-3,3,n) #[-3,3],共256個點 y=np.linspace(-3,3,n)第3步:將等差數列綁定為網格的形式
X,Y=np.meshgrid(x,y)第4步:等高劃分并填色
#等高劃分并著色 plt.contourf(X,Y,f(X,Y),8,alpha=0.75,cmap=plt.cm.hot)#設置等高線 C=plt.contour(X,Y,f(X,Y),8,colors='black',linewidth=0.5)#設置等高線的數值 plt.clabel(C,inline=True,fontsize=10)#設置坐標軸 plt.xlim(-3,3) plt.ylim(-3,3)plt.show()四、運行結果展示
1. 散點圖
2. 線圖
3. 等高線圖
五、函數講解
1. scatter()
plt.scatter(X_train, Y_train, color=‘red’)中的X_train,Y_train就是X和Y軸的坐標,形狀為shape(n, )。更多用法見:sactter函數詳解
2. plot()
plt.plot(X_train, regressor.predict(X_train), color=‘blue’),用法和scatter()差不多,不同的是scatter()畫的是點,plot() 畫的是線。
3. linspace()
np.linspace(-3,3,n)它是創建等差數列的函數,返回ndarray類型數據。起點為3,終點為3,n為步長,如果n=1,則返回array([ -3., -2., -1., 0., 1., 2., 3.])
4. contourf()
plt.contourf(X,Y,f(X,Y),8,alpha=0.75,cmap=plt.cm.hot)contourf(contour等高線+filling);8 表示等高線分為多少部分,0->2部分,1->3部分,8->10部分;alpha=0.75表示圖形的透明度,如果alpha=0那么圖形的顏色為白,f(X,Y)第三個參數表示高度,不同高度域顏色就會不同。
到后面遇到了新的圖,我會同步更新這篇博客的。
總結
以上是生活随笔為你收集整理的机器学习第6天:数据可视化神器--Matplotlib的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习第5天:逻辑回归
- 下一篇: 实战项目三:爬取QQ群中的人员信息