UCI 人口收入数据分析(python)

一、项目介绍

UCI上有许多免费的数据集可以拿来练习,可以在下面的网站找寻

http://archive.ics.uci.edu/ml/datasets.html

这次我使用的是人口收入调查,里面会有每个人的教育程度、每周工时、职业、性别等数据,并以50K为界线,分为收入大于50K和收入小于50K的人群。

首先利用pandas将数据抓下,由于数据是在网页上,直接抓网页就可以,并且用table的格式,以逗号区分列,由于原始数据没有列名称,所以需要为每列设定一个名称,下面为代码

import pandas as pd
import sklearn
file = pd.read_table(‘http://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data‘,
sep=‘,‘,
names=[‘age‘, ‘workclass‘, ‘fnlwgt‘, ‘education‘, ‘education_num‘, ‘marital_states‘, ‘occupation‘, ‘relationship‘, ‘race‘,
‘sex‘, ‘capital_gain‘,
‘capital_loss‘, ‘hours_per_week‘, ‘native_country‘, ‘income‘])  

file为表名,接着利用file.head()查看前五行的数据

接着用file.info()查看表的信息,发现数据挺完整的,没有缺失数据,只是里面数据大部分都是object,必须要做处理才有办法计算(机器是无法对文字进行计算的,需要转成数字或是矩阵)

接着用hist来看几个int的分布

可以看到capital_gain和capital_loss的分布特别奇怪,绝大部分的数据都是0,其他的数据分布都还算是正常。

接着利用value_counts来查看各列的数据统计

像是雇主的话有三分之二的人都是在私企工作,第二多的是自由业,剩下的部分在国企,还有大约1800个是不名的

从这边我们可以推断,这个数据集里虽然没有数据缺失,但是有非常多的0和?这种数据,估计是没问出结果就填了个东西,而这些填充数据会严重影响到时候的分析结果。

剩下的列就不一一展示了,可以看到有些列分布平均,像是职业,最多的也不超过20%,而且前面几名的人数相差不大,这边也可以发现每一列大约都有1800左右的填充数据。

接着我们需要去做相关性的分析,为什么要做相关性分析呢?因为我们想要找出列跟列之间是否有某种关联,还有每个列跟我们要预测的结果(income)是否有关联。

由于关联性是用数字去计算的,但是这个数据集里面大部分的列都是文字,需要先转成可以计算的数字。

这边要注意的是,大部分的文字列数据并没有连续性,所以不能直接转成数字(数字是有连续性的),需要转成矩阵,这边可以用dummies这个功能将文字列转为矩阵列

可以看到原本的workclass这一列,被拆分成了workclass_?, workclass_Federal-gov, workclass_Local-gov等,0代表不是,1代表是,也由于这样的拆分,原本的15列现在变成了110列。

这个时候我们先看看有哪些列跟我们的结果有正相关吧,我们利用corr这个功能来对每一列跟结果列做相关分析

由结果可以看到,相关性最强的是已婚人士,再过来是家庭里的丈夫,再过来是受教育的长度,年纪,工作时长,男性。而职业里公司高管是相关性最强的,再过来是专业人员,这边有点意外的是本科毕业的比硕士、博士毕业的相关性更强,种族是白人,下面是负相关最强的几个

可以看到未婚人士是负相关最强的,正好跟前面的已婚做对比,再过来是小孩,女性等,可以看到这个数据集里影响收入最主要的因素是家庭、性别、教育程度和职业。

到这边我们可以了解收入较高的用户画像是受高等教育已婚的美国中年白人,而收入较低的是没结过婚高中毕业的黑人女性

接着我们想了解收入最高的两个职业都是由什么样的人

先是看高管,可以发现高管大部分都是本科毕业居多,然后工作时间长,有很大一部分是自己开公司,然后也是已婚白人男性。

再来是专业人士,可以发现专业人士跟受教育程度相关性非常大,并且大部分工作单位是政府单位,重点是在专业人士里女性比男性的比例高,而且国籍正相关最强的不是美国而是印度和中国的亚洲女性。

可以分析出专业人士用户画像为已婚的高学历亚洲女性,并为政府工作。

接着我们想看中国籍的美国人大概都是怎么样的人,可以发现非常学历非常极端,不是博士毕业就是没读书,专业人士居多,然后竟然大部分是已婚配偶缺席这种特殊的婚姻状态,其实我也搞不太懂为什么。

以上就是一些简单的用户画像分析,由于数据源是1994年的调查,距今已经20多年了,随着时代变迁,现在的用户画像跟以前应该会有很大的不同,不过也可以借由这些数据来了解当时美国的一些生活情况。

原文地址:https://www.cnblogs.com/yenpaul/p/10326363.html

时间: 2024-10-19 07:27:23

UCI 人口收入数据分析(python)的相关文章

号外号外:9月21号关于Speed-BI 《全国人口统计数据分析》开讲了

引言:如何快速分析纷繁复杂的数据?如何快速做出老板满意的报表?如何快速将Speed-BI云平台运用到实际场景中? 本课程将通过各行各业案例背景,将Speed-BI云平台运用到实际场景中,通过熟练使用云平台可视化技巧,将枯燥的数字灵活化.可动化:通过统计图表的应用,将灵活可动的图表多样化.专业化,全方位多视角观察.分析案例相关数据,达到报表目的清晰.界面简洁.可分析维度多.反馈性强等目标,操作过程从数据整理至报表生成一步到位,主要涉及分析意图挖掘.指标判断选择.适用图表选择.多维度选择.报表快速生

吴裕雄--天生自然 PYTHON数据分析:人类发展报告——HDI, GDI,健康,全球人口数据数据分析

import pandas as pd # Data analysis import numpy as np #Data analysis import seaborn as sns # Data visualization import matplotlib.pyplot as plt # Data Visualization import matplotlib.gridspec as gridspec # subplots and grid from wordcloud import Wor

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

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

数据分析python应用到的ggplot

数据分析中应用到python中的ggplot库,可以用来画图 数据之类的用优达学院中课程七中的数据为例 数据是:https://s3.amazonaws.com/content.udacity-data.com/courses/ud359/hr_year.csv 散点图: gp=pandas.read_csv(hr_year_csv) gg=ggplot(gp,aes('yearID','HR'))+geom_point(color='red')+ggtitle(u'Total Hr by ye

程序员之数据分析Python技术栈

引言: Python是一种非常流行的脚本语言,其还提供了一个科学技术栈,可以进行快捷方便的数据分析,本系列文章将聚焦在如何使用基于Python的技术栈来构建数据分析的工具集合.工欲善其事,必先利其器,让我们来看看这些工具吧. 0. 数据分析 以及机器学习 信息时代唯一不变的就是变化. 随着信息化技术的推广和应用,大数据技术的大规模应用,于是乎数据分析.数据挖掘.机器学习甚至于从前高大上的人工智能(AI)已经开始频繁出现在各个场合,这一切昭示着数据时代的来临. 对于程序猿们来说,除了写代码,实现特

Python数据分析I

Python数据分析概述 数据分析的含义与目标 统计分析方法 提取有用信息 研究.概括.总结 Python与数据分析 Python: Guido Van Rossum Christmas Holiday, 1989 特点:简介 开发效率搞 运算速度慢(相对于C++和Java) 胶水特性(集成C语言) 数据分析:numpy.scipy.matplotlib.pandas.scikit-learn.keras Python数据分析大家族 numpy(Numeric Python): 数据结构基础.是

Python模块安装问题

python的下载:https://www.python.org/downloads/ 我个人推荐的安装指导:http://www.tuicool.com/articles/eiM3Er3/ 目录------------------------------------------------------ 安装工具setuptools(及基本使用) 安装工具pip(及基本使用)(plus:里面有whl的安装包集链接) Python安装压缩包式的模块 安装加密模块pycrypto ---------

值得收藏的45个Python优质资源(附链接)

REST API:使用 Python,Flask,Flask-RESTful 和 Flask-SQLAlchemy 构建专业的 REST API https://www.udemy.com/rest-api-flask-and-python/ 算法交易:用于财务分析和算法交易的Python,主要学习包括numpy,pandas,matplotlib,quantopian,finance https://www.udemy.com/python-for-finance-and-trading-al

【转】Python学习路线

Python最佳学习路线图 python语言基础 (1)Python3入门,数据类型,字符串 (2)判断/循环语句,函数,命名空间,作用域 (3)类与对象,继承,多态 (4)tkinter界面编程 (5)文件与异常,数据处理简介 (6)Pygame实战飞机大战,2048 python语言高级 (1)Python常见第三方库与网络编程 (2)Python正则表达式 (3)邮箱爬虫,文件遍历,金融数据爬虫,多线程爬虫 (4)Python线程.进程 (5)Python MySQL数据库,协程,jyth