学生实验报告
学生姓名 | 学号 | 组员: | ||||
实验项目 | 鸢尾花数据集分类 | |||||
■必修 □选修 | ■设计性实验 □验证性实验 □操作性实验 □综合性实验 | |||||
实验地点 | 实验仪器台号 | |||||
指导教师 | 实验日期及节次 | |||||
一、实验目的及要求
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)
print("预测的目标类别是:{}".format(prediction))
print("预测的目标花名是:{}".format(iris_data['target_names'][prediction]))
四、实验结果与数据处理
五、讨论与结论
- 难点:对数据集的理解和处理,构造训练数据和测试数据、利用函数进行数据处理分类,对专业术语的理解与记忆。
- 体会:通过进行数的处理分类,使我们可以根据鸢尾花的特征进行鸢尾花种类辨别,让大量数据轻松分析,让我深深感受到python编程软件的便捷。
- 通过本次实验,让我初步接触和应用python,了解到数据处理分类的基本方法,了解到大数据以及大数据的广泛应用性。
六、指导教师评语及成绩:
评语:
成绩: 指导教师签名:
批阅日期:
学生实验报告
学生姓名 | 学号 | 组员: | ||||
实验项目 | 泰坦尼克生存预测之缺失值处理 | |||||
■必修 □选修 | □设计性实验 ■验证性实验 □操作性实验 □综合性实验 | |||||
实验地点 | 实验仪器台号 | |||||
指导教师 | 实验日期及节次 |
一、实验目的及要求
1、目的
利用泰坦尼克生存预测之缺失值处理案例,使学生在实验过程中全面了解和熟悉大数据技术中的机器学习任务,掌握pandas概念,熟悉python程序的编写以及机器学习任务的一般流程,掌握数据处理的基本程序和基本方法。
2、内容及要求
掌握数据处理基本概念,熟悉python的基本程序和基本方法
(1) 熟悉python的编程环境,会安装python以及各种python库
(2) 分析及查看数据集,明白数据集中各个特征代表的意思,通过不同的方法进行填充
(3) 了解数据处理,掌握缺失值处理以其填充的几种方法的使用
(4) 了解缺失值处理的一般流程
(5) 撰写实验报告
二、实验工具
仪器名称 | 规格/型号 | 数量 | 备注 |
计算机 | 1 | 有网络环境 | |
python软件 | 1 | ||
三、实验方法与步骤
(一) 安装python编程环境,安装pandas,numpy、sklearn数据包
针对泰坦尼克数据集,根据数据集的特征完成缺失值的填充和数据处理
#导入包和数据
import pandas as pd
data=pd.read_csv('train.csv')
#print(data.head(5))
#print(data)
#print(data.Age)
#泰坦尼克生存预测之缺失值处理(缺失值的识别和判断)
print(data.isnull().any(axis=0))
print(data.isnull().sum(axis=0))
#缺失值的处理方法
#方法1.删除法
#删除无效列,drop默认删除行,列需要加axis=1
#删除缺失多的Cabin特征
data.drop(labels='Cabin',axis=1,inplace=True)
print(data.info())
#删除无关紧要的变量
data.drop(['PassengerId','Name','Ticket'],axis=1,inplace=True)
print(data.info())
#删除缺失行,根据Embarked变量,删除对应的缺失行
data.dropna(subset=['Embarked'],inplace=True)
print(data.info())
print(data.isnull().any(axis=0))
print(data.isnull().sum(axis=0))
#print(data,isnull(),sum())
#中位数填充缺失年龄
print(data.Age)
print(data.Age.describe())
print("年龄中的中位数是:",data.Age.median)
age_median=data.Age.median()
print(data.Age.median())
print(data.Age.mean())
print(data.Age.max())
print(data.Age.min())
data.Age.fillna(data.Age.median(),inplace=True)
print(data.Age)
print(data.Age.describe())
#knn算法来预测缺失年龄值
data.Sex=data.Sex.map({'male':1,'female':0})
data.drop(labels='Embarked',axis=1,inplace=True)
print(data)
#把数据集拆成两组
missing=data.loc[data.Age.isnull(),]
nomissing=data.loc[~data.Age.isnull(),]
print(nomissing)
print(missing)
四、实验结果与数据处理
五、讨论与结论
- 难点:对数据集的理解和处理,构造训练数据和测试数据、利用函数进行数据处理分类,对专业术语的理解与记忆。
- 体会:通过进行数的处理分类,使我们可以根据泰坦尼克生存预测之缺失值处理案例,让大量数据轻松分析,让我深深感受到python编程软件的便捷。
- 通过本次实验,让我初步接触和应用python,了解到数据处理分类的基本方法,掌握了对缺失值填充和处理方法,了解到大数据以及大数据的广泛应用性。
六、指导教师评语及成绩:
评语:
成绩: 指导教师签名:
批阅日期:
学生实验报告
学生姓名 | 学号 | 组员: | ||||
实验项目 | 乳腺癌良恶性预测 | |||||
□必修 □选修 | □设计性实验 □验证性实验 □操作性实验 □综合性实验 | |||||
实验地点 | 实验仪器台号 | |||||
指导教师 | 实验日期及节次 |
一、实验目的及要求
1、目的
利用乳腺癌良恶性预测案例,使学生在实验过程中了解大数据技术中的机器学习任务,熟悉python程序的编写以及机器学习任务的一般流程,掌握数据处理的基本程序和基本方法。利用机器学习算法实现乳腺癌数据集的二分类问题,良恶性乳腺癌肿瘤预测。
2、内容及要求
掌握数据处理基本概念,熟悉python的基本程序和基本方法
- 熟悉python的编程环境,会安装python以及各种python库
(2) 分析及查看数据集,掌握数据集的划分的方法,将数据集分为训练数据和测试数据
(3) 了解线性分类模型逻辑回归的一般流程
(4)学会如何用代码实现评估算法和图表显示
(5) 撰写实验报告
二、实验工具
仪器名称 | 规格/型号 | 数量 | 备注 |
计算机 | 1 | 有网络环境 | |
python软件 | 1 | ||
三、实验方法与步骤
(一) 安装python编程环境,安装numpy、pandas、matplotlib.pyplot、数据包
(二)针对数据集,利用机器学习算法实现乳腺癌数据集的二分类问题,良恶性乳腺癌肿瘤预测。
#导入包和数据
import numpy as np
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression,SGDClassifier
from sklearn.metrics import classification_report,accuracy_score
column_names = ['Sample code number','clump thickness','uniformity of cell size',\
'uniformity of cell shape','marginal adhesion',\
'single epithelial cell size','bare nuclei','bland chromatin',\
'normal nucleoli','mitnoses','class']
#读取数据集
print(data.head(4))
print(data.shape)
print(data.info())
print(data.describe())
print(data.groupby('class').size())
#缺失值处理
data=data.replace(to_replace='?',value=np.nan)
data=data.dropna(how='any')
print(data.shape)
#划分数据集并预测
x_train,x_test,y_train,y_test=train_test_split(data[column_names[1:10]],\
data[column_names[10]],\
test_size=0.25,\
random_state=5)
print(x_train.shape)
print(y_train.shape)
print(x_test.shape)
print(y_test.shape)
LR=LogisticRegression()
LR.fit(x_train,y_train)
LR_y_predict=LR.predict(x_test)
print('预测结果为:{}'.format(LR.score(x_test,y_test)))
print('预测结果为:{}'.format(accuracy_score(y_test,LR_y_predict)))
四、实验结果与数据处理
五、讨论与结论
1. 难点:对数据集的理解和处理,构造训练数据和测试数据、利用函数进行数据处理分类,对专业术语的理解与记忆。
2. 体会:通过进行数的处理分类,使我们可以根据乳腺癌实验学会对缺失值的处理和预测方法,让大量数据轻松分析,让我深深感受到python编程软件的便捷。
3. 通过本次实验,让我初步接触和应用python,了解到数据处理分类的基本方法,了解到大数据以及大数据的广泛应用性。
六、指导教师评
点评:
成绩: 指导教师签名:
批阅日期:
学生实验报告
学生姓名 | 学号 | 组员: | ||||
实验项目 | 散点图和折线图绘制 | |||||
□必修 □选修 | □设计性实验 □验证性实验 □操作性实验 □综合性实验 | |||||
实验地点 | 实验仪器台号 | |||||
指导教师 | 实验日期及节次 |
一、实验目的及要求
1、目的
利用散点图和折线图绘制案例,使学生在实验过程中了解大数据技术中的图形绘制过程与原理,熟悉python程序的编写以及画图的一般流程,掌握数据处理的基本程序和基本方法。
2、内容及要求
(1) 熟悉python的编程环境,会安装python以及各种python库
(2) 分析并学会编写代码
(3) 了解散点图和折线图绘制的原理和方法
(4) 学会设置图的标题和轴的范围
(5) 撰写实验报告
二、实验工具
仪器名称 | 规格/型号 | 数量 | 备注 |
计算机 | 1 | 有网络环境 | |
python软件 | 1 | ||
三、实验方法与步骤
(一) 安装python编程环境,安装numpy、matplotlib.pyplot数据包
(二) 针对实验要求,进行python程序的编写以及散点图和折线图的绘制
#导入包和数据
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']="SimHei"
plt.rcParams['axes.unicode_minus']=False
#绘制scatter案例图
plt.figure()
x=[1,2,3,4,5]
y=[1,4,9,16,25]
plt.plot(x,y,c="green",linewidth=4,label="折线图",marker='v')
#plt.scatter(x,y,s=200,c='red',marker='v')
plt.title("scatter案例",fontsize=20)
plt.xlim(0,20)
plt.ylim(0,40)
plt.xlabel("x轴",fontsize=12)
plt.ylabel("y轴",fontsize=12)
#plt.show()
#绘制正态分布图
plt.figure()
n=1024
x1=np.random.normal(0,1,n)
y1=np.random.normal(0,1,n)
plt.scatter(x1,y1,s=100,c='yellow',marker='*')
plt.title("正态分布",fontsize=20)
plt.xlim(-4,4)
plt.ylim(-4,4)
plt.xlabel("横坐标x轴",fontsize=12)
plt.ylabel("纵坐标y轴",fontsize=12)
#绘制双折线图
plt.figure()
n=24
y2=np.random.randint(27,37,n)
y3=np.random.randint(40,60,n)
plt.plot(y2,label="温度")
plt.plot(y3,label="湿度")
plt.xlim(0,23)
plt.ylim(20,70)
plt.legend()
plt.show()
四、实验结果与数据处理
五、讨论与结论
1. 难点:对图形绘制的python命令的编写,对专业术语的理解与记忆。
2. 体会:通过进行图形的处理分类,使我们可以根据图像类型的特征进行图像辨别,让大量数据轻松分析,让我深深感受到python编程软件的便捷。
3. 通过本次实验,让我初步接触和应用python,了解到绘制图像的基本方法,了解到大数据以及大数据的广泛应用性。
六、指导教师评语及成绩:
评语:
成绩: 指导教师签名:
批阅日期:
更多推荐
大一 大数据Python实验报告汇总
发布评论