for
文のインデントがあきらかに間違ってますが、それが原因なのでは?
Python
1from sklearn.model_selection import StratifiedKFold
2
3kf = StratifiedKFold(n_splits=5, shuffle=True)
4# for train_index, test_index in kf.split(X, y): # インデントが間違ってる
5for train_index, test_index in kf.split(X, y): # このように修正
6 lr = RandomForestClassifier(criterion='gini',
7 max_depth=6,
8 n_estimators=1000,
9 random_state=7)
【追記】
その後正解率と平均正答率を出力したいのですが
とりあえずは、こんな感じでしょうか
Python
1from sklearn.ensemble import RandomForestClassifier
2from sklearn.model_selection import StratifiedKFold
3from sklearn.metrics import accuracy_score
4scores = []
5kf = StratifiedKFold(n_splits=5, shuffle=True)
6for train_index, test_index in kf.split(X, y):
7 train_X = X[train_index]
8 train_y = y[train_index]
9 test_X = X[test_index]
10 test_y = y[test_index]
11 lr = RandomForestClassifier(criterion='gini',
12 max_depth=6,
13 n_estimators=1000,
14 random_state=7)
15 lr.fit(train_X, train_y)
16 pred_y = lr.predict(test_X)
17 score = accuracy_score(test_y, pred_y)
18 scores.append(score)
19 print(f"SCORE : {score}")
20
21print(f"Average Score : {sum(scores) / len(scores)}")
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/10 08:15
2019/10/10 10:32