2016-02-01 2 views
2

У меня есть группа функций для воспроизведения каждого игрока и целевое значение в разных временных срезах. Я занимаюсь классификацией Scikit-learn. Чтобы сделать кросс-валидацию, я должен установить ограничение таким образом, что если образец повтора находится в наборе поезда, тогда не должно быть другого образца из этого повтора в тестовом наборе. Должен ли я определить функцию разделения данных, или я мог бы настроить функцию проверки сумасшествия в Scikit-learn?Настройка перекрестной проверки в scikit learn

Edit 1

Пусть моя матрица данных выглядит следующим образом: replayID, квант времени, и возможности для этого ряда. Также у меня есть массив, который включает метки классов.

   replayID Time_slice Features 
data=array([[ 100,  0.,  1.5,...], 
      [ 100,  1.,  3.7,...], 
      [ 100,  0.,  1.2,...], 
      [ 100,  1.,  1.8,...], 
      [ 100,  2.,  2.9,...], 
      [ 101,  0.,  1.5,...], 
      [ 101,  1.,  3.7,...], 
      [ 101,  0.,  1.2,...], 
      [ 101,  1.,  1.8,...], 
      [ 101,  2.,  2.9,...]]) 

мне требуется, если образец с replayID = 100 в обучающих данных, то нет никаких других образцов с replayID = 100 в тестовых данных. Кроме того, данные обучения должны составлять 80% данных и данных теста, 20%.

X = data[:, 1:] 
y = targets 
labels = data[:, 0] 
cv = LabelKFold(labels, n_folds=10) 
est = GradientBoostingClassifier(**params) 
for train, test in cv: 
    X_train = X[train] 
    y_train = y[train] 
    X_test = X[test] 
    est.fit(X_train, y_train) 
+0

Пожалуйста, укажите вашу проблему более четко, таким образом, что она не до интерпретации потенциальных, что вы отвечающие пытаетесь сделать. Как правило, пример кода был бы потрясающим, но здесь он может и не понадобиться. – eickenberg

ответ

1

Современные версии sklearn.cross_validation уже содержат версии для того, что вы спрашиваете, - те, которые содержат слово Label. НАПРИМЕР,

+0

Если я использую метод LabelKFold, как я могу разделить данные поезда и теста на 80% и 20% соответственно. – YNr

Смежные вопросы