机器学习第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群中的人员信息