PySpark笔记之二:PySpark环境LightGBM训练

Overview 就目前的PySpark版本2.4.5来说,虽有pyspark.ml这个模块可以进行机器学习,但是都是一些工业界不太常用的算法,而XGBoost和LightGBM这样的常用算法还没有集成。幸好微软前几年发布了mmlspark这个包,其中包含了深度学习和LightGBM等算法,可以和PySpark无缝对接。下面我们看看怎么用PySpark和mmlspark来运行LightGB...阅读全文>>

PySpark笔记之一:读写并处理数据

Overview PySpark是提供了Python语言API接口的Spark,经过我的初步使用,未发现和Scala API的Spark有太大差别。且我们服务器上已经配置好了PySpark,正好配合Jupyter notebook使用来进行机器学习离线训练模型。 从这篇文章开始,将从一个算法工程师的视角去记录一下Spark的使用。 Spark在我看来就是一个计算工具,用来处理单机计算不了的...阅读全文>>

TensorFlow 2.0使用CNN进行图片分类

Overview 本篇我们来记录一下怎么使用TensorFlow2.0当中的Keras模块来进行CNN图片分类。 1.加载数据 我们用经典的猫狗分类数据集来做这次图片分类。 import os import numpy as np import matplotlib.pyplot as plt import tensorflow as tf from tensorflow.keras.m...阅读全文>>

TensorFlow 2.0训练结构化数据

Overview 近期正在更新新用户模型,仍然在用XGBoost。由于训练集数据已经达到20W,故用神经网络来训练一下,看看效果如何。 TensorFlow 2.0集成了Keras,易用性很高,且Keras之后不再单独更新了,而是作为TensorFlow的一个模块来使用。我们这次就用TensorFlow 2.0中的tf.keras来训练我们的结构化数据。 1. 导入特征列表及数据 impo...阅读全文>>

互联网金融模型经验总结(一)

Overview 互联网金融行业主要涉及以下方面:保险、理财、基金、信贷、虚拟信用卡、催收等,主要用到以下类型的模型: 营销模型、召回模型、排序模型(支付宝蚂蚁财富基金推荐红包发放等) 新用户反欺诈模型 新老用户信用额度模型(蚂蚁借呗,腾讯微粒贷,京东金条,微博钱包,美团借钱,各类小贷等) 虚拟信用卡贷中风控模型(蚂蚁花呗,京东白条等) 贷后催收模型 我在互联网金融行业已经工作两年了,...阅读全文>>

IntelliJ IDEA中创建Spark项目

Overview 之前项目的人遗留的数据被接管后进行了改造,现在处理数据都用Spark来做了。这里记录一下如何在Mac本地的IntelliJ IDEA中搭建一个简单的Spark项目。这里不涉及HDFS这些相关的内容,只记录Spark。 在此之前,我们默认已经安装好了最新版的IntelliJ IDEA以及配置好了JDK。 1. IDEA中安装Scala插件 在IDEA的启动页面,点击Conf...阅读全文>>

Python3连接PostgreSQL数据库

Overview 之前项目的人遗留的数据散落在多种数据库中,既有MySQL,MongoDB,也有Cassandra和PostgreSQL。在Python3版本的jupyter中连接PostgreSQL需要安装psycopg2,而psycopg2在Python2中则是已经集成好的。 1. 安装python3-psycopg2和libpq-dev 先在Linux上安装好这两个包, sudo a...阅读全文>>

阿里云Ubuntu16.04服务器安装Jupyter

Overview Jupyter已经不用再花笔墨去介绍了。今年公司国内的业务已经很稳定,我也可以放心交给其他人了,现在主要精力放在东南亚的业务上。所以,离线模型训练就需要在云上安装Jupyter环境。这次,我用Anaconda来安装。 1. 安装Anaconda 首先找到Linux和Python3.7版本的Anaconda:Anaconda,复制链接地址。然后ssh登录到云服务器上,运行下...阅读全文>>

CatBoost贝叶斯调参程序

Overview 之前我们记录了CatBoost一个训练的例子,这次我们更新一个CatBoost调参的例子,用的是业界比较流行的贝叶斯调参法。 1. 引入依赖包并加载数据 import pandas as pd import numpy as np from catboost import CatBoostClassifier, CatBoost, Pool, cv from bayes_...阅读全文>>

Python版本CatBoost在Ubuntu16.04上安装与初步使用

Overview CatBoost据说是比Xgboost和LightGBM更快更准确的GBDT算法。本文记录一下安装过程中的一个小坑和初步使用例子。 1. 安装 先安装依赖包,six和NumPy(假定你已经安装好了Python3.6以上版本): pip install six 由于Ubuntu16.04中自带的NumPy版本是比较老的,所以要指定NumPy版本为1.16.0以上: pip...阅读全文>>