Sklearn学习

朴素贝叶斯:

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): 接受参数为需要寻找最近邻的样本,需要寻找的近邻个数以及是否返回距离 

参考: https://www.cnblogs.com/xiaotan-code/p/6680438.html

猜你喜欢

转载自blog.csdn.net/Ahead_J/article/details/84591913