还是用iris数据集举例,一起来完成对它的探索性数据分析吧!(也就是画个图,瞅瞅长的啥样子)
import pandas
iris = pandas.read_csv('http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data')
iris.columns=['sepal_length','sepal_width','petal_length','petal_width','species']
绘图的基本指令
先画图初步了解一下数据的样子
import seaborn
%matplotlib inline
seaborn.countplot(x="species",data=iris)
可以看出三类别的花是很平均的,每种各占50个
seaborn.barplot(x='species',y='petal_length',data=iris)
setosa这种花的花瓣长度明显小于其他两种
seaborn.boxplot(x='species',y='petal_length',data=iris)
这样就更清楚了,甚至我们可以通过花瓣长度这样一种指标来在我们的150个训练集中区别出setosa这种花
seaborn.distplot(iris['petal_width'])
分类绘图
#Pandas库对类别进行选取,然后进行画图
iris_vir=iris[iris.species == 'Iris-virginica']
iris_s=iris[iris.species == 'Iris-setosa']
iris_ver=iris[iris.species =='Iris-versicolor']
#参数赋值,加上label&图例&设置坐标轴范围,xlim设置x轴范围,ylim设置y轴范围
seaborn.distplot(iris_vir['petal_width'],label='vir').set(ylim=(0,15))
seaborn.distplot(iris_s['petal_width'],label='s')
seaborn.distplot(iris_ver['petal_width'],label='ver').legend()
#FacetGrid 从数据集不同的侧面进行画图,hue指定用于分类的字段,使得代码会更加简洁
g=seaborn.FacetGrid(iris,hue='species')
g.map(seaborn.distplot,'petal_width').add_legend()
#尝试修改row/col参数,替代hue参数,row:按行展示,col:按列展示
g=seaborn.FacetGrid(iris,row='species')
g.map(seaborn.distplot,'petal_width').add_legend()
#画出线性回归的曲线
seaborn.regplot(x='petal_width',y='petal_length',data=iris)
#分类画线性回归
g = seaborn.FacetGrid(iris,hue='species')
#设置坐标轴范围
g.set (xlim=(0,2.5))
g.map(seaborn.regplot,'petal_width','petal_length').add_legend()
#不显示拟合曲线,用matplotlib画散点图
import matplotlib.pyplot as plt
g = seaborn.FacetGrid(iris,hue='species')
g.map(plt.scatter,'petal_width','petal_length').add_legend()
ok,这样就完成了我们对iris数据集的探索性数据分析,也就是画图瞅瞅长得啥样。