第六次
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)





浙公网安备 33010602011771号