用于启动test_train_split的数组切片表示法?

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

我正在研究基于Iris数据集的机器学习教程:

    sepal-length  sepal-width  petal-length  petal-width        class
0            5.1          3.5           1.4          0.2  Iris-setosa
1            4.9          3.0           1.4          0.2  Iris-setosa
2            4.7          3.2           1.3          0.2  Iris-setosa
...(146 more rows)

数据集最终被分成两个独立的数组,X和Y,并输入test_train_split

array = dataset.values
X = array[:,0:4]
Y = array[:,4]
validation_size = 0.20
seed = 7
X_train, X_validation, Y_train, Y_validation = train_test_split(X, Y,
    test_size=validation_size, random_state=seed)

我正在尝试理解数组切片表示法:

X = array[:,0:4]
Y = array[:,4]

这些切片命令究竟产生了什么?

python numpy scikit-learn slice
1个回答
1
投票
X = array[:,0:4]

X是一个二维数组,包含array中的所有行,以及第1列,第2列,第3列和第4列([0:4] - sepal-lengthsepal-widthpetal-lengthpetal-width)。它的形状将是(len(array), 4)


Y = array[:, 4]

Y是包含array中所有行的2D数组,仅包含第5列(class)。它的形状是(len(array),1)


X将数值数据提取为训练数据(第0-3列),而Y仅提取相应的标签(第4列)。

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