获取高斯奈夫贝叶斯的精度。

问题描述 投票:0回答:1

我写的这个例子是 https:/scikit-learn.org。...但我找不到精度?

import numpy as np
x = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1],[2, 1], [3, 2]])
y = np.array([1, 1, 1, 2, 2, 2])
from sklearn.naive_bayes import GaussianNB
clf = GaussianNB()
clf.fit(x, y)
pred = clf.predict([[-0.8, -1]])

from sklearn.metrics import accuracy_score
accuracy_score(y,pred)
python python-3.x scikit-learn precision precision-recall
1个回答
0
投票

你正在传递的输入是 accuracy_score() 两个样本数不一致的变量(y 有6个样本。pred 有1)。)

为了得到精度,你应该将 sklearn.metrics.precision_score():

  • 矢量 y_true 代表基本真理(正确)目标值和
  • 矢量 y_pred 代表分类器返回的估计目标。

在您的情况下,您没有 y_true 关于矢量 [-0.8, -1].

文件 以及其中的例子。

© www.soinside.com 2019 - 2024. All rights reserved.