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也有不同的描述方法,可以在文档中看到