我正在使用着名的虹膜数据集,并希望应用有监督的学习分类器。我的问题是我想在两个列功能上应用分类器。我想只有两个班而不是三个班。原始数据集每个样本有3个类和4个特征。当我只想选择两个功能并删除一个类时,我收到如下警告:
VisibleDeprecationWarning: boolean index did not match indexed array along dimension 0; dimension is 150 but corresponding boolean dimension is 100
我如何删除此警告?
我的代码如下:
import numpy as np
from sklearn import svm, datasets
iris = datasets.load_iris()
X = iris.data
y = iris.target
X, y = X[y != 2], y[y != 2]
X = iris.data[:, [2, 3]]
X, y = X[y != 2], y[y != 2]
X.shape
答案 0 :(得分:1)
虽然您重置了X:
,但您无法重置yX
此行y != 2
之后现在有150个条目长,而y仍然是100.然后使用import numpy as np
from sklearn import svm, datasets
iris = datasets.load_iris()
X = iris.data
y = iris.target
X, y = X[y != 2], y[y != 2]
X = iris.data[:, [2, 3]]
y = iris.target
X, y = X[y != 2], y[y != 2]
X.shape
的布尔数组进行索引,该数组长度为100个元素,因此出错。执行以下操作来解决此问题:
btnSpeak.setEnabled(true);
btnSpeak.invalidate();