| 作者 |
| 王青天 孔越 王宇韬 房宇亮 肖金鑫 |
| 丛书名 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9782006091044 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 ---------------------------Python金融大数据风控建模实战:基于机器学习--------------------------- 本书的定位是一本Python金融大数据风控建模的入门级读物。全书包括4篇:背景篇旨在由浅入深地引领读者走进金融科技领域,了解智能风控,系统、全面地认识评分卡;基础篇围绕评分卡构建的全流程,向读者一一讲述每个环节的理论知识,随之进行代码实践,帮助读者获得从0至1构建评分卡模型的工程能力;进阶篇旨在从建模中可能遇到问题出发,提供一些问题解决或模型提升的思路,使建立的评分卡具有更好的业务适应及预测能力;实战篇结合真实信贷场景的数据集,带领读者完成从数据分析至评分卡生成的各个流程,旨在让读者体验真实场景,具备评分卡实战能力,亦可作为读者实际工作中构建评分卡的参考。本书适合有一定Python语言基础的金融风控相关技术人员阅读,也适合想要了解人工智能如何在金融场景应用的开发及业务人员。另外,也适合专业培训机构的学员和相关专业的学生。 ---------------------------Python金融大数据挖掘与分析全流程详解--------------------------- 金融从业者每天都要与海量的数据打交道,如何从这些数据中挖掘出需要的信息,并进行相应的分析,是很多金融从业者非常关心的内容。本书以功能强大且较易上手的Python 语言为编程环境,全面讲解了金融数据的获取、处理、分析及结果呈现。 全书共16 章,内容涉及Python 基础知识、网络数据爬虫技术、数据库存取、数据清洗、数据可视化、数据相关性分析、IP 代理、浏览器模拟操控、邮件发送、定时任务、文件读写、云端部署、机器学习等,可以实现舆情监控、智能投顾、量化金融、大数据风控、金融反欺诈模型等多种金融应用。无论是编程知识还是金融相关知识,本书都力求从易到难、循序渐进地讲解,并辅以商业实战案例来加深印象。 本书定位为一本金融科技入门读物,但书中的数据挖掘与分析思想对其他行业来说也具备较高的参考价值。 本书又是一个金融科技工具箱,里面的代码可以方便地速查速用,解决实际工作中的问题。 本书适合金融行业的从业人员学习。对于大中专院校金融、财会等专业的师生,以及具备一定计算机编程基础,又希望投身金融行业的读者,本书也是不错的参考读物。 |
| 目录 |
---------------------------Python金融大数据风控建模实战:基于机器学习--------------------------- 前言 第1篇 智能风控背景 第1章 金融科技介绍 2 1.1 金融科技的前世今生 2 1.2 金融科技正深刻地改变和塑造着金融业态 4 1.3 新兴科技不断强化金融科技的应用能力 5 1.4 金融风险控制面临着前所未有的挑战 7 1.5 智能风控和评分卡 8 1.6 评分卡模型的开发流程 11 第2章 机器学习介绍 17 2.1 机器学习的概念 17 2.2 机器学习的分类 17 2.2.1 有监督学习 18 2.2.2 无监督学习 18 2.2.3 强化学习 19 2.3 机器学习与人工智能的关系 20 2.4 机器学习与数学的关系 20 2.5 机器学习与深度学习 22 第3章 评分卡模型介绍 25 3.1 申请评分卡 25 3.1.1 数据获取 26 3.1.2 好坏样本定义 26 3.1.3 观察期与表现期确定 29 3.1.4 样本分层 32 3.1.5 数据清洗与预处理 33 3.1.6 特征工程 33 3.1.7 模型训练与优化 35 3.2 行为评分卡 36 3.2.1 数据获取 37 3.2.2 时间窗口 37 3.2.3 特征工程 38 3.3 催收评分卡 40 3.3.1 催收评分卡分类 40 3.3.2 催收策略 41 3.4 反欺诈模型 42 3.4.1 欺诈风险与信用风险比较 42 3.4.2 欺诈模型好坏样本定义 43 3.4.3 欺诈主体分析 44 3.4.4 反欺诈方法介绍 44 第2篇 评分卡理论与实战基础 第4章 数据清洗与预处理 48 4.1 数据集成 49 4.2 数据清洗 50 4.3 探索性数据分析 52 4.4 Python代码实践 54 4.4.1 数据集成 54 4.4.2 数据清洗 58 4.4.3 探索性数据分析 61 第5章 变量编码方法 66 5.1 无监督编码 66 5.1.1 One-hot编码 66 5.1.2 Dummy variable编码 68 5.1.3 Label编码 69 5.2 有监督编码 70 5.2.1 WOE编码 70 5.2.2 WOE编码与One-hot编码比较 73 5.3 Python代码实践 75 5.3.1 One-hot编码 76 5.3.2 Dummy variable编码 80 5.3.3 Label编码 82 5.3.4 WOE编码 85 第6章 变量分箱方法 89 6.1 变量分箱流程 91 6.2 最优Chi-merge卡方分箱方法 92 6.3 Best-KS分箱方法 94 6.4 最优IV分箱方法 95 6.5 基于树的最优分箱方法 95 6.6 Python代码实践 98 6.6.1 最优Chi-merge分箱 98 6.6.2 最优IV分箱 106 6.6.3 基于树的分箱 107 第7章 变量选择 109 7.1 过滤法变量选择 109 7.2 包装法变量选择 112 7.3 嵌入法变量选择 113 7.4 Python代码实践 115 7.4.1 过滤法变量选择 115 7.4.2 包装法变量选择 118 7.4.3 嵌入法变量选择 120 第8章 Logistic回归模型 123 8.1 Logistic回归模型原理 123 8.2 过拟合与欠拟合 128 8.3 Python代码实践 130 第9章 模型的评估指标 136 9.1 正负样本的选择 137 9.2 标准评估指标 139 9.3 概率密度评估指标 141 9.4 概率分布评估指标 144 9.5 Python代码实践 153 第10章 评分卡分数转化 157 10.1 由概率到分数的转换 157 10.2 变量的分值计算 159 10.3 评分卡性能评估 161 10.4 Python代码实践 163 第11章 模型在线监控 169 11.1 稳定性监控 169 11.2 单调性监控 172 11.3 性能监控指标 173 11.4 Python代码实践 174 第3篇 评分卡理论与实战进阶 第12章 样本不均衡处理 180 12.1 数据层下采样样本不均衡的处理方法 181 12.1.1 随机下采样方法 181 12.1.2 样本邻域选择的下采样方法 182 12.1.3 样本邻域清理的下采样方法 184 12.1.4 Bagging集成的下采样方法 185 12.1.5 Boosting集成的下采样方法 187 12.2 数据层上采样样本不均衡的处理方法 188 12.2.1 随机上采样方法 188 12.2.2 SMOTE样本生成方法 189 12.2.3 Borderline-SMOTE样本生成方法 190 12.3 算法层样本不均衡的处理方法 190 12.4 模型评估层样本不均衡的处理方法 191 12.5 Python代码实践 191 12.5.1 数据层下采样样本不均衡处理代码实现 192 12.5.2 数据层上采样样本不均衡处理代码实现 201 第13章 特征工程进阶 206 13.1 数据层特征工程 206 13.2 算法层特征工程 211 13.2.1 基于树模型的特征生成 211 13.2.2 FM特征交叉 215 13.3 Python代码实践 219 13.3.1 数据层特征工程代码实现 219 13.3.2 算法层特征工程代码实现 222 第14章 决策树模型 229 14.1 决策树模型的原理 229 14.2 决策树学习 229 14.3 决策树与过拟合 234 14.4 Python代码实践 236 第15章 神经网络模型 241 15.1 神经元模型 241 15.2 神经网络的网络结构 242 15.3 神经网络的学习策略 247 15.4 Python代码实践 253 第16章 支持向量机模型 257 16.1 感知器模型 257 16.1.1 感知器模型的原理 257 16.1.2 感知器与支持向量机模型 260 16.2 线性可分支持向量机 261 16.3 线性支持向量机 267 16.4 非线性支持向量机 272 16.5 感知器相关模型比较 278 16.6 Python代码实践 280 16.6.1 线性支持向量机模型代码实现 280 16.6.2 非线性支持向量机模型代码实现 282 第17章 集成学习 286 17.1 Bagging与Boosting对比 286 17.2 Random Forest模型原理 288 17.3 Adaboost模型原理 289 17.4 GBDT模型原理 292 17.5 Xgboost模型原理 297 17.6 Python代码实践 304 17.6.1 Random Forest模型 304 17.6.2 Adaboost模型 308 17.6.3 GBDT模型 310 17.6.4 Xgboost模型 313 第18章 模型融合 317 18.1 Blending方法原理 317 18.2 Stacking方法原理 320 18.3 Python代码实践 322 18.3.1 Blending模型融合代码实现 322 18.3.2 Stacking模型融合代码实现 325 第4篇 Lending Club数据集实战 第19章 完整的模型开发实现 330 19.1 数据源介绍 330 19.2 数据的获取与预处理 331 19.2.1 数据准备 331 19.2.2 好坏样本定义 334 19.2.3 数据清洗与预处理 335 19.3 特征工程 341 19.3.1 简单的特征工程 341 19.3.2 变量分箱与编码 342 19.3.3 变量选择 348 19.4 模型构建与评估 351 19.4.1 模型构建与优化 351 19.4.2 模型评估 352 19.5 评分卡生成 353 附录A 主要符号表 357 附录B 开发环境简介 358 参考文献 362 ---------------------------Python金融大数据挖掘与分析全流程详解--------------------------- 前言 如何获取学习资源 第1章 Python基础 1.1 Python安装与第一个Python程序 12 1.1.1 安装Python 12 1.1.2 编写第一个Python程序 13 1.1.3 PyCharm的安装与使用 14 1.2 Python基础知识 18 1.2.1 变量、行、缩进与注释 18 1.2.2 数据类型:数字与字符串 20 1.2.3 数据类型:列表与字典、元组与集合 22 1.2.4 运算符 27 1.3 Python语句 29 1.3.1 if条件语句 29 1.3.2 for循环语句 30 1.3.3 while循环语句 31 1.3.4 try/except异常处理语句 32 1.4 函数与库 33 1.4.1 函数的定义与调用 33 1.4.2 函数的返回值与作用域 34 1.4.3 常用基本函数介绍 36 1.4.4 库 38 第2章 金融数据挖掘之爬虫技术基础 2.1 爬虫技术基础1—网页结构基础 41 2.1.1 查看网页源代码—F12键 41 2.1.2 查看网页源代码—右键菜单 43 2.1.3 网址构成及http与https协议 44 2.1.4 网页结构初步了解 44 2.2 爬虫技术基础2—网页结构进阶 44 2.2.1 HTML基础知识1—我的第一个网页 45 2.2.2 HTML基础知识2—基础结构 45 2.2.3 HTML基础知识3—标题、段落、链接 46 2.2.4 HTML基础知识4—区块 49 2.2.5 HTML基础知识5—类与id 49 2.3 初步实战—百度新闻源代码获取 50 2.3.1 获取网页源代码 51 2.3.2 分析网页源代码信息 53 2.4 爬虫技术基础3—正则表达式 54 2.4.1 正则表达式基础1—findall()函数 54 2.4.2 正则表达式基础2—非贪婪匹配之(.*) 55 2.4.3 正则表达式基础3—非贪婪匹配之.* 57 2.4.4 正则表达式基础4—自动考虑换行的修饰符re.S 60 2.4.5 正则表达式基础5—知识点补充 61 第3章 金融数据挖掘案例实战1 3.1 提取百度新闻标题、网址、日期及来源 63 3.1.1 获取网页源代码 63 3.1.2 编写正则表达式提取新闻信息 63 3.1.3 数据清洗并打印输出 65 3.2 批量获取多家公司的百度新闻并生成数据报告 68 3.2.1 批量爬取多家公司的百度新闻 68 3.2.2 自动生成舆情数据报告文本文件 69 3.3 异常处理及24小时实时数据挖掘实战 71 3.3.1 异常处理实战 72 3.3.2 24小时实时爬取实战 72 3.4 按时间顺序爬取及批量爬取多页内容 74 3.4.1 按时间顺序爬取百度新闻 74 3.4.2 一次性批量爬取多页内容 75 3.5 搜狗新闻与新浪财经数据挖掘实战 78 3.5.1 搜狗新闻数据挖掘实战 78 3.5.2 新浪财经数据挖掘实战 82 第4章 数据库详解及实战 4.1 MySQL数据库简介及安装 86 4.2 MySQL数据库基础 89 4.2.1 MySQL数据库管理平台phpMyAdmin介绍 89 4.2.2 创建数据库及数据表 90 4.2.3 数据表基本操作 92 4.3 Python与MySQL数据库的交互 96 4.3.1 安装PyMySQL库 96 4.3.2 用Python连接数据库 96 4.3.3 用Python存储数据到数据库 97 4.3.4 用Python在数据库中查找并提取数据 101 4.3.5 用Python从数据库中删除数据 102 4.4 案例实战:把金融数据存入数据库 103 第5章 数据清洗优化及数据评分系统搭建 5.1 深度分析—数据去重及清洗优化 105 5.1.1 数据去重 105 5.1.2 常见的数据清洗手段及日期格式统一 107 5.1.3 文本内容深度过滤—剔除噪声数据 108 5.2 数据乱码的处理 110 5.2.1 编码分析 111 5.2.2 重新编码及解码 112 5.2.3 解决乱码问题的经验方法 114 5.3 舆情数据评分系统搭建 115 5.3.1 舆情数据评分系统版本1—根据标题评分 115 5.3.2 舆情数据评分系统版本2—根据正文内容评分 117 5.3.3 舆情数据评分系统版本3—解决乱码问题 118 5.3.4 舆情数据评分系统版本4—处理非相关信息 119 5.4 完整的百度新闻数据挖掘系统搭建 121 5.4.1 将舆情数据评分存入数据库 121 5.4.2 百度新闻数据挖掘系统代码整合 123 5.4.3 从数据库汇总每日评分 127 第6章 数据分析利器:NumPy与pandas库 6.1 NumPy库基础 129 6.1.1 NumPy库与数组 129 6.1.2 创建数组的几种方式 131 6.2 pandas库基础 132 6.2.1 二维数据表格DataFrame的创建与索引的修改 133 6.2.2 Excel工作簿等文件的读取和写入 137 6.2.3 数据的读取与编辑 139 6.2.4 数据表的拼接 144 6.3 利用pandas库导出舆情数据评分 147 6.3.1 汇总舆情数据评分 148 6.3.2 导出舆情数据评分表格 150 第7章 数据可视化与数据相关性分析 7.1 用Tushare库调取股价数据 152 7.1.1 Tushare库的基本用法 152 7.1.2 匹配舆情数据评分与股价数据 154 7.2 舆情数据评分与股价数据的可视化 155 7.2.1 数据可视化基础 156 7.2.2 数据可视化实战 160 7.3 舆情数据评分与股价数据相关性分析 162 7.3.1 皮尔逊相关系数 162 7.3.2 相关性分析实战 164 第8章 金融数据挖掘之爬虫技术进阶 8.1 爬虫技术进阶1—IP代理简介 165 8.1.1 IP代理的工作原理 165 8.1.2 IP代理的使用方法 166 8.2 爬虫技术进阶2—Selenium库详解 169 8.2.1 网络数据挖掘的难点 169 8.2.2 模拟浏览器ChromeDriver的下载与安装 170 8.2.3 Selenium库的安装 172 8.2.4 Selenium库的使用 173 第9章 金融数据挖掘案例实战2 9.1 新浪财经股票实时数据挖掘实战 180 9.1.1 获取网页源代码 180 9.1.2 数据提取 181 9.2 东方财富网数据挖掘实战 182 9.2.1 获取网页源代码 183 9.2.2 编写正则表达式提取数据 183 9.2.3 数据清洗及打印输出 185 9.2.4 函数定义及调用 185 9.3 裁判文书网数据挖掘实战 186 9.4 巨潮资讯网数据挖掘实战 188 9.4.1 获取网页源代码 189 9.4.2 编写正则表达式提取数据 190 9.4.3 数据清洗及打印输出 191 9.4.4 函数定义及调用 191 第10章 通过PDF文本解析上市公司理财公告 10.1 PDF文件批量下载实战 193 10.1.1 爬取多页内容 193 10.1.2 自动筛选所需内容 197 10.1.3 理财公告PDF文件的自动批量下载 199 10.2 PDF文本解析基础 203 10.2.1 用pdfplumber库提取文本内容 203 10.2.2 用pdfplumber库提取表格内容 204 10.3 PDF文本解析实战—寻找合适的理财公告 206 10.3.1 遍历文件夹里所有的PDF文件 207 10.3.2 批量解析每一个PDF文件 209 10.3.3 将合格的PDF文件自动归档 209 第11章 邮件提醒系统搭建 11.1 用Python自动发送邮件 213 11.1.1 通过腾讯QQ邮箱发送邮件 213 11.1.2 通过网易163邮箱发送邮件 215 11.1.3 发送HTML格式的邮件 216 11.1.4 发送邮件附件 218 11.2 案例实战:定时发送数据分析报告 221 11.2.1 用Python提取数据并发送数据分析报告邮件 221 11.2.2 用Python实现每天定时发送邮件 226 第12章 基于评级报告的投资决策分析 12.1 获取券商研报网站的表格数据 229 12.1.1 表格数据的常规获取方法 229 12.1.2 用Selenium库爬取和讯研报网表格数据 232 12.2 pandas库的高阶用法 235 12.2.1 重复值和缺失值处理 235 12.2.2 用groupby()函数分组汇总数据 238 12.2.3 用pandas库进行批量处理 240 12.3 评估券商分析师预测准确度 244 12.3.1 读取分析师评级报告数据进行数据预处理 244 12.3.2 用Tushare库计算股票收益率 247 12.3.3 计算平均收益率并进行分析师预测准确度排名 251 12.4 策略延伸 253 12.4.1 涨停板的考虑 253 12.4.2 按分析师查看每只股票的收益率 254 12.4.3 计算多阶段股票收益率 255 第13章 用Python生成Word文档 13.1 用Python创建Word文档的基础知识 257 13.1.1 初识python-docx库 257 13.1.2 python-docx库的基本操作 258 13.2 用Python创建Word文档的进阶知识 261 13.2.1 设置中文字体 261 13.2.2 在段落中新增文字 261 13.2.3 设置字体大小及颜色 262 13.2.4 设置段落格式 264 13.2.5 设置表格样式 267 13.2.6 设置图片样式 268 13.3 案例实战:自动生成数据分析报告Word文档 269 第14章 基于股票信息及其衍生变量的数据分析 14.1 策略基本思路 274 14.2 获取股票基本信息及衍生变量数据 275 14.2.1 获取股票基本信息数据 275 14.2.2 获取股票衍生变量数据 279 14.2.3 通过相关性分析选取合适的衍生变量 282 14.2.4 数据表优化及代码汇总 283 14.3 数据可视化呈现 285 14.4 用xlwings库生成Excel工作簿 287 14.4.1 xlwings库的基本用法 287 14.4.2 案例实战:自动生成Excel工作簿报告 290 14.5 策略深化思路 292 第15章 云服务器部署实战 15.1 云服务器的购买与配置 295 15.2 程序的云端部署 298 15.2.1 安装运行程序所需的软件 299 15.2.2 实现程序24小时不间断运行 299 第16章 机器学习之客户违约预测模型搭建 16.1 机器学习在金融领域的应用 300 16.2 决策树模型的基本原理 300 16.2.1 决策树模型简介 300 16.2.2 决策树模型的建树依据 301 16.3 案例实战:客户违约预测模型搭建 303 16.3.1 模型搭建 303 16.3.2 模型预测及评估 306 16.3.3 模型可视化呈现 311 |