zoukankan      html  css  js  c++  java
  • 机器学习-数据可视化神器matplotlib学习之路(五)

    这次准备做一下pandas在画图中的应用,要做数据分析的话这个更为实用,本次要用到的数据是pthon机器学习库sklearn中一组叫iris花的数据,里面组要有4个特征,分别是萼片长度、萼片宽度、花瓣长度、花瓣宽度,目标值是3种不同类型的花。

    机器学习的时候在学习好这四个特征后就可以用来预测花的类型了,而图像化分析这些数据就是机器学习中很关键的步骤,接下来我们开始,先导入数据:

    import pandas as pd
    from sklearn import datasets
    from sklearn import preprocessing
    
    
    data = datasets.load_iris()#载入iris数据
    # data = preprocessing.scale(boston.data)#正则化数据
    pd.set_option('display.max_columns', None)
    d1_x = pd.DataFrame(data.data, columns=data.feature_names)
    d1_y = pd.Series(data.target)
    print(d1_x.head())
    print(d1_y.head())

    部分数据展示如下,可以看出有4个不同特征,3种不同的话目标值分别是0,1,2

       sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)
    0                5.1               3.5                1.4               0.2
    1                4.9               3.0                1.4               0.2
    2                4.7               3.2                1.3               0.2
    3                4.6               3.1                1.5               0.2
    4                5.0               3.6                1.4               0.2
    0    0
    1    0
    2    0
    3    0
    4    0
    dtype: int32

    很多时间图像更能直观反映出数据,接下来开始正题:

    from matplotlib import pyplot as plt
    import pandas as pd
    from sklearn import datasets
    from sklearn import preprocessing
    
    
    data = datasets.load_iris()#载入iris数据
    # data = preprocessing.scale(boston.data)#正则化数据
    pd.set_option('display.max_columns', None)
    d1_x = pd.DataFrame(data.data, columns=data.feature_names)
    d1_y = pd.Series(data.target)
    print(d1_x.head())
    print(d1_y.head())
    
    d1_x.plot(linestyle='--', marker='.', alpha=0.5) #DataFrame的画图方式,依赖于matplotlib
    d1_y.plot(linestyle='-', linewidth=1.5, alpha=0.5, color='b', label='type')
    plt.legend()
    plt.show()

    是不是很简单,和之前plt.plot()的画图几乎一样的,结果如下:

    从上图中,比较直观的我可以看出,sepal width与花种类关系不大,其它三个特征则关系密切,根据这个图像分析从而可以进行下一步。

    接下来,看看其它类型的图,由于这里数据不太适合条形图,那自己造一点数据吧:

    from matplotlib import pyplot as plt
    import pandas as pd
    import numpy as np
    
    d1 = pd.DataFrame(np.random.rand(5, 3), columns=['A', 'B', 'C'])
    
    # 方法一
    d1.plot.bar(cmap='summer')
    # 方法二
    #d1.plot(kind='bar', colormap='cool')
    plt.show()

    画条形图有两中方式,看代码,是不是很简单,其它图形就不全部都写出来了,方式都差不多,今天就到这里了。

  • 相关阅读:
    html(单纯html标签)
    python 知识点
    浅谈五大Python Web框架
    Python3的变化
    测试开发
    常见的测试用例设计方法
    数字数据类型及其对应转移字符
    char *p 与char p[]
    C语言运算符优先级 详细列表
    软件自动化测试
  • 原文地址:https://www.cnblogs.com/yifengjianbai/p/10267599.html
Copyright © 2011-2022 走看看