机器学习-逻辑回归

逻辑回归的优点:
(1)预测结果是介于0和1之间的概率;
(2)可以适用于连续性和类别性自变量;
(3)容易使用和解释。

逻辑回归的缺点:
(1)对模型中自变量多重共线性较为敏感,例如两个高度相关自变量同时放入模型,可能导致较弱的一个自变量回归符号不符合预期。需要利用因子分析或者变量聚类分析等手段来选择代表性的自变量,以减少候选变量之间的相关性;

(2)预测结果呈“S”型,因此从log(odds)向概率转化的过程是非线性的,在两端随着log(odds)值的变化,概率变化很小,而中间概率的变化很大。 导致很多区间的变量变化对目标概率的影响没有区分度,无法确定阀值。

我们在线性回归的基础上,修改得到逻辑回归。主要内容为:
定义sigmoid方法,使用sigmoid方法生成逻辑回归模型
定义损失函数,并使用梯度下降法得到参数
将参数代入到逻辑回归模型中,得到概率
将概率转化为分类

import pandas as pd
from sklearn.linear_model import LogisticRegression
# 读取文件 DataFrame
train = pd.read_table('horseColicTraining.txt',header=None)
test = pd.read_table('horseColicTest.txt',header=None)

# 两个数据集作同样的操作,获得数据集和标签
train_label = train[21]
train.drop([21],axis=1,inplace=True)
test_label = test[21]
test.drop([21],axis=1,inplace=True)
# 调用模型,但是并未经过任何调参操作,使用默认值
lr_model = LogisticRegression()
# 训练模型
lr_model.fit(train,train_label)
# 获取测试集的评分
print(lr_model.score(test,test_label))

相关代码已上传GitHub,仅供参考学习使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值