【甘道夫】基于scikit-learn实现逻辑回归LogisticRegression

难得有不涉及机密,同时又有一定记录价值的收获,记录下来,以备查阅。

欢迎转载,请注明出处:

http://blog.csdn.net/u010967382/article/details/50225291


1.准备数据


***基础:LIBSVM数据格式***
数据文件格式如下:
<label> <index1>:<value1> <index2>:<value2> ...
其中
<label> 是训练数据集的目标值,对于分类,它是标识某类的整数(支持多个类);对于回归,是任意实数。
<index> 是以1开始的整数。如果特征值为0,特征冒号前面的(姑且称做序号)可以不连续。如:-15 1:0.708 3:-0.3333;
<value>为实数,也就是我们常说的自变量。数据之间用空格隔开。
推荐使用该格式。
******

样本数据支持多种格式,这里用 libsvm格式做示例:
1 1:1 2:175 3:75
0 1:1 2:175 3:50
1 1:1 2:170 3:65
0 1:1 2:180 3:60
1 1:0 2:165 3:50
1 1:0 2:160 3:45
0 1:0 2:168 3:40
0 1:0 2:170 3:42
这是一个虚构数据集,因变量Y是体重正常与否,自变量分别是性别(男1,女0)、身高、体重(公斤)

2.建模 & 预测
>>> from sklearn.datasets import load_svmlight_file     #用于加载libsvm格式数据
>>> from sklearn.linear_model import LogisticRegression
>>> lrm= LogisticRegression()    #使用默认参数创建逻辑回归模型实例
>>> x_train, y_train = load_svmlight_file("/sktest/sklearn_testdata")     #加载libsvm训练数据
>>> lrm.fit(x_train,y_train)     #训练模型
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,
          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,
          verbose=0, warm_start=False)

"""至此,模型已训练完毕"""

>>> y= lrm.predict([1,174,50])     #预测 男性,174身高,50公里,体重是否正常
>>>  print y
[ 0.]
>>> yp =
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值