客户贷款逾期预测[1]-逻辑回归模型
任务
预测贷款客户是否会逾期,status为响应变量,有0和1两种值,0表示未逾期,1表示逾期。
代码:
# -*- coding: utf-8 -*-
"""
Created on Thu Nov 15 13:02:11 2018@author: keepi
"""import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import f1_score
pd.set_option('display.max_row',1000)#导入数据
data = pd.read_csv('data.csv',encoding='gb18030')
data = pd.DataFrame(data.fillna(10))#特征工程
'''
n = set(data['reg_preference_for_trad'])
dic = {}
for i,j in enumerate(n):
dic[j] = i
data['reg_preference_for_trad'] = data['reg_preference_for_trad'].map(dic)
'''
x_dummy = pd.get_dummies(data['reg_preference_for_trad'])
data = pd.concat([data.drop('reg_preference_for_trad',axis=1),x_dummy],axis=1,sort=False)
data.drop('source',axis=1,inplace=True)
data.drop('bank_card_no',axis=1,inplace=True)
data.drop('latest_query_time',axis=1,inplace=True)
data.drop('loans_latest_time',axis=1,inplace=True)
data.drop('id_name',axis=1,inplace=True)#划分测试集、训练集
train,test = train_test_split(data,test_size=0.3,random_state=25)
y_train = train.loc[:,'status']
train_2 = train.drop('status',axis=1)
y_test = test.loc[:,'status']
test_2 = test.drop('status',axis=1)#模型训练与预测
lr = LogisticRegression(C=190,dual=True,random_state=535)
lr.fit(train_2,y_train)y_test_pre = lr.predict(test_2)
#评分
score = f1_score(y_test,y_test_pre,average='macro')
print('验证集分数',score)
验证集分数:0.43838
遇到的问题
1.SettingWithCopyWarning:A value is trying to be set on a copy of a slice from a DataFrame
原因是我在处理数据时对原始数据进行了修改
train.drop('status',axis=1,inplace=True)
#警告:SettingWithCopyWarning
#修改为下面代码即可
train_2 = train.drop('status',axis=1)
2.固定了划分测试集和训练集的随机数种子,每次训练的分数都不同
因为逻辑回归的随机数种子没有设置
lr = LogisticRegression(C=100,dual=True,random_state=535) #这样即可
3.在用svm预测后计算f1值的时候出现警告:
UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples.
'precision', 'predicted', average, warn_for)
这个是说f1值因为某些项为0所以无法计算,因为我训练出来的结果全为1,而测试集中的标签含有0,1两种值。那么为什么用LinearSVC训练后会只预测出一种值呢?
参考
哑变量与one-hot编码
客户贷款逾期预测[1]-逻辑回归模型相关推荐
- 银行搜集了用户贷款、收入和信用卡是否逾期的数据。请使用这些数据建立一个能预测信用卡逾期情况的逻辑回归模型。
素材文件见"credit-overdue.csv". 要求(1)绘制数据的散点图,查看数据分布情况: import numpy as np import pandas as pd ...
- 逻辑回归模型及案例(Python)
1 简介 逻辑回归也被称为广义线性回归模型,它与线性回归模型的形式基本上相同,最大的区别就在于它们的因变量不同,如果是连续的,就是多重线性回归:如果是二项分布,就是Logistic回归. Logist ...
- 用通俗易懂的方式讲解:逻辑回归模型及案例(Python 代码)
目录 1 简介 2 优缺点 3 适用场景 加入方式 4 案例:客户流失预警模型 4.1 读取数据 4.2 划分特征变量和目标变量 4.3 模型搭建与使用 4.3.1 划分训练集与测试集 4.3.2 模 ...
- R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型、分类预测器(分类变量)被自动替换为一组虚拟编码变量、summary函数查看检查模型、使用table函数计算混淆矩阵评估分类模型性能
R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型(Logistic regression).分类预测器(分类变量)被自动替换为一组虚拟编码变量.summary函数查看检查模型.使用t ...
- R语言glm拟合logistic回归模型实战:基于glm构建逻辑回归模型及模型系数统计显著性分析、每个预测因子对响应变量的贡献
R语言glm拟合logistic回归模型实战:基于glm构建逻辑回归模型及模型系数统计显著性分析.每个预测因子对响应变量的贡献 目录
- python自动测试优惠券过期_python逻辑回归模型-使用优惠券预测
最近疫情严重,宅在家里给自己充电,修改简历,心里还是有点担忧的,疫情肯定会对招聘产生影响,今年春招的竞争肯定要比以往几年都要大. 于是打算在我的知乎专栏里也囤点"货". #希望大家 ...
- 使用python逻辑回归模型来进行nba竞赛数据预测球队胜率
好的,我来为你介绍一下使用 Python 进行逻辑回归模型预测 NBA 竞赛数据中球队胜率的步骤. 首先,你需要准备训练数据.这些数据可能包含球队的历史胜率,球员数据,比赛场地等信息.你可以使用这些信 ...
- 逻辑回归模型预测股票涨跌
http://www.cnblogs.com/lafengdatascientist/p/5567038.html 逻辑回归模型预测股票涨跌 逻辑回归是一个分类器,其基本思想可以概括为:对于一个二分类 ...
- ML之yellowbrick:基于titanic泰坦尼克是否获救二分类预测数据集利用yellowbrick对LoR逻辑回归模型实现可解释性(阈值图)案例
ML之yellowbrick:基于titanic泰坦尼克是否获救二分类预测数据集利用yellowbrick对LoR逻辑回归模型实现可解释性(阈值图)案例 目录 基于titanic泰坦尼克是否获救二分类 ...
- 用逻辑回归模型解决互联网金融信用风险问题
逻辑回归(Logistic Regression) 针对因变量为分类变量而进行回归分析的一种统计方法,属于概率型非线性回归. 优点:算法易于实现和部署,执行效率和准确度高: 缺点:离散型的自变量数据需 ...
最新文章
- Ruby Fiber指南(三)过滤器
- 致远协同软件手机版让移动办公不再是梦想
- sudu在linux的命令,Linux的sudo命令
- discuz修改用户uid_haproxy实现discuz论坛的动静分离和负载均衡
- GNU make manual 翻译( 一百六十)
- Iview的Tabs定时切换
- 系统下装软件_DCS系统的日常保养工作怎么做
- sql 一次性批量插入_考虑使用SQL批量插入的安全性
- 【编辑器】Vim学习笔记
- 使用Mave构建多模块项目
- php 正则忽略空白,(PHP)正则表达式-忽略空白
- 网页游戏怎么修改数据_2014一周网页游戏数据报告(8.18—8.24)
- python 身份证识别器_python 识别身份证号码
- a级纳税人数据问题记录
- 收藏!立体库设备维修保养计划
- 解决”error: info is different in .repo/manifests/.git vs .repo/manifests.git报错
- 认证的政府与媒体类订阅号可取得网页授权接口了
- 【DOSBox调整窗口大小】
- fitbit aria体脂秤二次开发遇到的问题
- SystemUi概述
热门文章
- 语音处理工具:sox
- 个人域名快速备案需要哪些资料
- 霜降配1种水果, 冬天不会流鼻涕, 嘴唇不会裂, 还能解酒、预防大脖子病
- Knative-serving资源详解
- python transforms_Python transforms.Compose方法代码示例
- [Scala的协变和逆变]
- 苹果IOS9为加强个人隐私信息保护强制HTTPS,APP开发者需申请SSL证书
- 轻松升级各路硬件,简约时尚的大容量机箱,TT挑战者H6上手
- 各行业的英语术语(绝对精华 2)
- Electron入门宝典(三)菜单快捷键