keras基础

2019-03-08  本文已影响0人  dataengineer

本文是DataCamp《Deep Learning in Python》课程的学习笔记,代码部分包含regression和classification2个练习,练习数据为DataCamp提供的Hourly wages。

注:数据的选择和代码的编写仅是为了练习。

1. 数据

Hourly wages包含534条工资记录,每条记录分为10列,第1列为wage per hour,其余各列为个人特征,如性别、婚姻状况、年龄、工作时间、受教育时间等等。

数据一览

2. 问题

regression:利用个人特征(第2-10列)预测wage per hour(第1列)。

classification:利用个人特征(第1-6列、第8-10列)预测婚姻状况(第7列)。

2. 准备工作

● 安装Anaconda(Python 3.7);

● 在Anaconda Prompt下依次安装mingw libpython、theano和keras;

● 启动Jupyter Notebook;

3. 代码部分

● regression

X为predictor,y为target,列的选取采用iloc;

optimizer选择"adam",loss选择"mean_squared_error";

代码1. 利用个人特征预测wage per hour

● classification

"marr"为target,其余列为predictor,列的选取使用drop;

建模前,"marr"需用to_categorical转换为2元矩阵;

模型最后一层的activation选择"softmax";

编译时,loss选择"categorical_crossentropy",metrics选择"accuracy";

建模时,将样本总数的20%单独作为validation数据,并加入EarlyStopping机制,epoch数为3(即patience为3);

红色标记显示,validation loss score在epoch3时为0.6876,之后的3个epoch显示,该指标没有进一步下降,因此,model.fit停止;

代码2. 利用个人特征及工资预测婚姻状况
上一篇 下一篇

猜你喜欢

热点阅读