机器学习入门-加载sklearn中数据并用matplotlib进行可视化

from sklearn import datasets
import matplotlib.pyplot as plt


def get_data():
    """
    从sklearn中获取鸢尾花的数据
    :return:  鸢尾花数据的字典,字典中包括的key有:【'data', 'target', 'target_names', 'DESCR', 'feature_names']
    简单介绍一下: data就是(150, 4)的数据集,target表示1位数组,数字0~2表示分类, target_names表示分类名,DESCR表示对数据的描述
    feature_names: 特征值名称
    """
    iris = datasets.load_iris()
    return iris


def draw_graph(iris_data):
    """
    获取两个维度的数据进行数据可视化,由于鸢尾花共有4个特征,在平面中只能绘制2个特征,所以获取特征1和特征2进行绘制
    :param: 鸢尾花的数据集
    :return:
    """
    X = iris_data.data[:, :2]
    target_names = iris_data.target_names
    print(target_names)
    print(iris_data.feature_names )
    y = iris_data.target
    plt.scatter(X[y == 0, 0], X[y == 0, 1], color='red', marker='o', label=target_names[0])
    plt.scatter(X[y == 1, 0], X[y == 1, 1], color='blue', marker='*', label=target_names[1])
    plt.scatter(X[y == 2, 0], X[y == 2, 1], color='green', marker='+', label=target_names[2])
    plt.legend()
    plt.title(u'Distribution of 3 different irises in length and width')
    plt.show()


if __name__ == '__main__':
    iris = get_data()
    draw_graph(iris)

运行结果:

方法学习:

1、在sklearn中所有的数据集都放在datasets模块里面,导入对应的数据直接用loadxx

2、在sklearn中load出来的数据是一个字典,直接可以用原始data.属性值获取对应的值,比如 data.feature_names就可以获取特征的名字

3、用matplotlib的时候, 多看官方文档 https://matplotlib.org/users/pyplot_tutorial.html

scatter表示随机的绘制点,marker也有不同的描述方法,可以在文档中看到

猜你喜欢

转载自blog.csdn.net/sxb0841901116/article/details/82978250