数据

data_all.csv文件是非原始数据,已经处理过了。数据是金融数据, 我们要做的是预测贷款用户是否会逾期。表格中, status是标签: 0表示未逾期, 1表示逾期。

任务——模型构建

给定数据集,数据三七分,随机种子2018。(在任务1中什么都不用考虑,即不需数据处理和模型调参)
调用sklearn的包,简单构建逻辑回归、SVM和决策树3个模型,评分方式任意(e.g. 准确度和auc值)。

一、相关库

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC
from sklearn.tree import DecisionTreeClassifier

二、数据读取与划分

由于数据中,status的列为标签,且status列不是第一列和最后一列。==》训练集如何便捷获取???
==》使用 pandas 的 drop 函数获取训练集。

## 读取数据
data = pd.read_csv("data_all.csv")
y = data['status']
x = data.drop(labels='status', axis=1)
## 数据集划分
x_train, x_test, y_train, y_test = train_test_split(x, y,test_size=0.3,random_state=2018)
print(len(x))  # 4754

1、drop() 函数

drop() 函数用于删除表中的某一行或某一列,它不改变原有的dataframe中的数据,而是返回另一个dataframe来存储删除后的数据。

(1)drop函数的使用:删除行、删除列

drop函数默认删除行,列需要加axis = 1

print frame.drop(['a'])
print frame.drop(['Ohio'], axis = 1)

(2)drop函数的使用:inplace参数

inplace参数默认为False,若 inplace=True 表示原数组直接就被替换。也就是说,采用inplace=True之后,原数组名(如2和3情况所示)对应的内存值直接改变;

而采用inplace=False之后,原数组名对应的内存值并不改变,需要将新的结果赋给一个新的数组或者覆盖原数组的内存位置。

## 下面三种方式等价
DF= DF.drop('column_name', axis=1);
DF.drop('column_name',axis=1, inplace=True)
DF.drop([DF.columns[[0,1, 3]]], axis=1, inplace=True)   # Note: zero indexed

三、模型构建与评估

基本流程:模型构建model;model.fit();model.score()

## 逻辑回归模型
lr = LogisticRegression(random_state=2018)
lr.fit(x_train,y_train)
score1 = lr.score(x_test,y_test)
print(score1)## SVM模型
svm = SVC(random_state=2018)
svm.fit(x_train,y_train)
score2 = svm.score(x_test, y_test)
print(score2)## 决策树模型
dt = DecisionTreeClassifier(random_state=2018)
dt.fit(x_train, y_train)
score3 = dt.score(x_test,y_test)
print(score3)

疑问:使用SVM和线性回归测出得准确率一模一样?

金融贷款逾期的模型构建1相关推荐

  1. 金融贷款逾期的模型构建6——特征选择

    文章目录 一.IV值 1.概述 2.IV计算 (1)WOE (2)IV 计算 二.实现 0.相关模块 1.IV值 2.Random Forest 3.特征合并 4.模型构建 5.模型评估 数据传送门( ...

  2. 金融贷款逾期的模型构建5——数据预处理

    文章目录 一.相关库 二.数据读取 三.数据清洗--删除无关.重复数据 四.数据清洗--类型转换 1.数据集划分 2.缺失值处理 3.异常值处理 4.离散特征编码 5.日期特征处理 6.特征组合 五. ...

  3. 金融贷款逾期的模型构建2——集成模型

    任务--模型构建 构建随机森林.GBDT.XGBoost和LightGBM这4个模型,并对每一个模型进行评分,评分方式任意,例如准确度和auc值. 1.相关安装资源 随机森林.GBDT均在sklear ...

  4. 金融贷款逾期的模型构建7——模型融合

    文章目录 一.集成学习 1.Bagging 2.Boosting 3.Stacking (1)核心图解 a.构建新的训练集 b.构建新的测试集 c.最终的训练与预测 (2)示例 a.构建新的训练集 b ...

  5. 金融贷款逾期的模型构建4——模型调优

    文章目录 一.任务 二.概述 1.参数说明 2.常用方法 二.实现 1.模块引入 2.模型评估函数 3.数据读取 4.Logistic Regression (1)调参部分 (2)模型评估 5.SVM ...

  6. 金融贷款逾期的模型构建3——模型评估

    文章目录 一.评价指标 1.基本概念 2.准确率(accuracy) 3.精确率(precision) 4.召回率(recall) 5.F1值 6.roc曲线 和 auc值 二.模型评估 1.Logi ...

  7. 一周算法实践---金融贷款逾期模型

    金融贷款逾期模型 1.读取数据 import pandas as pd data_all = pd.read_csv('../data/data_all.csv')` 2.划分数据集 from skl ...

  8. 互联网金融信用评分卡模型构建

    互联网金融信用评分卡模型构建 背景介绍 信用风险计量体系包括主体评级模型和债项评级两部分. 主体评级和债项评级均有一系列评级模型组成,其中主体评级模型可用"四张卡"来表示,分别是A ...

  9. python——金融商品收益率GARCH 模型构建(GARCH 模型)

    一.GARCH简介 GARCH模型是Bollerslev在1986年提出来的,全称为广义自回归条件异方差模型,Generalized Autoregressive Conditionally Hete ...

最新文章

  1. COM:下一代微生物组技术在作物生产中的应用——局限性以及基于知识的解决方案的需求
  2. 斯坦福大学报告称中国AI论文引用率首超美国!但李国杰院士也发文灵魂拷问...
  3. 10.Facade-外观模式
  4. win7命令行 端口占用 查询进程号 杀进程
  5. Supplier接口练习之获取最大值
  6. MySQL中事物的详解
  7. UVA455 - Periodic Strings(周期串)
  8. Appscan计划扫描与扩展程序
  9. 移除单元格选中时的高亮显示状态
  10. MFC动态菜单全攻略
  11. k2p 高恪魔改固件
  12. 减少OpenCV读取高分辨率图像的时间
  13. CVE-2021-42287、CVE-2021-42278域内提权漏洞
  14. Qt QStringLiteral
  15. 安全性-身份验证和授权(一)之Principal
  16. Halcon图像预处理-感兴趣区域(ROI)
  17. NLP文本情感分析:测试集loss比训练集loss大很多,训练集效果好测试集效果差的原因
  18. Bank Marketing预测一个客户购买理财产品的成功率
  19. 当前的安全设置计算机面临风险,win7系统IE8提示“当前安全设置会使计算机有风险”的解决方法...
  20. JavaScript -- 闭包与作用域链

热门文章

  1. MyBatis-Plus 快速开始及详测 SpringBoot 集成Mybatis-Plus
  2. Java并发工具包( java.util.concurrent)
  3. java控制台计算数字_java从控制台接收一个数字
  4. arraylist线程安全吗_java集合----超详细图解(ArrayList线程安全解决三种解决方法!)...
  5. 建标库标准怎么导出pdf_保存和导出PDF文档,这款OCR文字识别软件能做到
  6. 1、LeetCode784 字母大小写全排列
  7. php form提交跳转,form表单页面跳转方式提交练习
  8. java list pair_JavaList
  9. 计算机行业从业者的核心竞争力,计算机行业:创新企业上市新规发布,重视具备核心竞争力的真成长.pdf...
  10. apache 部署python3_flask+apache2+wsgi+python3 部署(挖坑记)