keras基础

本文是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. 利用个人特征及工资预测婚姻状况
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容