机器学习,根据很多有特征和属性的数据,你可以挑选出正确的特征,这样可以对新的案例进行分类。利用机器学习算法解决实际问题。在机器学习中,我们会把数据的特征及其对应的标签作为输入,然后再对有特征没有标签的数据,尝试预测它对应的标签。
监督分类是将带有标签的数据输入,然后将一个没有标签的数据输入,经过算法计算,判断这个数据属于哪个标签。
数据->特征->标签。
特征可视化,将数据集展示为散点图(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]]))