第六次

import numpy
from sklearn.datasets import load_iris

# 2. 从sklearn包自带的数据集中读出鸢尾花数据集data
iris_data = load_iris()

# 3.查看data类型,包含哪些数据
print("数据类型: ", type(iris_data))
print("包含数据: ", iris_data.keys())  # 看包含哪些数据

# 4.取出鸢尾花特征和鸢尾花类别数据,查看其形状及数据类型
iris_target = iris_data['target'], iris_data['feature_names']
print("形状及数据类型: ", iris_target)

# 5.取出所有花的花萼长度(cm)的数据
iris_len = numpy.array({'length': list(len[0] for len in iris_data['data'])})
print("所有花萼长度: ", iris_len)

# 6.取出所有花的花瓣长度(cm)+花瓣宽度(cm)的数据
petal_len = numpy.array(list(len[2] for len in iris_data['data']))  # 取花瓣长
petal_len.resize(30, 5)
petal_wid = numpy.array(list(wid[3] for wid in iris_data['data']))  # 取花瓣宽
petal_wid.resize((30, 5))
petal_len_wid = numpy.array(dict(length=petal_len, width=petal_wid))  # 形成新数组
print("花瓣长宽: ", petal_len_wid)

# 7.取出某朵花的四个特征及其类别
print("某朵花数据: ", iris_data['data'][0], iris_data['target'][0])

# 8.将所有花的特征和类别分成三组,每组50个

iris_setosa = []

iris_versicolor = []

iris_virginica = []

# 用for循环分类,根据观察可知当target为0时对应setosa类型,1为versicolor,2为virginica
for i in range(0, 150):
    if iris_data['target'][i] == 0:
        data = iris_data['data'][i].tolist()
        data.append('setosa')
        iris_setosa.append(data)
    elif iris_data['target'][i] == 1:
        data = iris_data['data'][i].tolist()
        data.append('versicolor')
        iris_versicolor.append(data)
    else:
        data = iris_data['data'][i].tolist()
        data.append('virginica')
        iris_virginica.append(data)

# 9.生成新的数组,每个元素包含四个特征+类别
iris_result = numpy.array([iris_setosa, iris_versicolor, iris_virginica])

print("分类结果", iris_result)

  

posted @ 2018-10-29 11:33  无名之辈qaq  阅读(331)  评论(0编辑  收藏  举报