如何使用Python和scikit-learn库来绘制鸢尾花数据集上逻辑回归模型的混淆矩阵?请提供详细的代码和解释。
时间: 2024-11-01 18:13:35 浏览: 1
为了帮助你绘制鸢尾花数据集上逻辑回归模型的混淆矩阵,我推荐你查看这份资料:《Python实现与鸢尾花数据集的混淆矩阵可视化》。这份资料将会引导你完成整个流程,从数据集加载到模型训练,再到最终的混淆矩阵绘制。
参考资源链接:[Python实现与鸢尾花数据集的混淆矩阵可视化](https://wenku.csdn.net/doc/6xr7gganpx?spm=1055.2569.3001.10343)
首先,确保你已经安装了`numpy`, `sklearn`和`matplotlib`库。接下来,我们将使用`load_iris`函数加载鸢尾花数据集,并利用`train_test_split`函数将其分为训练集和测试集。然后,创建逻辑回归模型,训练模型,并使用测试集数据进行预测。最后,使用`confusion_matrix`函数计算混淆矩阵,并通过`plot_confusion_matrix`函数将其可视化。
以下是一个示例代码,展示了上述过程:
```python
import numpy as np
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
# 加载数据集
iris = load_iris()
X, y = iris.data, iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 创建逻辑回归模型
model = LogisticRegression()
# 训练模型
model.fit(X_train, y_train)
# 使用测试集进行预测
y_pred = model.predict(X_test)
# 计算混淆矩阵
cm = confusion_matrix(y_test, y_pred)
# 绘制混淆矩阵
def plot_confusion_matrix(cm, classes, normalize=False, title='Confusion matrix', cmap=plt.cm.Blues):
plt.imshow(cm, interpolation='nearest', cmap=cmap)
plt.title(title)
plt.colorbar()
tick_marks = np.arange(len(classes))
plt.xticks(tick_marks, classes, rotation=45)
plt.yticks(tick_marks, classes)
if normalize:
cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]
print(
参考资源链接:[Python实现与鸢尾花数据集的混淆矩阵可视化](https://wenku.csdn.net/doc/6xr7gganpx?spm=1055.2569.3001.10343)
阅读全文