python
1import numpy as np 2import matplotlib.pyplot as plt 3%matplotlib inline 4from sklearn.ensemble import RandomForestClassifier as RandomForest 5import pandas as ps 6from pandas import Series,DataFrame 7from sklearn.model_selection import train_test_split 8 9#csvデータの読み込み 10data = ps.read_csv('data.csv') 11 12print("-----説明変数--------") 13#説明変数の設定 14x = DataFrame(data.drop("rank",axis=1)) 15print(x.head()) 16 17print("-----目的変数-------") 18#目的変数の設定 19y = DataFrame(data["rank"]) 20print(y.head()) 21 22#訓練データとテストデータを分ける 23x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.3) 24 25#RFCの実行 26from sklearn.ensemble import RandomForestClassifier 27clf = RandomForestClassifier(n_estimators=100,random_state=0) 28clf = clf.fit(x_train, y_train) 29 30 実際のyの値と予測値を比較して、正答率を確認する 31from sklearn import metrics 32from sklearn.metrics import accuracy_score, precision_score, recall_score 33 34y_predicted = clf.predict(x_test) 35accuracy = metrics.accuracy_score(y_test, y_predicted) 36print(accuracy) 37 38predict = clf.predict(x_test) 39 40print(accuracy_score(y_test, predict), precision_score(y_test, predict), recall_score(y_test, predict)) 41 42fti = clf.feature_importances_ 43 44for i, feat in enumerate(data): 45 print('\t{0:20s} : {1:>.6f}'.format(feat, fti[i]))
この最後から三行のコードで
IndexError: index 11 is out of bounds for axis 0 with size 11
がでてしまします
回答1件
あなたの回答
tips
プレビュー