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

产品地址:https://data.aliyun.com/product/learn?spm=a21gt.99266.416540.102.OwEfx2

一、背景

感谢大家关注玩转数据系列文章,我们希望通过在阿里云机器学习平台上提供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-08-08 00:09:47

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

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

一.背景 感谢大家关注玩转数据系列文章,我们希望通过在阿里云机器学习平台上提供demo数据并搭建相关的实验流程的方式来帮助大家学习如何通过算法来挖掘数据中的价值.本系列文章包含详细的实验流程以及相关的文档教程,欢迎大家进入阿里云数加机器学习平台体验.实验案例请在新建实验页签查看,如下图.  本章作为玩转数据系列的开篇,先提供一个简单的案例给大家热身.通过截取一份人口普查的数据,对学历和收入进行统计和分析.主要目的是帮助大家学习阿里云机器学习实验的搭建流程和组件的使用方式.任何关于阿里云机器学习方

基于Spark的机器学习实践 (九) - 聚类算法

0 相关源码 1 k-平均算法(k-means clustering)概述 1.1 回顾无监督学习 ◆ 分类.回归都属于监督学习 ◆ 无监督学习是不需要用户去指定标签的 ◆ 而我们看到的分类.回归算法都需要用户输入的训练数据集中给定一个个明确的y值 1.2 k-平均算法与无监督学习 ◆ k-平均算法是无监督学习的一种 ◆ 它不需要人为指定一个因变量,即标签y ,而是由程序自己发现,给出类别y ◆ 除此之外,无监督算法还有PCA,GMM等 源于信号处理中的一种向量量化方法,现在则更多地作为一种聚类

机器学习实践中应避免的七种常见错误

统计建模和工程开发很相似. 在工程开发中,人们有多种方法搭建一套键-值存储系统,每种设计针对使用模式有一套不同的假设.在统计建模中,也有很多算法来构造一个分类器,每种算法对数据也有各自的假设集合. 当处理少量数据时,因为实验成本很低,我们尽可能多的尝试各种算法,从而选出效果最优的算法.但提到“大数据”,提前分析数据,然后设计相应“管道”模型(预处理,建模,优化算法,评价,产品化)是事半功倍的. 正如在我以前的文章里提到,每个给定的建模问题都存在几十种解法.每个模型会提出不同的假设条件,我们也很难

机器学习实践指南:案例应用解析

试读及购买链接 <机器学习实践指南:案例应用解析>是机器学习及数据分析领域不可多得的一本著作,也是为数不多的既有大量实践应用案例又包括算法理论剖析的著作,作者针对机器学习算法既抽象复杂又涉及多门数学学科的特点,力求理论联系实际,始终以算法应用为主线,由浅入深以全新的角度诠释机器学习. 前 言第一部分 准备篇第1章 机器学习发展及应用前景 21.1 机器学习概述 21.1.1 什么是机器学习 31.1.2 机器学习的发展 31.1.3 机器学习的未来 41.2 机器学习应用前景 51.2.1 数

机器学习实践初步总结

由本人能力所限,本文不注重原理,主要内容是如何运用这种技术. 数据挖掘和机器学习是做什么用的?        主要是识别和预测.手写输入.人脸识别.指纹识别都是基于识别的.预测的就更多了,股票.天气等等.   机器学习的一般作用原理        一般来讲,给出条件和推导过程,就能推出结果. 数据作为条件,对数据处理的方法就是推导过程,经推导得到的目标数据即为我们需要的结果. x1=1,x2=2作为条件,x1+ x2是推导方法,结果是3.当然只要懂加法,无论条件怎么变化,上面那个算式都能准确的预

Python机器学习实战&lt;二&gt;:机器学习概述

1.机器学习的真实含义是利用数据来彰显数据背后的真实含义. 2.机器学习的一般用例:人脸识别.手写数字识别.垃圾邮件过滤.产品推荐等等. 3.机器学习的主要任务是分类,即将实例数据划分到合适的分类中.另一项任务是回归,主要用于预测数值型数据.分类和回归属于监督学习,之所以称为监督学习,是因为这类算法必须知道预测什么,即目标的分类信息.另一种机器学习方式是无监督学习,此时数据没有类别信息,也没有给定的目标.在无监督学习中,将数据集合分成由类似对象组成的多个类成为聚类,将寻找数据统计值的过程称为密度

【机器学习笔记二】回归分析 - 随机梯度下降

参考资料: [1]    Spark MLlib 机器学习实践 [2]    机器学习之梯度下降 http://www.cnblogs.com/rcfeng/p/3958926.html [3]   统计学习方法 1.回归分析概念 在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析. 2.梯度下降的概念 梯度下降是一个寻找函数极值的过程,在低维度下非常容易理解.例如存在函数,则我们有导数. 假设当

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模块可以通过静态或动态的方法加载到内核空间,静态加载是指在内核启动过程中加载:动态加载是指在内核运行的过程中随时加载. 一个模块被加载到内核中时,就成为内核代码的一部分.模块加载入系统