朴素贝叶斯(Ucity_机器学习入门_学习笔记)

机器学习,根据很多有特征和属性的数据,你可以挑选出正确的特征,这样可以对新的案例进行分类。利用机器学习算法解决实际问题。在机器学习中,我们会把数据的特征及其对应的标签作为输入,然后再对有特征没有标签的数据,尝试预测它对应的标签。

监督分类是将带有标签的数据输入,然后将一个没有标签的数据输入,经过算法计算,判断这个数据属于哪个标签。

数据->特征->标签。

特征可视化,将数据集展示为散点图(scatter plot)(二维或多维),在面上进行分类。这时需要确定决策面(decision surface),决策面通常位于两个不同类之间的某个位置上。有了决策面,就可以知道图上的任意一点在属于哪个标签,所以决策面可以泛化到没有见过的数据里面。

机器学习算法:有特征和标签的数据->转化为决策面->预测新数据的标签。

朴素贝叶斯(naive Bayes)是一个常见的寻找决策面的算法。

sklearn(scikit-learn)(a kind of Python library),可以用谷歌‘sklearn naive bayes’帮助文档,查看'sklearn naive bayes GaussianNB'函数编写。网页中sklearn.naive_bayes.GaussianNB

示例代码如下:

 1 import numpy as np
 2 x=np.array([[-1,-1],[-2,-1],[-3,-2],[1,1],[2,1],[3,2]])
 3 #x是一个二维数组,作为训练点数据,有特征
 4 y=np.array([1,1,1,2,2,2])  #y是一个一维数组,作为标签
 5 
 6 from sklearn.naive_bayes import GaussianNB #从模块里导入高斯朴素贝叶斯
 7 
 8 clf=GaussianNB() #实例化,GussianNB(priors=None,var_smoothing=1e-09)
 9 
10 clf.fit(x,y) #训练数据 fit相当于train 
11 
12 print(clf.predict([[-0.8,-1]])) #输出单个预测结果  
13 
14 
15 clf_pf=GaussianNB()
16 clf_pf.partial_fit(x,y,np.unique(y))
17 print(clf_pf.predict([[-0.8,-1]]))
原文地址:https://www.cnblogs.com/minyshi/p/8384702.html