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

随机拆分数据集时的Numpy索引,numpy,Numpy,我正在通过他们的文档学习如何使用numpy,遇到了这个我不理解索引的示例:iris_X[index[:-10]] 我想问一下索引[:-10]是做什么的,甚至[:-10]是做什么的。我查看了他们关于索引的文档,但没有更清楚地说明这一点 这是整个程序的最后一部分,将提供更多的上下文 # Split iris data in train and test data >>> # A random permutation, to split the data randomly >&

我正在通过他们的文档学习如何使用numpy,遇到了这个我不理解索引的示例:iris_X[index[:-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])

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

索引[:-10]
的意思是“从开始到第十次从后面计数”。看看这个例子

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

[1 2 3 4 5 6]

索引[:-10]
表示“从开始到第十次从后面开始计数”。看看这个例子

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

[1 2 3 4 5 6]

这是在他们的书中特别写的。“负指数被解释为从数组末尾开始计数”和“负
i
j
被解释为
n+i
n+j
,其中n是对应维度中的元素数。负
k
使步进朝更小的指数前进。”这是在他们的书中特别写的。“负指数被解释为从数组末尾开始计数”和“负
i
j
被解释为
n+i
n+j
,其中n是对应维度中的元素数。负
k
使步进朝更小的指数前进。”