Matplotlib 绘制逻辑回归决策边界

Matplotlib 绘制逻辑回归决策边界

逻辑回归是一种常用的分类算法,它假设了特征和标签之间的关系是一个逻辑函数。在训练完一个逻辑回归模型之后,我们可以使用它来预测新的样本的分类。但是,对于可视化来说,绘制逻辑回归的决策边界可以直观地展示模型是如何进行分类的。

在这篇文章中,我们将介绍如何使用Matplotlib库绘制一个逻辑回归模型的决策边界。我们将会使用Scikit-learn库生成一些样本数据,并使用逻辑回归算法来对其进行分类。接着,我们将使用Matplotlib库来绘制这个逻辑回归模型的决策边界。

阅读更多:Matplotlib 教程

生成样本数据

在这个例子中,我们将使用Scikit-learn库的make_blobs函数来生成一些随机的二维数据。下面的代码将生成200个随机的样本,并将它们分为两个不同的类别。

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs

# 生成200个随机样本
X, y = make_blobs(n_samples=200, centers=2, random_state=42)

# 绘制生成的数据
plt.scatter(X[:, 0], X[:, 1], c=y, cmap='coolwarm')
plt.show()

运行上面的代码,我们将得到以下的散点图

我们可以看到,我们生成的数据分为两个类别,一个类别用红色表示,另一个用蓝色表示。

训练逻辑回归模型

接下来,我们将使用Scikit-learn库的LogisticRegression类来训练逻辑回归模型。我们需要训练该模型以获得与生成的数据相符的决策边界。

from sklearn.linear_model import LogisticRegression

# 训练逻辑回归模型
clf = LogisticRegression(random_state=0)
clf.fit(X, y)

上述代码将训练一个逻辑回归模型,它将学习如何对数据集中的每个样本进行分类。现在,我们已经有了一个训练好的模型,但要想图形化地展示它,我们需要首先绘制决策边界。

绘制决策边界

逻辑回归模型的决策边界是分类模型在两个类别之间进行分类的一种形式。具体而言,它是一个定义分类边界的曲线。我们可以使用上面训练好的逻辑回归模型来确定这个决策边界的位置。

在Matplotlib中,绘制逻辑回归模型的决策边界的步骤如下:

  1. 创建一个网格,它将包含决策边界。
  2. 计算每个网格点的预测值。
  3. 根据预测值绘制决策边界。
# 设置网格边界
x_min, x_max = X[:, 0].min() - 0.5, X[:, 0].max() + 0.5
y_min, y_max = X[:, 1].min() - 0.5, X[:, 1].max() + 0.5
xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.02),
                     np.arange(y_min, y_max, 0.02))

# 计算每个网格点的预测值
Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])

# 绘制决策边界
Z = Z.reshape(xx.shape)
plt.contourf(xx, yy, Z, cmap='coolwarm', alpha=.8)
plt.scatter(X[:, 0], X[:, 1], c=y, cmap='coolwarm')
plt.show()

运行上面的代码,我们将得到以下的决策边界图像

我们可以看到,逻辑回归模型的决策边界是一条曲线,它分隔了数据集中的两个不同类别。

总结

在这篇文章中,我们使用了Scikit-learn和Matplotlib库来生成一个逻辑回归模型,并绘制了它的决策边界。这个决策边界可以让我们直观地了解模型如何分类数据集。这是可视化机器学习模型的一个很好的例子,它可以帮助我们更好地理解我们所训练的分类器的行为方式。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程