随机拆分数据集时的 numpy 索引



我正在通过他们的文档学习如何使用 numpy,并遇到了这个我不理解索引的例子:iris_X[索引[:-10]]

我想问一下索引[:-10]甚至[:-10]的作用。我查看了他们关于索引的文档,但没有更清楚的事情。

这是程序的整个最后部分,将提供更多上下文。

# Split iris data in train and test data
>>> # A random permutation, to split the data randomly
>>> np.random.seed(0)
>>> indices = np.random.permutation(len(iris_X))
>>> iris_X_train = iris_X[indices[:-10]]
>>> iris_y_train = iris_y[indices[:-10]]
>>> iris_X_test = iris_X[indices[-10:]]
>>> iris_y_test = iris_y[indices[-10:]]
>>> # Create and fit a nearest-neighbor classifier
>>> from sklearn.neighbors import KNeighborsClassifier
>>> knn = KNeighborsClassifier()
>>> knn.fit(iris_X_grain) 
KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',
metric_params=None, n_jobs=None, n_neighbors=5, p=2,
weights='uniform')
>>> knn.predict(iris_X_test)
array([1, 2, 1, 0, 0, 0, 2, 1, 2, 0])
>>> iris_y_test
array([1, 1, 1, 0, 0, 0, 2, 1, 2, 0])

非常感谢任何帮助。我认为这是一个重要的概念。

indices[:-10]的意思是"从后面开始到第十个计数"。看看这个例子

a = np.array([1,2,3,4,5,6,7,8])
print(a[:-2])
[1 2 3 4 5 6]

最新更新