机器学习入门朴素贝叶斯分类器返回语句

时间:2020-09-27 08:04:16

标签: python machine-learning scikit-learn

我尝试从Udacity的入门到机器学习课程学习机器学习。

第2课-天真贝叶斯测验19:高斯NB在地形数据上的部署

我必须在我添加的classifyNB.py文件中添加一些代码

def classify(features_train, labels_train):   
### import the sklearn module for GaussianNB
### create classifier
### fit the classifier on the training features and labels
### return the fit classifier


### your code goes here!
from sklearn.naive_bayes import GaussianNB
clf = GaussianNB()
clf.fit(features_train, labels_train)
return((features_train, labels_train) 

但是代码没有编译并引发一些错误。

任何想法,我都应该写什么到return the fit classifier

1 个答案:

答案 0 :(得分:0)

您可以这样调整代码:

from sklearn.naive_bayes import GaussianNB

def classify(features_train, labels_train):   
  clf = GaussianNB()
  clf.fit(features_train, labels_train)
  return clf

模块的导入应该在方法之外,并且需要确保在编写方法时缩进正确。如果您在代码中的缩进与此处的缩进相同,那么您需要在方法中缩进代码,以便清楚地知道方法下方的行属于该方法。

现在,您可以使用一些数据调用classify()方法来获取分类器,例如:

clf = classify(np.array([[0,1,2],[1,1,1]]), [0,1])

然后您可以使用分类器,可以使用clf

进行访问。