基于sklearn乳腺癌数据集,编写代码训练一个逻辑回归模型,并给出accurary,recall,precision,F1和auc等分类模型精度指标
时间: 2024-03-01 14:55:29 浏览: 84
好的,以下是基于sklearn乳腺癌数据集,训练逻辑回归模型并给出各种分类模型精度指标的代码:
```python
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, recall_score, precision_score, f1_score, roc_auc_score
# 加载数据集
data = load_breast_cancer()
X = data.data
y = data.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 训练逻辑回归模型
lr = LogisticRegression()
lr.fit(X_train, y_train)
# 在测试集上进行预测
y_pred = lr.predict(X_test)
# 计算各种模型精度指标
acc = accuracy_score(y_test, y_pred)
rec = recall_score(y_test, y_pred)
pre = precision_score(y_test, y_pred)
f1 = f1_score(y_test, y_pred)
auc = roc_auc_score(y_test, y_pred)
# 输出结果
print('Accuracy: {:.4f}'.format(acc))
print('Recall: {:.4f}'.format(rec))
print('Precision: {:.4f}'.format(pre))
print('F1: {:.4f}'.format(f1))
print('AUC: {:.4f}'.format(auc))
```
在这里,我们使用了sklearn库中的LogisticRegression类来训练逻辑回归模型,并使用train_test_split函数将数据集分为训练集和测试集。然后,我们在测试集上对模型进行预测,并计算了accuracy_score、recall_score、precision_score、f1_score和roc_auc_score等模型精度指标。最后,我们输出了这些指标的结果。
请注意,这里的随机种子(random_state)是42,这是一种常用的随机种子。您可以根据需要更改随机种子。
阅读全文