用python + matplotlib,随机生成100个点,分布于 -2≤x≤2,-2≤y≤2 的二维矩形区域内,将单位元内样本设置成+1正例样本,其他设置成负例-1样本,并画出分割超平线用plot绘制出来,正例用蓝色小圆圈或原点,负例用红色x。
时间: 2024-05-03 11:21:57 浏览: 191
可直接运行 基于Python numpy matplotlib 创建一个简单的红色直方图 运行后直接出图 含PDF图像.rar
以下是实现代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 随机生成100个点
np.random.seed(123)
X = np.random.uniform(-2, 2, size=(100, 2))
# 将单位元内样本设置成 1正例样本,其他设置成负例-1样本
y = np.ones(len(X))
y[(X[:, 0] <= 1) & (X[:, 0] >= -1) & (X[:, 1] <= 1) & (X[:, 1] >= -1)] = -1
# 绘制散点图
plt.scatter(X[y == 1, 0], X[y == 1, 1], color='blue', marker='o')
plt.scatter(X[y == -1, 0], X[y == -1, 1], color='red', marker='x')
# 画出分割超平线
x_axis = np.linspace(-2, 2, 100)
y_axis = -(x_axis * 0.5)
plt.plot(x_axis, y_axis, color='green')
# 显示图形
plt.show()
```
运行结果如下所示:
![image.png](attachment:image.png)
阅读全文