【发布时间】:2021-08-24 14:45:00
【问题描述】:
我正在尝试制作这样的情节
有了@Whole Brain's help,我知道了
使用此代码
X, y = make_circles(100, random_state=96867, factor=.1, noise=.1)
red_mask = y==0
plt.scatter(X[red_mask, 0], X[red_mask, 1], s=50, facecolors="none", edgecolors="r")
plt.scatter(X[~red_mask, 0], X[~red_mask, 1], s=50, marker="+", c="b")
但是,当我尝试将数据投影到 3d 时
r = np.exp(-(X ** 2).sum(1))
ax = plt.subplot(projection='3d')
ax.scatter3D(X[red_mask, 0], X[red_mask, 1], facecolors="none", edgecolors="r")
ax.scatter3D(X[~red_mask, 0], X[~red_mask, 1], marker="+", c="b")
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('r')
plt.show()
我知道了
这似乎意味着径向基函数r = np.exp(-(X ** 2).sum(1)) 根本不起作用。
如何获得将非线性可分数据投影为线性可分的正确径向基函数?
【问题讨论】:
-
您是在问如何制作一些数据(符合第一个 3-d 图)?或者您对您的数据感到满意并想知道如何更改/旋转您的绘图?您的 minimal reproducible example 不包括
make_circles- 我们不知道那是什么 - 我们需要能够重现您的数据和问题。 -
可能是
sklearn.datasets.make_circles
标签: python machine-learning data-mining