学生实验报告
学生姓名 |
学号 |
组员: |
||||
实验项目 |
鸢尾花数据集分类 |
|||||
■必修 □选修 |
■设计性实验 □验证性实验 □操作性实验 □综合性实验 |
|||||
实验地点 |
实验仪器台号 |
|||||
指导教师 |
实验日期及节次 |
|||||
一、实验目的及要求
1、目的
利用鸢尾花数据集分类案例,使学生在实验过程中了解大数据技术中的机器学习任务,熟悉python程序的编写以及机器学习任务的一般流程,掌握数据处理的基本程序和基本方法。
2、内容及要求
掌握数据处理基本概念,熟悉python的基本程序和基本方法
(1) 熟悉python的编程环境,会安装python以及各种python库
(2)分析及查看数据集,掌握数据集的划分的方法,将数据集分为训练数据和测试数据
(3) 了解KNN算法,掌握机器学习库中的KNN对象以其常用方法的使用
(4) 了解机器学习任务的一般流程
(5) 撰写实验报告
二、实验工具
仪器名称 |
规格/型号 |
数量 |
备注 |
计算机 |
1 |
有网络环境 |
|
Python软件 |
1 |
||
三、实验方法与步骤
(一) 安装python编程环境,安装numpy、sklearn数据包
- 针对鸢尾花数据集,根据鸢尾花的特征实现未知花的分类预测
#导入包和数据
import numpy as np
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
#读取鸢尾花数据集
iris_data = load_iris()
print(type(iris_data))
print(iris_data['data'])
print("花的样本数量:{}".format(iris_data['data'].shape))
print("花的前5个样本数据:{}".format(iris_data['data'][:5]))
print(iris_data['target'])
print(iris_data['target_names'])
#构造训练数据和测试数据
X_train,X_test,y_train,y_test=train_test_split(iris_data['data'],\
iris_data['target'],test_size=0.3,random_state=0)
print(X_train)
print(X_train.shape)
print(X_test)
print(X_test.shape)
print(y_train)
print(y_train.shape)
#KNN模型和评估模型
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train,y_train)
y_pred = knn.predict(X_test)
print("模型精度:{:.2f}".format(np.mean(y_pred==y_test)))
print("模型精度:{:.2f}".format(knn.score(X_test,y_test)))
#未知鸢尾花种类预测
X_new=np.array([[5.8,3.6,1.3,0.5]])
prediction=knn.predict(X_new)</