我试图从Udacity的机器学习入门课程中学习机器学习。
第2课-朴素贝叶斯测验19:地形数据上的高斯NB部署
我必须在我添加了的classityNB.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
吗
我用的方式做了同样的练习
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 clf
您可以这样调整代码:
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
来访问
来自sklearn.naive_bayes import GaussianNB
def分类(features_train,labels_train(:
clf=GaussianNB((clf.fit(features_train,labels_train(返回clf