DC学院学习笔记(十三):探索性数据分析实践

  1. 云栖社区>
  2. 博客>
  3. 正文

DC学院学习笔记(十三):探索性数据分析实践

kissjz 2018-02-14 16:47:10 浏览1398
展开阅读全文

还是用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)

output_3_1

可以看出三类别的花是很平均的,每种各占50个

seaborn.barplot(x='species',y='petal_length',data=iris)

output_5_1

setosa这种花的花瓣长度明显小于其他两种

seaborn.boxplot(x='species',y='petal_length',data=iris)

output_7_1

这样就更清楚了,甚至我们可以通过花瓣长度这样一种指标来在我们的150个训练集中区别出setosa这种花

seaborn.distplot(iris['petal_width'])

output_9_1

分类绘图

#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()

output_11_1

#FacetGrid 从数据集不同的侧面进行画图,hue指定用于分类的字段,使得代码会更加简洁
g=seaborn.FacetGrid(iris,hue='species')
g.map(seaborn.distplot,'petal_width').add_legend()

output_12_1

#尝试修改row/col参数,替代hue参数,row:按行展示,col:按列展示
g=seaborn.FacetGrid(iris,row='species')
g.map(seaborn.distplot,'petal_width').add_legend()

output_13_1

#画出线性回归的曲线
seaborn.regplot(x='petal_width',y='petal_length',data=iris)

output_14_1

#分类画线性回归
g = seaborn.FacetGrid(iris,hue='species')
#设置坐标轴范围
g.set (xlim=(0,2.5))
g.map(seaborn.regplot,'petal_width','petal_length').add_legend()

output_15_1

#不显示拟合曲线,用matplotlib画散点图
import matplotlib.pyplot as plt
g = seaborn.FacetGrid(iris,hue='species')
g.map(plt.scatter,'petal_width','petal_length').add_legend()

output_16_1

ok,这样就完成了我们对iris数据集的探索性数据分析,也就是画图瞅瞅长得啥样。

网友评论

登录后评论
0/500
评论