web-dev-qa-db-ja.com

scikitでトレインテストスプリットを使用しながらインデックスを取得する

データをトレーニングデータとテストデータに別々に分割するために、

sklearn.cross_validation.train_test_split 関数。

データとラベルをリストのリストとしてこの関数に提供すると、トレーニングデータとテストデータが2つの別々のリストで返されます。

元のデータリストからトレインとテストのデータ要素のインデックスを取得したいと思います。

誰かがこれで私を助けることができますか?

前もって感謝します

13
theegala

追加の引数としてインデックスベクトルを指定できます。 sklearn の例を使用すると:

import numpy as np
from sklearn.cross_validation import train_test_split
X, y,indices = (0.1*np.arange(10)).reshape((5, 2)),range(10,15),range(5)
X_train, X_test, y_train, y_test,indices_train,indices_test = train_test_split(X, y,indices, test_size=0.33, random_state=42)
indices_train,indices_test
#([2, 0, 3], [1, 4])
21