如何用numpy修复“数组索引过多”错误?

时间:2019-04-12 14:23:56

标签: python numpy

我想研究如何通过适当的核函数转换后,R ^ 2中的线性不可分数据集如何在R ^ 3中线性可分。

def randrange(n, vmin, vmax):
    return (vmax-vmin)*np.random.rand(n) + vmin

def fn_kernel(x1, x2):
    """ Implements a kernel phi(x1,y1) = [x1, y1, x1^2 + y1^2] """
    return np.array([x1, x2, x1**2.0 + x2**2.0])

""" Generate linearly nonseparable dataset (in R^2) """

我将数据集转换为PCA。

pca = PCA(n_components=2)  
X = pca.fit_transform(X_train)  
Y = pca.transform(X_test)  

要打印X和Y:

print(X)
[[-1.25822621 -0.10589429]
[ 1.14574408  0.50555968]
[ 1.53943153 -0.89326919]
[-1.50951157 -0.35717965]
[ 0.58873174 -0.94771082]
[ 0.50077128  1.6531032 ]
[-1.00694085  0.14539106]]


print(Y)
[[-1.76079692 -0.608465  ]
[-0.00179943  1.15053249]
[-0.05624106  0.1998327 ]]

在这里它返回一个空列表,我不知道为什么?

A = X[np.where(Y == 0)]
B = X[np.where(Y == 1)]
print(A) -> []
print(B) -> []

当我在下面的代码中运行此代码时:

X0_orig = A[:, 0]
Y0_orig = A[:, 1]

这给我一个错误:数组的索引过多。

0 个答案:

没有答案