iris绘制roc曲线代码
时间: 2024-11-25 10:20:18 浏览: 7
利用scikitlearn画ROC曲线实例
Iris数据集是一个常用的分类问题示例,其中包含三种鸢尾花的数据。在Python中,我们可以使用sklearn库来绘制ROC曲线。以下是一个简单的例子:
```python
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import roc_curve, auc
import matplotlib.pyplot as plt
# 加载Iris数据集
iris = load_iris()
X = iris.data[:, :2] # 我们只取前两个特征作为输入
y = iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=42)
# 使用Logistic回归模型
model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
# 预测概率
y_scores = model.predict_proba(X_test)[:, 1]
# 计算真正率(TPR)和假正率(FPR),并计算AUC值
fpr, tpr, _ = roc_curve(y_test, y_scores)
roc_auc = auc(fpr, tpr)
# 绘制ROC曲线
plt.figure()
plt.plot(fpr, tpr, label='ROC curve (area = %0.2f)' % roc_auc)
plt.plot([0, 1], [0, 1], 'k--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic')
plt.legend(loc="lower right")
plt.show()
阅读全文