前提・実現したいこと
各アルゴリズムの正解率を比較するプログラムを書きたいです
発生している問題・エラーメッセージ
AdaBoostClassifier の正解率 = 0.9666666666666667 BaggingClassifier の正解率 = 1.0 BernoulliNB の正解率 = 0.26666666666666666 CalibratedClassifierCV の正解率 = 0.9333333333333333 --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-1-27eeaded6346> in <module> 25 26 #学習して評価する ---> 27 clf.fit(x_train, y_train) 28 y_pred = clf.predict(x_test) 29 print(name,"の正解率 = " , accuracy_score(y_test, y_pred)) (中略) ValueError: could not convert string to float: 'Iris-virginica' エラーメッセージ
該当のソースコード
python
1import pandas as pd 2from sklearn.model_selection import train_test_split 3from sklearn.metrics import accuracy_score 4import warnings 5from sklearn.utils.testing import all_estimators 6 7#あやめデータの読み込み 8iris_data = pd.read_csv("iris.csv", encoding="utf-8") 9 10#あやめデータをラベルと入力データに分離する 11y = iris_data.loc[:,"Name"] 12x = iris_data.loc[:,["SepalLength", "SepalWidth", "PetalLength", "PetalWidth"]] 13 14#学習用とテスト用に分離する 15x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.2, train_size = 0.8, shuffle=True) 16 17 18#classifierのアルゴリズムをすべて取得する 19warnings.filterwarnings('ignore') 20allAlgorithms = all_estimators(type_filter="classifier") 21 22for(name, algorithm) in allAlgorithms: 23 #各アルゴリズムのオブジェクトを作成 24 clf = algorithm() 25 26 #学習して評価する 27 clf.fit(x_train, y_train) 28 y_pred = clf.predict(x_test) 29 print(name,"の正解率 = " , accuracy_score(y_test, y_pred)) 30 31``` 32 33### 試したこと 34 35 36ここに問題に対して試したことを記載してください。 37 38 39### 補足情報(FW/ツールのバージョンなど) 40 41ここにより詳細な情報を記載してください。 42ちなみにiris.csvのファイルは 43https://github.com/pandas-dev/pandas/blob/master/pandas/tests/data/iris.csv 44のやつです。