使用cross_val_socre的用法,计算accurary跟f1,给出python代码
时间: 2024-01-22 18:20:13 浏览: 89
使用 `cross_val_score` 来计算模型的准确率和 F1 分数可以非常方便,下面给出一个 Python 代码示例:
```python
from sklearn.model_selection import cross_val_score
from sklearn.metrics import make_scorer, accuracy_score, f1_score
from sklearn.linear_model import LogisticRegression
# 加载数据
X, y = load_data()
# 创建模型
model = LogisticRegression()
# 计算准确率
accuracy = cross_val_score(model, X, y, cv=5, scoring=make_scorer(accuracy_score))
print("Accuracy: %0.2f (+/- %0.2f)" % (accuracy.mean(), accuracy.std() * 2))
# 计算 F1 分数
f1 = cross_val_score(model, X, y, cv=5, scoring=make_scorer(f1_score))
print("F1 score: %0.2f (+/- %0.2f)" % (f1.mean(), f1.std() * 2))
```
这里使用的是逻辑回归模型,可以根据需要替换为其他模型。`cross_val_score` 函数中的 `cv` 参数表示使用交叉验证的折数,这里使用了 5 折交叉验证。`scoring` 参数则表示评估指标,可以使用 `make_scorer` 来创建自定义的评估指标函数。在这里,我们分别使用了 `accuracy_score` 和 `f1_score` 来计算准确率和 F1 分数。最后,使用 `mean()` 和 `std()` 函数来计算均值和标准差。
阅读全文