plot_decision_boundary参数的例子
时间: 2023-08-03 20:08:42 浏览: 128
好的,下面是一个关于plot_decision_boundary函数的例子,它用于绘制一个简单的二分类问题的决策边界:
```python
import numpy as np
import matplotlib.pyplot as plt
def plot_decision_boundary(model, X, y, cmap='RdBu', alpha=0.5, h=0.01, ax=None, title=None):
"""
绘制二维分类器的决策边界
"""
# 确定坐标系
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, h), np.arange(y_min, y_max, h))
# 预测决策边界
Z = model.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
# 绘制决策边界和训练数据
if ax is None:
fig, ax = plt.subplots(figsize=(8, 6))
ax.contourf(xx, yy, Z, cmap=cmap, alpha=alpha)
ax.scatter(X[:, 0], X[:, 1], c=y, cmap=cmap, edgecolor='k')
# 设置坐标轴和标题
ax.set_xlim(xx.min(), xx.max())
ax.set_ylim(yy.min(), yy.max())
ax.set_xlabel('x1')
ax.set_ylabel('x2')
if title is not None:
ax.set_title(title)
# 创建一些随机数据
np.random.seed(0)
X = np.random.randn(100, 2)
y = np.logical_xor(X[:, 0] > 0, X[:, 1] > 0)
# 训练一个简单的分类器
from sklearn.linear_model import LogisticRegression
clf = LogisticRegression()
clf.fit(X, y)
# 绘制决策边界
plot_decision_boundary(clf, X, y, cmap='RdBu', alpha=0.5, h=0.02, title='Logistic Regression')
```
上面的代码会生成一张图片,绘制了一个简单的二分类问题的决策边界。其中,X是一个二维数组,表示二维平面上的点的坐标;y是一个一维数组,表示每个点的真实标签;clf是一个训练好的逻辑回归分类器;cmap是一个字符串,指定绘图时使用的颜色映射;alpha是一个浮点数,指定绘制的透明度;h是一个浮点数,指定绘制的分辨率;ax是一个matplotlib.axes.Axes对象,指定绘制的坐标系;title是一个字符串,指定绘制的标题。
阅读全文