make_blobs 没有 Sklearn
make_blobs without Sklearn
我想准确地编写这段代码,但没有导入 Sklearn :
from sklearn.datasets import make_blobs
X_Train, Y_Train = make_blobs(n_samples=100, n_features=2, centers=2, random_state=0)
您实际上可以检查 source code 以生成 blob。在里面你可以找到制作矩阵的零件。
理论上,一种方法是生成具有 2 个不同均值和相似标准差的 multivariate normal distribution,例如如果只有 2 个相关特征,您可以设置均值
import matplotlib.pyplot as plt
import numpy as np
means = [[1,1],[3,3]]
covs = [[0.5,0],[0,0.5]]
n = 100
np.random.seed(1223)
X = np.vstack([np.random.multivariate_normal(i, covs, n) for i in means])
y = np.repeat([0,1],n)
plt.scatter(X[:,0], X[:,1],c = y)
plt.axis('equal')
plt.show()
我想准确地编写这段代码,但没有导入 Sklearn :
from sklearn.datasets import make_blobs
X_Train, Y_Train = make_blobs(n_samples=100, n_features=2, centers=2, random_state=0)
您实际上可以检查 source code 以生成 blob。在里面你可以找到制作矩阵的零件。
理论上,一种方法是生成具有 2 个不同均值和相似标准差的 multivariate normal distribution,例如如果只有 2 个相关特征,您可以设置均值
import matplotlib.pyplot as plt
import numpy as np
means = [[1,1],[3,3]]
covs = [[0.5,0],[0,0.5]]
n = 100
np.random.seed(1223)
X = np.vstack([np.random.multivariate_normal(i, covs, n) for i in means])
y = np.repeat([0,1],n)
plt.scatter(X[:,0], X[:,1],c = y)
plt.axis('equal')
plt.show()