Learning_curveの挙動
解決したいこと
sklearnのlearning_curveを使おうとしたところ正しいはずの設定を受け入れてもらえません。解決策を教えてください。
発生している問題・エラー
TypeError: learning_curve() got an unexpected keyword argument 'cv'
例)
NameError (uninitialized constant World)
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
該当するソースコード
from sklearn.model_selection import learning_curve
def learning_curve(X):
params = {'num_leaves': 213, 'max_depth': 83, 'learning_rate': 0.02389124862359534, 'n_estimators': 252, 'min_child_samples': 96, 'subsample': 0.35136941304074315, 'colsample_bytree': 0.40299266661649324, 'reg_alpha': 27.11897263840057, 'reg_lambda': 1.0900074255522185}
estimator = lgb.LGBMClassifier(**params)
train_sizes, train_scores, test_scores = learning_curve(estimator, X, y, cv=10, random_state=42, shuffle=True)
train_scores_mean = np.mean(train_scores, axis=1)
train_scores_std = np.std(train_scores, axis=1)
test_scores_mean = np.mean(test_scores, axis=1)
test_scores_std = np.std(test_scores, axis=1)
plt.figure()
plt.title("Learning Curve")
plt.xlabel("Training set size")
plt.ylabel("Score")
# Traing score と Test score をプロット
plt.plot(train_sizes, train_scores_mean, 'o-', color="r", label="Training score")
plt.plot(train_sizes, test_scores_mean, 'o-', color="g", label="Test score")
# 標準偏差の範囲を色付け
plt.fill_between(train_sizes, train_scores_mean - train_scores_std, train_scores_mean + train_scores_std, color="r", alpha=0.2)
plt.fill_between(train_sizes, test_scores_mean - test_scores_std, test_scores_mean + test_scores_std, color="g", alpha=0.2)
plt.ylim(0.2, 1.0)
plt.legend(loc="best")
plt.show()
learning_curve(x)
自分で試したこと
試しにcvを消すと今度はrandom_stateやshuffleについて同様のエラーが起きます。
ノートブックをシャットダウンしてもダメでした。
sklearnのバージョンは1.0.2です。
0