在scikit-learn的probability calibration of classifiers中,有一段关于train_test_split的代码,我在文档中找不到解释。
insert into order_information(donut_order_id, order_date, special_handling_notes) values(1, '2018-01-01', 'do not eat any of them on the way');
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)
中的sample_weight
做了什么?
train_test_split
处理train_test_split
的源代码如何?
提前多多感谢。
答案 0 :(得分:3)
train_test_split
并不只是x
和y
。它可以采用具有相同第一维的任意数组序列,并将它们随机分割,但始终如一地沿着该维度分成两组。
在您的示例中,有一组随机权重(每次观察一个权重),它被分成训练和测试数组,sw_train
和sw_test
。
为观察分配权重的原因有很多。有关进一步的讨论,请参阅: