我尝试从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
答案 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