机器学习:从sklearn中加载数据

一、sklearn模块

  1. sklearn模块下有很多子模块,常用的数据集在:sklearn.datasets模块下;
  2. 通过数据集中DESCR来查看数据集的文档;
  3. 从datasets中加载数据:
    import numpy as np
    import matplotlib as mpl
    import matplotlib.pyplot as plt
    from sklearn import datasets
    
    # 查看datasets中的数据,一般格式为:datasets.load_ + 数据集的名称(按Tab键可选择);
    iris = datasets.load_iris()
    
    # 看到数据集中的内容种类,格式:数据集变量.keys()
    iris.keys()
    # 输出:dict_keys(['data', 'target', 'target_names', 'DESCR', 'feature_names'])
    # 则load_iris()数据集中有['data', 'target', 'target_names', 'DESCR', 'feature_names']内容;
    # data:数据的具体数值;
    # DESCR:数据集的文档;
    # feature_name:特征名称;
    # target:样本类别,是图标中的纵轴label,也即是样本的标记;
    # target_names:样本类别数值的具体意思,一般target为数值,target_names为解释这些数值的语言;
    
    # 查看数据集中的各类内容,格式:数据集变量.数据类别
    iris.data
  4. 可视化数据:只能绘制二维数据;
    # 取前两列/种特征值
    X = iris.data[:, :2]
    
    # 对两列数据绘散点图,两列特征值分别为横轴和纵轴
    plt.scatter(X[:, 0], X[:, 1])
    plt.show()
  5. 按target类型对散点图的点着色并显示:(y == 0返回一个布尔数组,此处目的是选取target = 0的行,即0类的样本)
    y = iris.target
    # marker表示点的样式
    plt.scatter(X[y == 0, 0], X[y == 0, 1], color = 'red', marker = "o")
    plt.scatter(X[y == 1, 0], X[y == 1, 1], color = 'blue', marker = "+")
    plt.scatter(X[y == 2, 0], X[y == 2, 1], color = 'green', marker = "x")
    plt.show()
  6. 如果所选的特征类型绘制出的散点图区别不明显,可以尝试选择其它特征进行绘图;
原文地址:https://www.cnblogs.com/volcao/p/9071991.html