我是Python的新用户,一直在使用scikit学习模块运行Naive Bayes分类器模型。scikit learn Naïve Bayes文档页面上的以下示例代码是否正确?
from sklearn import datasets
iris = datasets.load_iris()
from sklearn.naive_bayes import GaussianNB
gnb = GaussianNB()
y_pred = gnb.fit(iris.data, iris.target).predict(iris.data)
print("Number of mislabeled points out of a total %d points : %d"
gnb.fit()
函数不应该改为:吗
y_pred = gnb.fit(iris.data.drop(columns=['target']), iris.target).predict(iris.data)
也就是说,需要从预测数据集中手动删除响应变量。当一位同事指出我从scikit学习文档页面抄袭的代码是错误的时,我的模型得到了不合理的高精度指标。
iris.data
不是一个数据帧,它只是一个具有4个特性的(150,4(numpy数组。
iris.target
是另一个只有目标类的numpy数组。
不知道如何在数组上调用drop
(我刚刚检查了我有一个数组,而不是pd-df,这是有道理的,sklearn不依赖于panda(。