勾配部―スティング決定木のチューニングというアンサンブル学習で回帰予測を
実施しました。
#Numpyの配列に変換 y = np.array(dataset[target_col])#ターゲット変数 X = np.array(dataset[feature_cols])#説明変数 #bin output variable to split training and testing sets into two similar sets bins = np.arange(6) binned_y = np.digitize(y, bins) #トレーニングとテストでデータ分割 from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2,stratify=binned_y)
このデータ分割後に次のエラーとなります。
ValueError Traceback (most recent call last)
3 4 from sklearn.model_selection import train_test_split
----> 5 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2,stratify=binned_y)
2 frames
1657 class_counts = np.bincount(y_indices)
1658 if np.min(class_counts) < 2:
-> 1659 raise ValueError("The least populated class in y has only 1"
1660 " member, which is too few. The minimum"
1661 " number of groups for any class cannot"
ValueError: The least populated class in y has only 1 member, which is too few. The minimum number of groups for any class cannot be less than 2.
(上記のエラーの翻訳では、ValueError:yで最も人口の少ないクラスにはメンバーが1つしかなく、少なすぎます。クラスのグループの最小数は2未満にはできません。)
どのようにエラー回避したらよいでしょうか。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー