目的
複数回のデータパターンで評価を行い
安定して良い結果を得られるものを選択する
今回使用するもの
K分割クロスバリデーション
(データをK個のグループに分割) ⇒ (K - 1個:学習用、1個:評価用) ⇒ (K回繰り返す)
コード
# K分割クロスバリデーション用オブジェクト
kfold_cv = KFold(n_splits=5, shuffle=True)
kfold_cv = KFold(n_splits=5, shuffle=True)
for(name, algorithm) in allAlgorithms:
# 各アリゴリズムのオブジェクトを作成
clf = algorithm()
# 各アリゴリズムのオブジェクトを作成
clf = algorithm()
# scoreメソッドをもつクラスを対象とする
if hasattr(clf,"score"):
# クロスバリデーションを行う
scores = cross_val_score(clf, x, y, cv=kfold_cv)
print(name,"の正解率=")
print(scores)
if hasattr(clf,"score"):
# クロスバリデーションを行う
scores = cross_val_score(clf, x, y, cv=kfold_cv)
print(name,"の正解率=")
print(scores)
AdaBoostClassifier の正解率=
[0.93333333 0.86666667 0.93333333 1. 0.96666667]
BaggingClassifier の正解率=
[0.93333333 0.96666667 0.96666667 0.96666667 0.96666667]
BernoulliNB の正解率=
[0.26666667 0.3 0.3 0.23333333 0.26666667]
CalibratedClassifierCV の正解率=
[0.96666667 0.9 0.93333333 0.9 0.93333333]
CheckingClassifier の正解率=
[0. 0. 0. 0. 0.]
ClassifierChain の正解率=
[0.73333333 0.7 0.6 0.53333333 0.76666667]
ComplementNB の正解率=
[0.96666667 1. 0.93333333 0.93333333 0.96666667]
DecisionTreeClassifier の正解率=
[0.36666667 0.23333333 0.33333333 0.13333333 0.33333333]
DummyClassifier の正解率=
[0.93333333 0.86666667 1. 0.96666667 0.96666667]
ExtraTreeClassifier の正解率=
[0.96666667 0.93333333 0.96666667 0.9 1. ]
GaussianNB の正解率=
[1. 0.96666667 0.96666667 1. 0.9 ]
GaussianProcessClassifier の正解率=
[0.93333333 0.96666667 0.93333333 0.93333333 1. ]
GradientBoostingClassifier の正解率=
[0.96666667 1. 0.96666667 0.86666667 0.96666667]
KNeighborsClassifier の正解率=
[0.96666667 0.93333333 0.93333333 1. 0.96666667]
LabelPropagation の正解率=
[0.96666667 1. 0.9 0.96666667 0.96666667]
LabelSpreading の正解率=
[0.96666667 0.96666667 1. 1. 0.96666667]
LinearDiscriminantAnalysis の正解率=
[0.96666667 0.96666667 0.93333333 0.93333333 0.86666667]
LinearSVC の正解率=
[0.93333333 0.93333333 0.96666667 0.96666667 0.96666667]
LogisticRegression の正解率=
[0.93333333 0.93333333 0.93333333 1. 0.8 ]
LogisticRegressionCV の正解率=
[1. 1. 1. 0.93333333 0.96666667]
MLPClassifier の正解率=
[1. 1. 0.96666667 0.9 0.96666667]
MultinomialNB の正解率=
[0.96666667 0.46666667 0.9 0.73333333 0.6 ]
NearestCentroid の正解率=
[0.93333333 0.96666667 0.86666667 0.96666667 0.9 ]
NuSVC の正解率=
[0.96666667 0.9 1. 1. 0.93333333]
PassiveAggressiveClassifier の正解率=
[0.76666667 0.8 0.86666667 0.76666667 0.93333333]
Perceptron の正解率=
[0.93333333 0.93333333 0.86666667 0.96666667 0.83333333]
QuadraticDiscriminantAnalysis の正解率=
[0.96666667 0.96666667 0.93333333 1. 1. ]
RadiusNeighborsClassifier の正解率=
[1. 0.9 1. 0.96666667 0.96666667]
RandomForestClassifier の正解率=
[0.96666667 0.93333333 0.96666667 0.96666667 0.93333333]
RidgeClassifier の正解率=
[0.9 0.8 0.83333333 0.76666667 0.83333333]
RidgeClassifierCV の正解率=
[0.93333333 0.76666667 0.8 0.83333333 0.76666667]
SGDClassifier の正解率=
[0.63333333 0.86666667 0.96666667 0.93333333 1. ]
SVC の正解率=
[1. 1. 0.93333333 0.96666667 0.93333333]
[0.93333333 0.86666667 0.93333333 1. 0.96666667]
BaggingClassifier の正解率=
[0.93333333 0.96666667 0.96666667 0.96666667 0.96666667]
BernoulliNB の正解率=
[0.26666667 0.3 0.3 0.23333333 0.26666667]
CalibratedClassifierCV の正解率=
[0.96666667 0.9 0.93333333 0.9 0.93333333]
CheckingClassifier の正解率=
[0. 0. 0. 0. 0.]
ClassifierChain の正解率=
[0.73333333 0.7 0.6 0.53333333 0.76666667]
ComplementNB の正解率=
[0.96666667 1. 0.93333333 0.93333333 0.96666667]
DecisionTreeClassifier の正解率=
[0.36666667 0.23333333 0.33333333 0.13333333 0.33333333]
DummyClassifier の正解率=
[0.93333333 0.86666667 1. 0.96666667 0.96666667]
ExtraTreeClassifier の正解率=
[0.96666667 0.93333333 0.96666667 0.9 1. ]
GaussianNB の正解率=
[1. 0.96666667 0.96666667 1. 0.9 ]
GaussianProcessClassifier の正解率=
[0.93333333 0.96666667 0.93333333 0.93333333 1. ]
GradientBoostingClassifier の正解率=
[0.96666667 1. 0.96666667 0.86666667 0.96666667]
KNeighborsClassifier の正解率=
[0.96666667 0.93333333 0.93333333 1. 0.96666667]
LabelPropagation の正解率=
[0.96666667 1. 0.9 0.96666667 0.96666667]
LabelSpreading の正解率=
[0.96666667 0.96666667 1. 1. 0.96666667]
LinearDiscriminantAnalysis の正解率=
[0.96666667 0.96666667 0.93333333 0.93333333 0.86666667]
LinearSVC の正解率=
[0.93333333 0.93333333 0.96666667 0.96666667 0.96666667]
LogisticRegression の正解率=
[0.93333333 0.93333333 0.93333333 1. 0.8 ]
LogisticRegressionCV の正解率=
[1. 1. 1. 0.93333333 0.96666667]
MLPClassifier の正解率=
[1. 1. 0.96666667 0.9 0.96666667]
MultinomialNB の正解率=
[0.96666667 0.46666667 0.9 0.73333333 0.6 ]
NearestCentroid の正解率=
[0.93333333 0.96666667 0.86666667 0.96666667 0.9 ]
NuSVC の正解率=
[0.96666667 0.9 1. 1. 0.93333333]
PassiveAggressiveClassifier の正解率=
[0.76666667 0.8 0.86666667 0.76666667 0.93333333]
Perceptron の正解率=
[0.93333333 0.93333333 0.86666667 0.96666667 0.83333333]
QuadraticDiscriminantAnalysis の正解率=
[0.96666667 0.96666667 0.93333333 1. 1. ]
RadiusNeighborsClassifier の正解率=
[1. 0.9 1. 0.96666667 0.96666667]
RandomForestClassifier の正解率=
[0.96666667 0.93333333 0.96666667 0.96666667 0.93333333]
RidgeClassifier の正解率=
[0.9 0.8 0.83333333 0.76666667 0.83333333]
RidgeClassifierCV の正解率=
[0.93333333 0.76666667 0.8 0.83333333 0.76666667]
SGDClassifier の正解率=
[0.63333333 0.86666667 0.96666667 0.93333333 1. ]
SVC の正解率=
[1. 1. 0.93333333 0.96666667 0.93333333]