我有一个包含20万个标记的训练样本的数据集。每个训练样本都有10个特征,包括连续和离散的特征。我试图使用Python中的sklearn软件包来训练模型并进行预测,但我遇到了一些问题(也有一些问题需要解答)。
首先,让我展示一下目前为止我所写的代码:
问题在于我的准确度非常低(标签被错误分类的数量太多),大约只有20%。然而,我不确定是数据存在问题(例如需要更多数据或其他原因)还是代码存在问题。
这是否是使用朴素贝叶斯分类器来处理同时具有离散和连续特征的数据集的正确方法?
此外,在机器学习中,我们知道数据集应该分为训练集和验证/测试集。这个过程是否由 sklearn 自动执行,还是应该使用训练数据集进行
首先,让我展示一下目前为止我所写的代码:
from sklearn.naive_bayes import GaussianNB
# data contains the 200 000 examples
# targets contain the corresponding labels for each training example
gnb = GaussianNB()
gnb.fit(data, targets)
predicted = gnb.predict(data)
问题在于我的准确度非常低(标签被错误分类的数量太多),大约只有20%。然而,我不确定是数据存在问题(例如需要更多数据或其他原因)还是代码存在问题。
这是否是使用朴素贝叶斯分类器来处理同时具有离散和连续特征的数据集的正确方法?
此外,在机器学习中,我们知道数据集应该分为训练集和验证/测试集。这个过程是否由 sklearn 自动执行,还是应该使用训练数据集进行
fit模型,然后使用验证集调用predict
?
任何想法或建议将不胜感激。
sklearn
的参数调整页面)。 - jkr