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