scikit-learn之分类算法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaoleiniu1314/article/details/80110865

1、逻辑回归

class sklearn.linear_model.LogisticRegression

penalty=’l2’:‘l1’ or ‘l2’,正则项,‘newton-cg’, ‘sag’ and ‘lbfgs’ 只支持 ‘l2’;

dual=False: bool,默认值就可以;

tol=0.0001:停止准则容忍度;

C=1.0: positive float,正则化强度,值越小,正则化强度越大;

fit_intercept=True: bool,是否要在决策函数(Xw+c)上加一个常数值;

intercept_scaling=1: float,只有当 solver 是 ‘liblinear’,fit_intercept 为 True 时起作用,此时特征向量 X 就变为了 [X,intercept_scaling],相当于多了一个合成的特征值,intercept 则变为了 intercept_scaling * synthetic_feature_weight,synthetic feature weight 也会被正则化;

class_weight=None: dict or ‘balanced’,dict:{class_label: weight},‘balanced’:n_samples / (n_classes * np.bincount(y));

random_state=None: 一般使用默认值;

solver=’liblinear’:{‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’, ‘saga’},(1)如果数据集比较小,那么利用 ‘liblinear’ 就可以啦;(2)”sag 和 ‘saga’ 在处理大数据集时速度更快;(3)如果不是二分类,而是多种 y 类型的区分,那么 ‘liblinear’ 就不适合了,只能用剩下的四种了;(4)’newton-cg’,’lbfgs’,’sag’这三种 solver 只可以处理代价函数是 L2 的情形;(5)在使用 ‘sag’ 和 ‘saga’ 方法时,最好将各个特征的取值利用 sklearn.preprocessing 先处理为数量级是一个范围的,比如都为 0-1 之间的,这样才能有效的保证算法在使用时具有较快的收敛速度;建议都使用 ‘saga’ 即可;

max_iter=100:最大迭代次数,此值仅仅当 solver 是 “newton-cg,sag,lbfgs” 时起作用;

multi_class=’ovr’:{‘ovr’, ‘multinomial’},‘ovr’ 代表二分类,‘multinomial’ 代表多分类,solver 不能是 ‘liblinear’;

verbose=0:冗余值,非负整数,仅仅在solver为 linlinear 或者 lbfgs 时,设置该取值;

warm_start=False: bool,是否利用上次调用结果进行初始化,对 liblinear solver 不起作用;

n_jobs=1: int,多线程;
                   -1:使用所有的cpu;
                    1:不使用多线程;
                  -2:如果 n_jobs<0,(n_cpus + 1 + n_jobs)个cpu被使用,所以 n_jobs=-2 时,所有的cpu中只有一块不被使用;

2、支持向量机

scikit-learn 支持向量机算法库使用小结

3、最近邻

K近邻法(KNN)原理小结
scikit-learn K近邻法类库使用小结

4、朴素贝叶斯

朴素贝叶斯算法原理小结
scikit-learn 朴素贝叶斯类库使用小结

5、决策树

决策树算法原理(上)
决策树算法原理(下)
scikit-learn决策树算法类库使用小结

6、集成方法

集成学习原理小结

集成学习之Adaboost算法原理小结
scikit-learn Adaboost类库使用小结

梯度提升树(GBDT)原理小结
scikit-learn 梯度提升树(GBDT)调参小结

Bagging与随机森林算法原理小结
scikit-learn随机森林调参小结

猜你喜欢

转载自blog.csdn.net/xiaoleiniu1314/article/details/80110865
今日推荐