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...阅读全文>>
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...阅读全文>>
Python包管理软件pip更新后报错
Overview 今天在服务器(Ubuntu 16.04)使用pip安装深度学习包Keras的时候,发现安装结束之后下面有一行提示小字,大约就是pip有新版本可以更新,使用XXX命令更新,就顺带更新了一下,更新完了pip就不能用了... 问题描述 及时是查看下pip的版本 sudo pip --version 也会报下面的错误: Traceback (most recent call l...阅读全文>>
机器学习项目服务器上线部署全流程记录
Overview 我们团队完整的机器学习项目已经做了两个了,分别是Bastion4和Bastion6。之前两个项目上线部署的记录过于片段化,针对现在马上要做完的Bastion3项目,我们在此完整记录搭建服务器各种环境的全部流程,以备不时之需。 完整的项目基本分为三大部分:Java处理业务逻辑;Perl后台消息队列;R机器学习模型预测。每个大部分还有很多细节,我们会在每部分都详细记录。 新申...阅读全文>>
训练集归一化和测试集归一化
Overview 做T4这个项目时,训练集采用了1502条正负样本数据,生成了大量的特征,由于各特征数据变化范围差异很大,于是我们按照重新缩放法做了数据的归一化,使得各特征的取值范围均控制在(0,1)内。然而在预测独立测试集3371条正负样本时,遇到一些疑问:独立测试集怎么办?如果独立测试集归一化,该怎么归一化,以谁为基准归一化,即它的最大值和最小值从何而来? 首先,毋庸置疑,独立测试集必...阅读全文>>