如何解决VisibleDeprecation警告

时间:2017-04-20 21:51:02

标签: python class numpy scikit-learn label

我正在使用着名的虹膜数据集,并希望应用有监督的学习分类器。我的问题是我想在两个列功能上应用分类器。我想只有两个班而不是三个班。原始数据集每个样本有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

1 个答案:

答案 0 :(得分:1)

虽然您重置了X:

,但您无法重置y
X

此行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();