精度(実際のデータと予測されたデータの差)に対応する関数がsklearnにあり、それをどのように出力するのか疑問に思いました。
from sklearn import datasets
iris = datasets.load_iris()
from sklearn.naive_bayes import GaussianNB
naive_classifier= GaussianNB()
y =naive_classifier.fit(iris.data, iris.target).predict(iris.data)
pr=naive_classifier.predict(iris.data)
Scikitのほとんどの分類子には、組み込みの score()
関数があり、X_testとy_testを入力すると、その推定器に適切なメトリックが出力されます。分類推定量の場合、ほとんどは'mean accuracy'
。
また sklearn.metrics
accuracy
、precision
、recall
などのさまざまなメトリックを出力する多くの関数が利用可能です。
あなたが必要とするあなたの特定の質問のために accuracy_score
from sklearn.metrics import accuracy_score
score = accuracy_score(iris.target, pr)
accuracy_score
を使用して、ドキュメントを検索できます here 。
このように実装する-
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(prediction, labels_test)
これは浮動小数点値を返します。 float値は、(正しく分類されたポイントの数)/(テストセット内のポイントの総数)を示します
分類の問題には「metrics.accuracy_score」を使用し、回帰には「metrics.r2_score」を使用します。
Sklearn.metricsからprecision_scoreをインポートする必要があります。 sklearn.metricsから下のようになっているはずです。import precision_score print precision_score(予測、ラベルのテストセット)
精度の公式は、正しく分類されたポイントの数/テストセット内のすべてのポイントです。