10.29

实验一:数据准备与模型评估

 

一、实验目的

熟悉 Python 的基本操作,掌握对数据集的读写实现、对模型性能的评估实现的能力;

加深对训练集、测试集、N 折交叉验证、模型评估标准的理解。

 

二、实验内容

1)利用 pandas 库从本地读取 iris 数据集;

2)从 scikit-learn 库中直接加载 iris 数据集;

3)实现折交叉验证进行模型训练;

4)计算并输出模型的准确度、精度、召回率和 F1 值。

 

三、算法步骤、代码、及结果

   1. 算法伪代码

 

   2. 算法主要代码

1)完整源代码

复制代码
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score
from sklearn.model_selection import cross_val_predict

from shujv import X, y
from xunlian import rf_classifier, kf

# 使用交叉验证预测
y_pred = cross_val_predict(rf_classifier, X, y, cv=kf)

# 计算各项指标
accuracy = accuracy_score(y, y_pred)
precision = precision_score(y, y_pred, average='macro')
recall = recall_score(y, y_pred, average='macro')
f1 = f1_score(y, y_pred, average='macro')

print(f"Accuracy: {accuracy:.2f}")
print(f"Precision: {precision:.2f}")
print(f"Recall: {recall:.2f}")
print(f"F1 Score: {f1:.2f}")

from sklearn.model_selection import KFold, cross_val_score
from sklearn.ensemble import RandomForestClassifier

from shujv import X, y

# 初始化随机森林分类器
rf_classifier = RandomForestClassifier(n_estimators=100)

# 初始化 KFold 交叉验证
kf = KFold(n_splits=5, shuffle=True, random_state=42)

# 进行交叉验证
scores = cross_val_score(rf_classifier, X, y, cv=kf)
print("Accuracy: %0.2f (+/- %0.2f)" % (scores.mean(), scores.std() * 2))
复制代码

3. 结果截图(包括:准确率;精度、召回率、F1

1)准确率:0.96

 

 

2)精度:0.96,召回率:096F10.96

 

 

posted @   奶油冰激凌  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示