【Udacity】朴素贝叶斯

  • 机器学习就像酿制葡萄酒——好的葡萄(数据)+好的酿酒方法(机器学习算法)

  • 监督分类 supervised classification

  • Features ——>Labels

  • 保留10%的数据作为测试数据集

监督学习之朴素贝叶斯 Naive Bayes——寻找决策面
scikit-learn使用入门

googlesearch sklearn+Naive Bayes

关于sklearn版本
  • 视频——基于v0.17
  • 项目——基于v0.18

sklearn的现在稳定版为0.18,官方文档也升级到了0.18。但是,0.18版并不兼容0.17的代码。如果你安装了0.18版,sklearn.cross_validation, sklearn.grid_search and sklearn.learning_curve 等方法都不能直接调用。

新的API调用方法是

from sklearn.model_selection import train_test_split

计算准确度
def NB_Accuracy(features_train, labels_train, features_test, labels_test):
    
    ### import the sklearn module for GaussianNB
    from sklearn.naive_bayes import GaussianNB

    ### create classifier
    clf = GaussianNB()

    ### fit the classifier on the training features and labels

    clf.fit(features_train, labels_train)

    ### use the trained classifier to predict labels for the test features
    pred = clf.predict(features_test)


    ### calculate and return the accuracy on the test data
    ### this is slightly different than the example, 
    ### where we just print the accuracy
    ### you might need to import an sklearn module

    ### Method #1:
    accuracy = clf.score(features_test, labels_test)
    return accuracy
    ### Method #2:
    from sklearn.metrics import accuracy_score
    print accuracy_score(pred, labels_test)
posted @ 2017-09-25 22:59  Neo007  阅读(258)  评论(0编辑  收藏  举报