推荐参考书:[1] 范淼, 李超. Python 机器学习及实践, 清华大学出版社. [2] Peter Harrington. 机器学习实战, 人民邮电出版社。 《机器学习 B 实验任务书 1》 一、上机安排 时间 地点 第 10 周周一 2023.11.06 第 6-7 节 九实 4-3、4-4 第 11 周周一 2023.11.13 第 6-7 节 九实 4-3、4-4 第 12 周周一 2023.11.20 第 6-7 节 九实 4-3、4-4 第 13 周周一 2023.11.27 第 6-7 节 九实 3-6、327、504 第 14 周周一 2023.12.04 第 6-7 节 九实 3-6、327、504 第 15 周周一 2023.12.11 第 6-7 节 九实 3-6、327、504 第 16 周周一 2023.12.18 第 6-7 节 九实 3-6、327、504 第 17 周周一 2023.12.25 第 6-7 节 九实 3-6、327、504 二、上机实验:数据准备与模型评估 数据准备与模型评估 数据准备与模型评估 1、实验目的 熟悉 Python 的基本操作,掌握对数据集的读写实现、对模型性能的评估实现的能力; 加深对训练集、测试集、N 折交叉验证、模型评估标准的理解。 2、实验内容 (1)利用 pandas 库从本地读取 iris 数据集; (2)从 scikit-learn 库中直接加载 iris 数据集; (3)实现五折交叉验证进行模型训练; (4)计算并输出模型的准确度、精度、召回率和 F1 值。 3、操作要点 (1)安装 Python 及 pycharm(一种 Python 开发 IDE),并熟悉 Python 基本操作; (2)学习 pandas 库里存取文件的相关函数,以及 scikit-learn 库里数据集下载、交叉验 证、模型评估等相关操作; (3)可能用的库有 pandas,scikit-learn,numpy 等,需要提前下载 pip; (4)测试模型可使用随机森林 rf_classifier = RandomForestClassifier(n_estimators=100), 或其它分类器; (5)撰写实验报告,提交源代码;实验报告在所有上机实验结束后提交。 4、主要仪器设备 微机及 Python 软件。 Tips:(1)Python 对代码格式十分敏感,务必注意缩进、空格等不规范操作; (2)用到的库需要提前加载,例如 import pandas as pd import numpy as np from sklearn.datasets import load_iris from sklearn.model_selection import cross_val_score, KFold, cross_val_predict ……
from sklearn.datasets import load_iris from sklearn.model_selection import cross_val_score, cross_val_predict from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score from sklearn.model_selection import StratifiedKFold # 加载 iris 数据集 iris = load_iris() X = iris.data y = iris.target # 创建随机森林分类器 rf_classifier = RandomForestClassifier(n_estimators=100) # 创建五折交叉验证对象 cv = StratifiedKFold(n_splits=5, shuffle=True, random_state=3) # 进行交叉验证 accuracy_scores = cross_val_score(rf_classifier, X, y, cv=cv, scoring='accuracy') precision_scores = cross_val_score(rf_classifier, X, y, cv=cv, scoring='precision_macro') recall_scores = cross_val_score(rf_classifier, X, y, cv=cv, scoring='recall_macro') f1_scores = cross_val_score(rf_classifier, X, y, cv=cv, scoring='f1_macro') # 输出结果 print("Accuracy(准确度):", accuracy_scores.mean()) print("Precision(精确度):", precision_scores.mean()) print("Recall(召回率):", recall_scores.mean()) print("F1 Score(F1值):", f1_scores.mean()) # 23/11/14 # 08:29
标签:总结,iris,20231114,val,cross,学习,score,import,cv From: https://www.cnblogs.com/xxaxf/p/17830802.html