【机器学习PAI实践二】人口普查统计

一、背景

感谢大家关注玩转数据系列文章,我们希望通过在阿里云机器学习平台上提供demo数据并搭建相关的实验流程的方式来帮助大家学习如何通过算法来挖掘数据中的价值。本系列文章包含详细的实验流程以及相关的文档教程,欢迎大家进入阿里云数加机器学习平台体验。实验案例请在新建实验页签查看,如下图。 

本章作为玩转数据系列的开篇,先提供一个简单的案例给大家热身。通过截取一份人口普查的数据,对学历和收入进行统计和分析。主要目的是帮助大家学习阿里云机器学习实验的搭建流程和组件的使用方式。任何关于阿里云机器学习方面的交流欢迎访问我们的云栖社区公众号

二、数据集介绍

数据源: UCI开源数据集Adult 
针对美国某区域的一次人口普查结果,共32561条数据。具体字段如下表:

字段名 含义 类型
age 年龄 double
workclass 工作类型 string
fnlwgt 序号 string
education 教育程度 string
education_num 受教育时间 double
maritial_status 婚姻状况 string
occupation 职业 string
relationship 关系 string
race 种族 string
sex 性别 string
capital_gain 资本收益 string
capital_loss 资本损失 string
hours_per_week 每周工作小时数 double
native_country 原籍 string
income 收入 string

三、数据探索流程

选中人口统计demo,从模型生成实验,如下图: 

使用方式:

-用户通过从左边列表拖拽组件到试验区域搭建实验流程

-在配置区域对每个组件的参数进行设置

1.数据导入

机器学习平台的底层计算式阿里云分布式计算系统MaxCompute(原名ODPS),所以实验数据需要先导入到ODPS表里,用户可以通过读ODPS表(图中的数据源-人口统计)组件导入数据。上传成功后,右键组件可以查看数据,如下图: 

2.理解数据

数据导入后就可以对数据进行分析了,整个实现从纵向看分为三个部分。 

其中全表统计和数值分布统计是帮助用户更好的理解一份数据,理解一份数据是符合泊松分布或是高斯分布,连续或是离散的对之后的算法的选择会有一定帮助(具体的对照关系在之后的文章会详细介绍)。阿里云机器学习的每个套件都提供了可视化显示结果的功能,下图是数值统计的直方图组件结果,可以清楚地看到每个输入数值的分布情况。

3.统计不同学历的人员的收入情况

每个人都想增加收入,都想知道哪些因素对收入的影响最大。这些问题都可以通过提取特征,利用机器学习算法训练来得到。本文主要目的是简单介绍一下机器学习平台的使用方法,这里简单的针对不同学历的人员的收入做一下统计。

(1)数据的预处理

我们看到在收入统计的这条线上,数据流入的第一个组件是SQL脚本(如下图),机器学习平台提供SQL脚本对于数据进行处理。这里是将string型的income字段转换成二值型的0和1的形式。0表示年收入在50K以下,1表示年收入在50K以上。这种将文本数据数值化是机器学习特征处理的常用方式,以后会经常用到这种方式。 

(2)过滤与映射

这一步主要是通过过滤与映射组件将数据按照学历分为三部分,分别是博士、硕士和学士。过滤与映射底层是SQL语法,支持where过滤条件,用户通过在右边的配置栏填写过滤条件即可。 

(3)统计结果

通过每个百分位组件就可以方便的得到每个分类下的收入比例。下图是调成折线图的展示效果,结果中为0的点也就是年收入在50K以下的人群占比例百分之25左右。 

结合三个百分位组件就可以得到如下图结果。

学历 年收入>50K比例
博士 75%
硕士 57%
学士 42%

四、其它

作者微信公众号:

凡人机器学习

时间: 2024-10-19 06:26:19

【机器学习PAI实践二】人口普查统计的相关文章

【机器学习实践二】人口普查统计

产品地址:https://data.aliyun.com/product/learn?spm=a21gt.99266.416540.102.OwEfx2 一.背景 感谢大家关注玩转数据系列文章,我们希望通过在阿里云机器学习平台上提供demo数据并搭建相关的实验流程的方式来帮助大家学习如何通过算法来挖掘数据中的价值.本系列文章包含详细的实验流程以及相关的文档教程,欢迎大家进入阿里云数加机器学习平台体验.实验案例请在新建实验页签查看,如下图. 本章作为玩转数据系列的开篇,先提供一个简单的案例给大家热

机器学习PAI全新功效——实时新闻热点Online Learning实践

(机器学习PAI Online Learning模块上线邀测,目前只支持华北2(北京)区域使用,本实验会用到流式机器学习算法)PAI地址:https://data.aliyun.com/product/learn邀测申请地址:https://data.aliyun.com/paionlinelearning 打开新闻客户端,往往会收到热点新闻推送相关的内容.新闻客户端作为一个承载新闻的平台,实时会产生大量的 新闻,如何快速挖掘出哪些新产生的新闻会成为成为热点新闻,决定着整个平台的新闻推荐质量.

机器学习实例--预测美国人口收入状况

一.     问题描述 每个人都希望自己能获得更高的收入,而影响收入高低的因素有很多,能否通过大数据分析来找出对收入影响相对较大的因素? 二.     研究意义 如果我们知道对收入高低起决定性的作用,或者哪些因素组合在一起也能增大收入的可能性,那可以帮助很多人少走弯路,朝着正确的方向努力,早日达到目标. 三.     数据预处理 1.  选取数据集 本报告选取"adult"数据集,由美国人口普查数据集库抽取而来. 该数据集类变量为年收入是否超过50k,属性变量包含年龄,工种,学历,职业

[阿里云-机器学习PAI快速入门与业务实战 ]课时1-机器学习背景知识以及业务架构介绍

什么是机器学习? 机器学习指的是机器通过统计学算法,对大量的历史数据进行学习从而生成经验模型,利用经验模型指导业务. 目前机器学习主要在一下一些方面发挥作用: 营销类场景:商品推荐.用户群体画像.广告精准投放 金融类场景:贷款发放预测.金融风险控制.股票走势预测.黄金价格预测 SNS关系挖掘:微博粉丝领袖分析.社交关系链分析 文本类场景:新闻分类.关键词提起.文章摘要.文本内容分析 非结构化数据处理场景:图片分类.图片文本内容提取OCR 其它各类预测场景:降雨预测.足球比赛结果预测 当然,机器学

《Python机器学习及实践:从零开始通往Kaggle竞赛之路》

<Python 机器学习及实践–从零开始通往kaggle竞赛之路>很基础 主要介绍了Scikit-learn,顺带介绍了pandas.numpy.matplotlib.scipy. 本书代码基于python2.x.不过大部分可以通过修改print()来适应python3.5.x. 提供的代码默认使用 Jupyter Notebook,建议安装Anaconda3. 最好是到https://www.kaggle.com注册账号后,运行下第四章的代码,感受下. 监督学习: 2.1.1分类学习(Cla

Spark机器学习实战 (十二) - 推荐系统实战

0 相关源码 将结合前述知识进行综合实战,以达到所学即所用.在推荐系统项目中,讲解了推荐系统基本原理以及实现推荐系统的架构思路,有其他相关研发经验基础的同学可以结合以往的经验,实现自己的推荐系统. 1 推荐系统简介 1.1 什么是推荐系统 1.2 推荐系统的作用 1.2.1 帮助顾客快速定位需求,节省时间 1.2.2 大幅度提高销售量 1.3 推荐系统的技术思想 1.3.1 推荐系统是一种机器学习的工程应用 1.3.2 推荐系统基于知识发现原理 1.4 推荐系统的工业化实现 Apache Spa

机器学习入门实践——线性回归&非线性回归&mnist手写体识别

把一本<白话深度学习与tensorflow>给啃完了,了解了一下基本的BP网络,CNN,RNN这些.感觉实际上算法本身不是特别的深奥难懂,最简单的BP网络基本上学完微积分和概率论就能搞懂,CNN引入的卷积,池化等也是数字图像处理中比较成熟的理论,RNN使用的数学工具相对而言比较高深一些,需要再深入消化消化,最近也在啃白皮书,争取从数学上把这些理论吃透 当然光学理论不太行,还是得要有一些实践的,下面是三个入门级别的,可以用来辅助对BP网络的理解 环境:win10 WSL ubuntu 18.04

ASP.NET MVC5 网站开发实践(二) Member区域 - 添加文章

转自:http://www.cnblogs.com/mzwhj/p/3592895.html 上次把架构做好了,这次做添加文章.添加文章涉及附件的上传管理及富文本编辑器的使用,早添加文章时一并实现. 要点: 富文本编辑器采用KindEditor.功能很强大,国人开发,LGPL开源,自己人的好东西没有理由不支持. 附件的上传同样基于KindEditor实现,可以上传图片,flash,影音,文件等. 目录 ASP.NET MVC5 网站开发实践 - 概述 ASP.NET MVC5 网站开发实践(一)

Linux及安全实践二

Linux及安全实践二   基本内核模块 20135238 龚睿 1.  理解模块原理 linux模块是一些可以作为独立程序来编译的函数和数据类型的集合.之所以提供模块机制,是因为Linux本身是一个单内核.单内核由于所有内容都集成在一起,效率很高,但可扩展性和可维护性相对较差,模块机制可弥补这一缺陷. Linux模块可以通过静态或动态的方法加载到内核空间,静态加载是指在内核启动过程中加载:动态加载是指在内核运行的过程中随时加载. 一个模块被加载到内核中时,就成为内核代码的一部分.模块加载入系统