逻辑回归练习案例

本文从线性回归引入,详细介绍了逻辑回归的基本原理,包括其预测函数、损失函数和模型评估指标。逻辑回归是一种分类方法,通过sigmoid函数将线性模型的连续输出映射到0和1之间,用于决策分类。文章还讨论了逻辑回归的优缺点,并提供了一个使用sklearn库的实战案例。
摘要由CSDN通过智能技术生成

从线性回归到逻辑回归

首先从线性回归模型出发,线性回归模型的输出值是连续型变量,值域为;逻辑回归的输出值是离散型变量,值域为;
逻辑回归实属广义线性模型,线性回归预测函数可简单表示为,而逻辑回归预测函数需要做一个函数转换,其中,即通过将线性回归原本的值域映射到区间内,当取值大于临界值时为一类,小于临界值时为另一类,从而达到分类的目的。这里一般使用sigmoid函数,即

sigmoid有一个性质:当趋于时,趋于;当趋于时,趋于。
因此,线性回归实际解决的是预测实数连续值的问题;逻辑回归解决的是分类问题。

逻辑回归原理

逻辑回归的假设函数为:

其中为样本输入,为模型输出,为要求解的模型参数。设0.5为临界值,当时,即时,为1;当时,即时,为0。
模型输出值在区间内取值,因此可从概率角度进行解释:越接近于0,则分类为的概率越高;越接近于1,则分类为的概率越高;越接近于临界值0.5,则无法判断,分类准确率会下降。

逻辑回归的损失函数

在这里插入图片描述

模型评估指标

准确率、召回率等

模型优缺点

优点:
1.便于理解和实现,可以观测样本的概率分数
2.训练速度快
3.由于经过了sigmoid函数的映射,对数据中小噪声的鲁棒性较好
4.不受多重共线性的影响(可通过正则化进行消除)

缺点:
1.容易欠拟合
2.特征空间很大时效果不好
3.由于sigmoid函数的特性,接近0/1的两侧概率变化较平缓,中间概率敏感,波动较大;导致很多区间特征变量的变化对目标概率的影响没有区分度,无法确定临界值。

案例(调用sklearn库)

基础代码
 data=data.replace(to_replace="?",value=np.nan)
 data=data.dropna(how='any')
 data[column_names[1:10]].head()

 from sklearn.cross_validation import train_test_split
 X_train,X_test,y_train,y_test=train_test_split(data[column_names[1:10]],data[column_names[10]],test_size=0.25,random_state=33)
 y_train.value_counts()


 from sklearn.preprocessing import StandardScaler #导入数据标准化模块
 from sklearn.linear_model import LinearRegression

 # 标准化数据
 ss=StandardScaler()
 X_train=ss.fit_transform(X_train)
 X_test=ss.transform(X_test)

 lr=LinearRegression()
 lr.fit(X_train,y_train)
 lr_y_predict=lr.predict(X_test)

 from sklearn.metrics import classification_report
 print('Accuracy of LR Classifier:',lr.score(X_test,y_test))
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline 

churn=pd.read_csv('w4_churn.csv')

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值