导入numpy和matplotlib

import numpy as np
import matplotlib.pyplot as plt

回执正弦函数

import numpy as np
import matplotlib.pyplot as plt
# 在0~10之间生成一百个点
x = np.linspace(0,10,100)
# 对x中的每个点做sin
y = np.sin(x)
# 以x为横轴,y为纵轴制作,x和y的关系
plt.plot(x,y)
# plt.show()

Python机器学习(2)-Matplotlib数据可视化

同时在一个画布中制作cos和sin曲线

cosy = np.cos(x)
siny = y.copy()
plt.plot(x,siny);plt.plot(x,cosy)

Python机器学习(2)-Matplotlib数据可视化

指定线条色彩和款式

指定线条色彩为空色,线条款式为--

plt.plot(x,siny,color = "red",linestyle = "--")

Python机器学习(2)-Matplotlib数据可视化

调理坐标系规模

sin和cos的值域规模在-1到1,咱们刚刚指定的x的规模为0~10,matplotlib根据参数规模,自适应的方式,制作了上面的图形。咱们也能够经过手动指定坐标系的规模控制制作的图形。

  1. 调理x坐标系的规模为[-5~15],y的坐标系规模为[0~1]
plt.plot(x,siny);plt.xlim(-5,15),plt.ylim(0,1)

Python机器学习(2)-Matplotlib数据可视化

  1. 经过axis同时调理x,y坐标系规模 指定x坐标系规模为[-2~2],y坐标系规模为[-1,11]
plt.plot(x,siny);plt.axis([-1,11,-2,2])

Python机器学习(2)-Matplotlib数据可视化

添加图示,标题和x,y坐标轴含义

plt.plot(x,siny,label="sin(x)");
plt.plot(x,cosy,label = "cos(x)");
plt.xlabel("x");
plt.ylabel("y");
plt.title('sin&cos');
plt.legend()
plt.show()

Python机器学习(2)-Matplotlib数据可视化

制作散点图

plt.scatter(x,siny)

Python机器学习(2)-Matplotlib数据可视化

生成契合正态分布的散点图

x和y别离生成从0到1,一百个正态分布的点

x = np.random.normal(0,1,100)
y = np.random.normal(0,1,100)
plt.scatter(x,y)

Python机器学习(2)-Matplotlib数据可视化

设置散点透明度

设置不透明度为0.1

x = np.random.normal(0,1,10000)
y = np.random.normal(0,1,10000)
plt.scatter(x,y,alpha = 0.3)

Python机器学习(2)-Matplotlib数据可视化

读取数据和简略的数据探究

引进需要运用的包

import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets

检查鸢尾花数据集

# 引进鸢尾花数据集
iris = datasets.load_iris()
# 检查数据集有哪些信息
iris.keys()
#out: dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names', 'filename', 'data_module'])
# 鸢尾花数据集信息
iris.data.shape
# (150, 4) 表明有150个数据,每条数据有4个特征
# 检查每个向量中的每个特征是什么含义
iris.feature_names
# out: ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
# 鸢尾花的断定结果
iris.target
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
       2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
       2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])
iris.target_names 
#out: array(['setosa', 'versicolor', 'virginica'], dtype='<U10'),target中的0,1,2别离表明
# setosa,versicolor,virginica品种

鸢尾花数据可视化

由于鸢尾花的一个向量有4个特征,属于四维空间。无法运用图形表明,咱们能够两个两个向量的方式制作。

# 获取一切的行数据集,列数据集取前两列
x = iris.data[:,:2]
x.shape
# (150,2)
plt.scatter(x[:,0],x[:,1])

Python机器学习(2)-Matplotlib数据可视化

鸢尾花每个类别别离制作

y = iris.target
plt.scatter(x[y==0,0],x[y==0,1],color = 'red');
plt.scatter(x[y==1,0],x[y==1,1],color = 'blue');
plt.scatter(x[y==2,0],x[y==2,1],color = 'green')
plt.show()

Python机器学习(2)-Matplotlib数据可视化

经过对不同品种的鸢尾花进行可视化后,发现蓝色品种和绿色品种的鸢尾花的前两列特征不是十分的明显,咱们能够看一下后边两列特征关于鸢尾花品种的区分。

x = iris.data[:,2:]
plt.scatter(x[y==0,0],x[y==0,1],color = 'red');
plt.scatter(x[y==1,0],x[y==1,1],color = 'blue');
plt.scatter(x[y==2,0],x[y==2,1],color = 'green')

Python机器学习(2)-Matplotlib数据可视化