使用随机森林模型在digits数据集上执行分类任务

程序功能

使用随机森林模型对digits数据集进行手写数字分类任务。具体步骤如下:

加载数据:从digits数据集中获取手写数字图片的特征和对应的标签。

划分数据:将数据集分为训练集和测试集,测试集占30%。

训练模型:使用随机森林算法训练分类模型。

进行预测:使用训练好的模型对测试集进行预测。

评估模型:输出模型的分类准确率和详细的分类报告,评估模型的分类效果。

代码

python 复制代码
# 导入所需的库
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score, classification_report

# 加载digits数据集
digits = load_digits()
X = digits.data  # 特征
y = digits.target  # 标签

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 创建随机森林分类器
clf = RandomForestClassifier(n_estimators=100, random_state=42)

# 训练模型
clf.fit(X_train, y_train)

# 预测测试集
y_pred = clf.predict(X_test)

# 评估模型
accuracy = accuracy_score(y_test, y_pred)
print(f"准确率: {accuracy:.2f}")

# 打印分类报告
print("分类报告:")
print(classification_report(y_test, y_pred, target_names=digits.target_names.astype(str)))
相关推荐
拼命鼠鼠3 分钟前
【算法】矩阵链乘法的动态规划算法
算法·矩阵·动态规划
LYFlied19 分钟前
【每日算法】LeetCode 17. 电话号码的字母组合
前端·算法·leetcode·面试·职场和发展
式5161 小时前
线性代数(八)非齐次方程组的解的结构
线性代数·算法·机器学习
橘颂TA2 小时前
【剑斩OFFER】算法的暴力美学——翻转对
算法·排序算法·结构与算法
叠叠乐2 小时前
robot_state_publisher 参数
java·前端·算法
hweiyu002 小时前
排序算法:冒泡排序
算法·排序算法
brave and determined2 小时前
CANN训练营 学习(day9)昇腾AscendC算子开发实战:从零到性能冠军
人工智能·算法·机器学习·ai·开发环境·算子开发·昇腾ai
Dave.B3 小时前
用【vtk3DLinearGridCrinkleExtractor】快速提取3D网格相交面
算法·3d·vtk
yaoh.wang3 小时前
力扣(LeetCode) 1: 两数之和 - 解法思路
python·程序人生·算法·leetcode·面试·跳槽·哈希算法
Code Slacker3 小时前
LeetCode Hot100 —— 滑动窗口(面试纯背版)(四)
数据结构·c++·算法·leetcode