朴素贝叶斯分类的准确率为 100%

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

我有一个分类问题,我想对 A、B 和 C 类进行分类。我尝试使用朴素贝叶斯分类器,准确率是 100%,我真的怀疑这不是真的。我有大约350个的小数据集,其中A类是140个,B类是140个,其余的是C类。这是我使用的代码。有人可以给我一些建议吗?

import sklearn
from sklearn.metrics import accuracy_score
X = feature_data_frame.values
y = label_data
import sklearn.preprocessing as preprocessing
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB, MultinomialNB
x_train, x_test, y_train, y_test = train_test_split(X, y, test_size=.10)
gnb = GaussianNB()
y_pred = gnb.fit(x_train, y_train).predict(x_test)
accuracy = accuracy_score(y_test, y_pred)

提前致谢。

python-3.x machine-learning naivebayes
1个回答
0
投票

几天前,我在使用高斯朴素贝叶斯分类器将股票数据分类为风险类和非风险类时也遇到了同样的问题。

您的代码中可能存在两个问题:

  1. 您需要使用 StandardScaler 或其他缩放器来缩放数据(X_train 和 X_test)
  2. 您的训练数据可能存在一些异常值,这些异常值会影响您的模型准确性。

让我们知道进展如何!

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