借助Kesci的K-Lab平台进行Iris数据分析

之前参加了Kesci网举办的中国联通“沃+海创”开放数据应用大赛,在比赛中认识了许多大牛,同时也认识了Kesci平台的一位李哥。应李哥邀请,帮他们推广一下该平台的实验室,前段时间由于自己事情太多,直到最近才闲下来,遂做了一下整理。

尝试了一下这个在线实验室,不需要自己的线下的环境,可以在线编程。类似jupter notebook,你还可以将自己的ipynb文件从线下导入,方便快捷。它的公开数据集也相当丰富,有Iris、MovieLens、Titanic等数据集。在创建项目的时候,选择你需要的公开数据集即可,它也支持私有数据,然后它会提示你已挂载数据集的路径。

关于线上的操作向导说明:

# 查看当前挂载的数据集目录
!ls /home/kesci/input/
# 查看个人持久化工作区文件
!ls /home/kesci/work/
# 查看当前kernerl下的package
!pip list --format=columns
# 加载数据分析常用库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
% matplotlib inline

对于以上这四段代码向导,最重要的就是第三段了。package是我们当前在线实验室所能支持的所有工作内容。我们还发现package还包括了seaborn、pyecharts、tensorflow、xgboost等,果然是一款强大的在线分析工具。

在利用seaborn可视化来分析Iris数据集之前,我们先对数据字段进行介绍:

	Sepal.Length	Sepal.Width	Petal.Length	Petal.Width	Species
0	5.1	        3.5	        1.4	        0.2	        setosa
1	4.9	        3.0	        1.4	        0.2	        setosa
...	...	        ...	        ...	        ...	        ...
147	6.5	        3.0	        5.2	        2.0	        virginica
148	6.2	        3.4	        5.4	        2.3	        virginica
149	5.9	        3.0	        5.1	        1.8	        virginica
  • sepal_length:花萼长度,单位cm
  • sepal_width:花萼宽度,单位cm
  • petal_length:花瓣长度,单位cm
  • petal_width:花瓣宽度,单位cm
  • 种类:setosa(山鸢尾),versicolor(杂色鸢尾),virginica(弗吉尼亚鸢尾)

我们以Stripplot(细条图)为例

Stripplot的本质就是把数据集中具有定量(quantitative)属性的变量按照类别去做散点图(Scatterplot)。于是,我们将纸鸢花数据集中不同种类花的sepal length做stripplot可视化,代码如下:

import seaborn as sns
plt.figure(1,figsize=(12,6))

plt.subplot(1,2,1)
sns.stripplot(x='Species',y='Sepal.Length',data=iris) #stripplot
plt.title('Striplot of sepal length of Iris species')

with sns.axes_style("whitegrid"): # 这个是临时设置样式的命令,如果不写,则按默认格式'darkgrid'进行绘制
    plt.subplot(1,2,2)
    plt.title('Striplot of sepal length of Iris species')
    sns.stripplot(x='Species',y='Sepal.Length',data=iris,jitter=True) # jitterplot

plt.show()

借助Kesci的K-Lab平台进行Iris数据分析_第1张图片

上边左侧的图片便是在默认风格下用stripplot绘制的散点图。在很多情况下,stripplot中的点会重叠,使得我们不容易看出点的分布情况。一个简单的解决办法就是用在stripplot的基础上绘制抖动图(jitterplot),仅沿着类别坐标轴的方向去随机微调整点的位置,显示出分布情况。更多seaborn细节,请参考《seaborn可视化学习之 categorial visualization》

以上就是我在K-Lab平台上做的一些尝试,希望能给你一些帮助。

你可能感兴趣的:(code实验室)