朴素贝叶斯:
1、高斯朴素贝叶斯:sklearn.naive_bayes.GaussianNB(priors=None),主要用于连续值特征分类
priors: 类的先验概率,默认是None,可以不传递,算法内部会帮我们计算
2、多项式朴素贝叶斯:sklearn.naive_bayes.MultinomialNB(alpha=1.0, fit_prior=True, class_prior=None)主要用于离散特征分类,例如文本分类单词统计,以出现的次数作为特征值
alpha: 拉普拉斯平滑参数,默认为1.0
fit_prior: 表示是否学习先验概率,参数为False表示所有类标记具有相同的先验概率
class_prior: 类的先验概率
3、伯努利朴素贝叶斯:sklearn.naive_bayes.BernoulliNB(alpha=1.0, binarize=0.0, fit_prior=True,class_prior=None)类似于多项式朴素贝叶斯,也主要用户离散特征分类,和MultinomialNB的区别是:MultinomialNB以出现的次数为特征值,BernoulliNB为二进制或布尔型特性
4、上述三个分类器共有的方法
fit(X,Y): 接受参数为训练集和训练集的label
predict(X): 接受参数为测试集,直接输出测试集的标签
predict_prob(X): 接受参数为测试集,输出测试集对于每个类别的概率
score(X,Y): 接受参数为测试集和测试集标签,输出分类的准确率
参考: https://blog.csdn.net/kancy110/article/details/72763276
k近邻
1、KNeighborsClassifier(n_neighbors=5, weights='uniform', algrithm='auto', leaf_size=30, matric='minkowski', p=2, metric_params=None, n_jobs=1): k近邻分类器,一般来说默认参数就很好用了。
n_neighbors=5, k的数目,即考虑预测点最近k个点的类别,默认是5个
weights='uniform', 不同近邻点的权重,默认是权重相等
algrithm='auto', 算法会自动从'ball_tree':球树、'kd_tree':kd树、'brute':暴力搜索中选择合适的算法
leaf_size=30, 叶子结点的大小
matric='minkowski', 距离度量,默认是闵氏距离
p=2, 闵氏距离中的参数p,默认是2
metric_params=None, 距离度量函数的额外关键字参数,一般不用管,默认为None
n_jobs=1,并行运算的线程数量
其中具有的方法:
fit(X,Y): 接受参数为训练集和训练集的label
predict(X): 接受参数为测试集,直接输出测试集的标签
predict_prob(X): 接受参数为测试集,输出测试集对于每个类别的概率
score(X,Y): 接受参数为测试集和测试集标签,输出分类的准确率
kneighbors(X, n_neighbors, return_distance): 接受参数为需要寻找最近邻的样本,需要寻找的近邻个数以及是否返回距离