はじめに:分類は、機械学習、歴史の研究では機械学習、分類アルゴリズムの多数の誕生の重要な機能であり、各アルゴリズムは長所と短所があります。
この記事では、一般的に使用される分類アルゴリズムおよび迅速なクエリの実装をまとめました。(本明細書で使用される場合、虹彩データセットは、三カテゴリ分類です)
次のように、この記事のテストセット(精度)で種分類アルゴリズムの精度の9種類です。
[1.0、1.0、1.0、1.0、0.9666666666666667、1.0、0.9666666666666667、1.0、0.9666666666666667]
1つのインポートnumpyのようNP 2インポートパンダとしてPD 3インポートmatplotlibのようMPL 4インポートmatplotlib.pyplot としてPLT 5 インポートsklearn 6 からsklearnインポートデータセット 7 からsklearn.metricsがaccuracy_scoreインポート 8 9 からsklearn.ensembleインポートRandomForestClassifier 10 からsklearn.tree DecisionTreeClassifierインポート 11 12 からsklearn.neighborsはKNeighborsClassifierインポート 13 sklearn.svmインポートSVC、LinearSVC 14 からsklearn.linear_modelインポートロジスティック回帰 15 16 からsklearn.linear_modelインポートSGDClassifier 17 からsklearn.linear_modelインポートパーセプトロン 18 からsklearn.naive_bayes GaussianNBインポート 19 20 からsklearn.model_selectionインポートtrain_test_split 21 からsklearn.model_selectionインポートはcross_val_score 22 23 からsklearn.model_selectionインポートGridSearchCV 24の 25アイリス=用)(datasets.load_iris 26X、Y = iris.data、iris.target 27 28 x_trainをx_test、y_train、android.permission.FACTOR。train_test_split =(X、Y、test_size = 0.2、random_state = 0 ) 29の 30 RESの= [] 31は 32#1 。ランダムフォレスト分類器 33プリント(' ランダムフォレスト分類器' ) 34は CLF = RandomForestClassifier(n_estimators = 100 ) 35 clf.fit(x_train、y_train) 36 cross_score = cross_val_score(CLF、x_train、y_train、CV = 。3、得点= " 精度" ) 37 [ プリント(cross_score) 38 y_predict = clf.predict(x_test) 39スコア= accuracy_score(y_test、y_predict) 40 res.append(スコア) 41 プリント() 42 43#2 。决策树分类 44プリント(' 决策树分类' ) 45 CLF = DecisionTreeClassifier() 46 clf.fit(x_train、y_train) 47 cross_score = cross_val_score(CLF、x_train、y_train、CV = 3、スコア= " 精度" ) 48 プリント(cross_score) 49 y_predict =clf.predict(x_test) 50スコア= accuracy_score(y_test、y_predict) 51 res.append(スコア) 52 プリント() 53 54#3 。KNN 55プリント(' KNN ' ) 56 CLF = KNeighborsClassifier(N_NEIGHBORS = 13 ) 57 clf.fit(x_train、y_train) 58 cross_score = cross_val_score(CLF、x_train、y_train、CV = 3、スコア= " 精度" ) 59 プリント( cross_score) 60 y_predict = clf.predict(x_test) 61スコア= accuracy_score(y_test、y_predict) 62 res.append(スコア) 63 プリント() 64 65#4 。SVM分类 66プリント(' SVM ' ) 67 CLF = SVC(ガンマ= ' 規模' ) 68 clf.fit(x_train、y_train) 69 cross_score = cross_val_score(CLF、x_train、y_train、CV = 3、スコア= " 精度" ) 70 プリント(cross_score) 71 y_predict = clf.predict(x_test) 72スコア=accuracy_score(y_test、y_predict) 73 res.append(スコア) 74 プリント() 75 76#5 。逻辑回归分类 77プリント(' ロジスティック回帰' ) 78 CLF =ロジスティック回帰(ソルバ= ' lbfgs '、multi_class = ' OVR ' ) 79 clf.fit(x_train、y_train) 80 cross_score = cross_val_score(CLF、x_train、y_train、CV = 3、スコア= " 精度" ) 81 プリント(cross_score) 82 y_predict =clf.predict(x_test) 83スコア= accuracy_score(y_test、y_predict) 84 res.append(スコア) 85 プリント() 86 87#6 。線形SVM分类 88プリント(' 線形SVM ' ) 89 CLF = LinearSVC(max_iter = 10000 ) 90 clf.fit(x_train、y_train) 91 cross_score = cross_val_score(CLF、x_train、y_train、CV = 3、スコア= " 精度" ) 92 プリント(cross_score) 93 y_predict = clf.predict(x_test) 94スコア= accuracy_score(y_test、y_predict) 95 res.append(スコア) 96 プリント() 97 98#7 。随机梯度下降分类 99プリント(' SGD ' ) 100 CLF = SGDClassifier(max_iter = 1000年、TOL = 1E- 3 ) 101 clf.fit(x_train、y_train) 102 cross_score = cross_val_score(CLF、x_train、y_train、CV = 3、スコア= " 精度" ) 103 プリント(cross_score) 104 y_predict = clf.predict(x_test) 105スコア= accuracy_score(y_test、y_predict) 106 res.append(スコア) 107 プリント() 108 109#8 。感知机分类 110プリント(' パーセプトロン' ) 111 CLF =パーセプトロン(max_iter = 1000年、TOL = 1E- 3 ) 112 clf.fit(x_train、y_train) 113 cross_score = cross_val_score(CLF、x_train、y_train、CV = 3、採点= " 精度" ) 114 プリント(cross_score) 115 y_predict = clf.predict(x_test) 116スコア= accuracy_score(y_test、y_predict) 117 res.append(スコア) 118 プリント() 119 120#9 。朴素贝叶斯分类 121プリント(' ナイーブベイズ' ) 122 CLF = GaussianNB() 123 clf.fit(x_train、y_train) 124 cross_score = cross_val_score(CLF、x_train、y_train、CV = 3、スコア= " 精度" ) 125 プリント(cross_score) 126 y_predict = clf.predict(x_test) 127スコア= accuracy_score(y_test、y_predict) 128 res.append(音楽) 129 プリント() 130 131である#10 。スコアの比較 132プリント(RES)