朴素贝叶斯
1、sklearn.naive_bayes.GaussianNB(priors=None),高斯朴素贝叶斯,主要用于连续值特征分类
priors: 类的先验概率,默认是None,可以不传递,算法内部会帮我们计算;如果指定了,算法内部就不会计算而是使用我们给的先验概率
分类器具有的属性:
clf.class_prior_: 每个类的先验概率
clf.class_count_: 每个类包含的训练数据
clf.theta_: 每个类每个特征的均值
clf.sigma_: 每个类每个特征的方差
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_proba(X): 接受参数为测试集,输出测试集对于每个类别的概率
score(X,Y): 接受参数为测试集和测试集标签,输出分类的准确率
参考: https://blog.csdn.net/kancy110/article/details/72763276
k近邻
1、sklearn.neighnors.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_proba(X): 接受参数为测试集,输出测试集对于每个类别的概率
score(X,Y): 接受参数为测试集和测试集标签,输出分类的准确率
kneighbors(X, n_neighbors, return_distance): 接受参数为需要寻找最近邻的样本,需要寻找的近邻个数以及是否返回距离
2、sklearn.neighbors.KNeighborsRegressor(n_neighbors=5): k近邻回归器
n_neighbors=5, k的数目,即考虑预测点最近k个点的类别,默认是5个
其中具有的方法:
fit(X,Y): 接受参数为训练集和训练集的label
predict(X): 接受参数为测试集,直接输出测试集的标签
score(X,Y): 接受参数为测试集和测试集标签,输出回归任务的性能,->1代表性能越好,->0表示预测值接近于训练标签的平均值,即不好
参考: https://www.cnblogs.com/xiaotan-code/p/6680438.html
感知器
1、sklearn.linear_model.
Perceptron
(penalty=None, alpha=0.0001, max_iter=None, eta0=1.0),感知器分类器
penalty: 惩罚项,选用的正则化方法
alpha: 正则化系数
max_iter: 算法最大的迭代次数
eta0: 学习率
感知器一般不选用正则化方法,主要调整最大迭代次数和学习率以获得学习效果;
fit(X,Y): 接受参数为训练集和训练集的label
predict(X): 接受参数为测试集,直接输出测试集的标签
score(X,Y): 接受参数为测试集和测试集标签,输出分类的准确
参考:
决策树
1、sklearn.tree.DecisionTreeClassifier(criterion=’gini’, max_depth=None, min_samples_split=2, min_samples_leaf=1, max_features=None, random_state=None, max_leaf_nodes=None, class_weight=None): 决策树分类器
class_weight: 类别的权重,默认是None,表示每个类别的权重都是1
criterion: 判断准则,默认是'gini',表示使用gini系数选择特征&