使用ROC指标的交叉验证来衡量分类器

问题描述 投票:1回答:1

我正在尝试使用ROC指标进行交叉验证来评估分类器,我发现以下来自Scikit的代码学习:

# Import some data to play with
iris = datasets.load_iris()
X = iris.data
y = iris.target
X, y = X[y != 2], y[y != 2]
n_samples, n_features = X.shape

我无法理解X,y = X[y!=2],y[y!=2]线,这条线的目的是什么?

此外,有人可以帮助我澄清使用下划线n_samples, n_features

谢谢!

python-3.x scikit-learn roc
1个回答
2
投票

Iris数据集有三个标记为0,1,2的类。当您看到X, y = X[y != 2], y[y != 2]时,它只表示X和y的新值不包含带有标签2的类的记录。

下面是它的工作原理。 y != 2返回一个等于y长度的布尔向量,当y为0或1时包含True,而根据给定条件y!= 2,则返回False,其中y为2。 [True, False, False, ...]。它有时也被称为面具。

y[y != 2]是基于布尔的索引,它返回一个由y元素组成的新数组,其中y不是2。结果数组不包含2。

最后,X[y != 2]返回一个新的数组X,其中的元素对应于掩码的True值。

由于X和y具有相同的长度,因此对其应用相同的掩模非常有效,并且在这种情况下,有效地删除了具有类标签2的所有记录。

现在,为了从数据集中删除整个类 - 这是您应该在阅读的教程中查找的内容。

X.shape返回一个元组,其中包含数据帧中的行数和列数。这就是数据科学家所称的样本和特征。

© www.soinside.com 2019 - 2024. All rights reserved.