5. 使用随机森林对鸢尾花分类,计算精确率、召回率和F值写出代码
时间: 2024-12-24 22:38:13 浏览: 9
TensorFlow.js实现鸢尾花种类预测
要在Python中使用sklearn库的RandomForestClassifier对鸢尾花数据集(Iris dataset)进行分类,并计算精确率、召回率和F1分数,首先需要加载数据并分割为训练集和测试集。这里是一个简单的示例:
```python
# 导入所需库
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report
# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建随机森林分类器
rf_classifier = RandomForestClassifier(n_estimators=100, random_state=42)
# 训练模型
rf_classifier.fit(X_train, y_train)
# 预测
y_pred = rf_classifier.predict(X_test)
# 计算并打印分类报告
report = classification_report(y_test, y_pred, target_names=iris.target_names)
print("Classification Report:\n", report)
# 提取精确率、召回率和F1分数
accuracy = report.split("\n")[0].split()[8]
precision = report.splitlines()[1].split()[8]
recall = report.splitlines()[2].split()[8]
print(f"精确率 (Precision): {precision}")
print(f"召回率 (Recall): {recall}")
print(f"F1分数 (F1 Score): {2 * precision * recall / (precision + recall)}")
```
注意,这个例子假设了你已经安装了`sklearn`库。运行上述代码,你会得到随机森林分类器在鸢尾花数据集上的性能指标。如果你没有安装sklearn,可以使用pip install scikit-learn命令进行安装。
阅读全文