前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习第6天:数据可视化神器--Matplotlib

机器学习第6天:数据可视化神器--Matplotlib

作者头像
K同学啊
发布2019-01-22 15:02:21
5850
发布2019-01-22 15:02:21
举报
文章被收录于专栏:明天依旧可好的专栏

-----代码传送门----- -----数据传送门-----

一、Matplotlib简介

Matplotlib是一个数据可视化神器,画图用的。涉及散点图、线图、等高线图、条形图、柱状图、3D图形、饼图、Image图像、灰度图。

这里主要介绍如何绘画机器学习中常用到的一些图像。

二、散点图

第1步:导入数据

代码语言:javascript
复制
import pandas as pd
dataSet = pd.read_csv('studentscores.csv')

X = dataSet.iloc[ : , : -1]
Y = dataSet.iloc[ : , 1]

第2步:拆分成训练集和测试集

代码语言:javascript
复制
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步:使用简单线性回归模型来训练训练集

代码语言:javascript
复制
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor = regressor.fit(X_train, Y_train)

第4步:绘制散点图

代码语言:javascript
复制
import matplotlib.pyplot as plt
plt.scatter(X_train, Y_train, color='red')
plt.show()

二、线图

数据沿用散点图数据

代码语言:javascript
复制
plt.plot(X_train, regressor.predict(X_train), color='blue')
plt.show()

三、等高线图

第1步:定义一个计算高度用的函数

代码语言:javascript
复制
def f(x,y):
    return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)

第2步:创建一个等差数列

代码语言:javascript
复制
import numpy as np
n=256
x=np.linspace(-3,3,n)  #[-3,3],共256个点
y=np.linspace(-3,3,n)

第3步:将等差数列绑定为网格的形式

代码语言:javascript
复制
X,Y=np.meshgrid(x,y)

第4步:等高划分并填色

代码语言:javascript
复制
#等高划分并着色
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()

代码语言:javascript
复制
np.linspace(-3,3,n)

它是创建等差数列的函数,返回ndarray类型数据。起点为3,终点为3,n为步长,如果n=1,则返回array([ -3., -2., -1., 0., 1., 2., 3.])

4. contourf()

代码语言:javascript
复制
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)第三个参数表示高度,不同高度域颜色就会不同。

到后面遇到了新的图,我会同步更新这篇博客的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年09月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Matplotlib简介
  • 二、散点图
    • 第1步:导入数据
      • 第2步:拆分成训练集和测试集
        • 第3步:使用简单线性回归模型来训练训练集
          • 第4步:绘制散点图
          • 二、线图
          • 三、等高线图
            • 第1步:定义一个计算高度用的函数
              • 第2步:创建一个等差数列
                • 第3步:将等差数列绑定为网格的形式
                  • 第4步:等高划分并填色
                  • 四、运行结果展示
                    • 1. 散点图
                      • 2. 线图
                        • 3. 等高线图
                        • 五、函数讲解
                          • 1. scatter()
                            • 2. plot()
                              • 3. linspace()
                                • 4. contourf()
                                相关产品与服务
                                图数据库 KonisGraph
                                图数据库 KonisGraph(TencentDB for KonisGraph)是一种云端图数据库服务,基于腾讯在海量图数据上的实践经验,提供一站式海量图数据存储、管理、实时查询、计算、可视化分析能力;KonisGraph 支持属性图模型和 TinkerPop Gremlin 查询语言,能够帮助用户快速完成对图数据的建模、查询和可视化分析。
                                领券
                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档