Каков вес выборки в sklearn.model_selection.train_test_split - PullRequest
0 голосов
/ 05 июня 2018

В вероятностной калибровке классификаторов из scikit-learn, есть раздел кодов о train_test_split , который я не смог найти объяснения в документах.

centers = [(-5, -5), (0, 0), (5, 5)] X, y =
make_blobs(n_samples=n_samples, n_features=2, cluster_std=1.0,
                  centers=centers, shuffle=False, random_state=42)

y[:n_samples // 2] = 0 
y[n_samples // 2:] = 1 
sample_weight = np.random.RandomState(42).rand(y.shape[0])

# split train, test for calibration 
X_train, X_test, y_train, y_test, sw_train, sw_test = \
    train_test_split(X, y, sample_weight, test_size=0.9, random_state=42)
  1. Что делает sample_weight в train_test_split?

  2. Как обрабатывается исходный код train_test_split sample_weight?

Большое спасибо заранее.

1 Ответ

0 голосов
/ 05 июня 2018

train_test_split не просто берет x и y.Он может взять произвольную последовательность массивов, которые имеют одно и то же первое измерение, и разбить их случайным образом, но последовательно, на два набора вдоль этого измерения.

В вашем примере есть массив случайных весов (один вес на наблюдение)который разбивается на тренировочные и тестовые массивы, sw_train и sw_test.

Существует много причин для присвоения весов наблюдениям.Для дальнейшего обсуждения см .:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...