三 Logistic回归实战篇之预测病马死亡率

作 者:崔家华
编 辑:李文臣
四、使用构建回归分类器
开始新一轮的征程,让我们看下的回归分类器!
官方英文文档地址:/dev///...html#..
.模块提供了很多模型供我们使用,比如回归、Lasso回归、贝叶斯脊回归等,可见需要学习的东西还有很多很多 。本篇文章,我们使用 。
1、
让我们先看下这个函数,一共有14个参数:
参数说明如下:
:随机数种子,int类型,可选参数,默认为无,仅在正则化优化算法为sag,时有用 。
:优化算法选择参数,只有五个可选参数,即-cg,lbfgs,,sag,saga 。默认为 。参数决定了我们对逻辑回归损失函数的优化方法,有四种算法可以选择,分别是:
:算法收敛最大迭代次数,int类型,默认为10 。仅在正则化优化算法为-cg, sag和lbfgs才有用,算法收敛的最大迭代次数 。
:分类方式选择参数,str类型,可选参数为ovr和,默认为ovr 。ovr即前面提到的one-vs-rest(OvR),而即前面提到的many-vs-many(MvM) 。如果是二元逻辑回归,ovr和并没有任何区别,区别主要在多元逻辑回归上 。
:日志冗长度,int类型 。默认为0 。就是不输出训练过程,1的时候偶尔输出结果,大于1,对于每个子模型都输出 。
:热启动参数,bool类型 。默认为False 。如果为True,则下一次训练是以追加树的形式进行(重新使用上一次的调用作为初始化) 。
:并行数 。int类型,默认为1 。1的时候,用CPU的一个内核运行程序,2的时候,用CPU的2个内核运行程序 。为-1的时候,用所有CPU的内核运行程序 。
累死我了....终于写完所有参数了 。
除此之外,也有一些方法供我们使用:
有一些方法和的方法都是类似的,因此不再累述 。
对于每个函数的具体使用,可以看下官方文档:/dev///...html#..
同时,如果对于过拟合、正则化、L1范数、L2范数不了解的,可以看这位大牛的博客:////
2、编写代码
了解到这些,我们就可以编写分类器的代码了 。代码非常短:

三  Logistic回归实战篇之预测病马死亡率

文章插图
# -*- coding:UTF-8 -*-
from sklearn.linear_model import LogisticRegression

"""
函数说明:使用Sklearn构建Logistic回归分类器
Parameters:

Returns:

Author:
Jack Cui
Blog:
http://blog.csdn.net/c406495762
Zhihu:
https://www.zhihu.com/people/Jack--Cui/
Modify:
2017-09-05
"""
def colicSklearn():
frTrain = open('horseColicTraining.txt')#打开训练集frTest = open('horseColicTest.txt')#打开测试集trainingSet = []; trainingLabels = []testSet = []; testLabels = []for line in frTrain.readlines():currLine = line.strip().split('\t')lineArr = []for i in range(len(currLine)-1):lineArr.append(float(currLine[i]))trainingSet.append(lineArr)trainingLabels.append(float(currLine[-1]))for line in frTest.readlines():currLine = line.strip().split('\t')lineArr =[]for i in range(len(currLine)-1):lineArr.append(float(currLine[i]))testSet.append(lineArr)testLabels.append(float(currLine[-1]))classifier = LogisticRegression