程序功能
使用随机森林模型对digits数据集进行手写数字分类任务。具体步骤如下:
加载数据:从digits数据集中获取手写数字图片的特征和对应的标签。
划分数据:将数据集分为训练集和测试集,测试集占30%。
训练模型:使用随机森林算法训练分类模型。
进行预测:使用训练好的模型对测试集进行预测。
评估模型:输出模型的分类准确率和详细的分类报告,评估模型的分类效果。
代码
# 导入所需的库
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)))