点击上方“菜鸟学Python”,选择“置顶或者星标”
第一时间收到精彩推送!
说干就干,机器学习离不开数据集,这次我们就从全国大陆的人口普查数据入手,看看全国大陆的人口情况,以及利用K-means算法来分析我们可以去哪里找寻我们的另一半。数据来源于全国人口普查网站:
http://www.stats.gov.cn/tjsj/pcsj/rkpc/6rp/indexch.htm
大家只需要按照需求下载对应的数据即可,小编下载的是全国大陆各个省(直辖市)的区分性别、受教育程度的6岁及以上人口数据。并进行一定的处理后,保存为csv格式文件。处理完成后的数据如下图所示。
01.数据可视化分析
首先我们要看一下大陆的人口分布的情况,我们根据各个省市的人口数量,做出直观的可视化图片,如下图所示。
主要是利用pyecharts对上面的数据进行抽取,然后快速制作全国的人口数据分析图,这样分析起来更直观可靠。
由上图我们可以看出,大陆的人口分布中主要集中在东南沿海地区,其中广东、河南和山东是大陆人口数量前三名的省。
02.增加数据的维度
下面小编为数据增加了两个比率,分别是大陆各省市中受过高等教育(大学本科及以上)的人口所占的比重,以及在收到高等教育的人口中,男女的比例分别为多少。在此基础下,我们得到了一下的两个结果图:
从上图中可以发现,大陆各个省的受过高等教育的人群中,普遍呈现出男性高于女性的现象。而安徽省这一比例高达1.6493。而在各个省的高等教育比重中,北京上海的比重最为显著,天津的比重也不错。
但是我觉得随着教育的不断发展和教育质量的不断提升,高等教育的比例将会逐渐提升。有了以上的两个比率的分析,接下来就利用K-means算法来分析一下,究竟哪里才是我们理想的寻找另一半的地域。
03.用机器学习K-means来分析
首先我们要理解什么是K-means呢?俗话说,人以类聚,物以群分。K-means算法就是利用不同个体之间的距离来作为衡量他们之间关系远近的标准,如下图所示。
由于图中的白点距离黄色点较近,因此它被分为黄色点。这就是分类算法的依据,而K-means算法中的“K”代表的是我们想要将数据分为几类,有多少类“K”就是多少,例如上图中的“K”就应该为2类。
这里我们调用sklearn库里的KMeans算法,通过对“高等教育男女比重”, “高等教育比重"两项数据来进行聚类,将数据分为六类,然后对不同的类别,分别赋予不同的颜色。最后利用matplotlib库来进行可视化的展示。
我们以上面的“各省高等教育男女比重”和“各省高等教育比重”来作为距离数据,利用K-means算法来分为6类,如下图所示:
上图中,图片越往左下角走,说明高等教育比重和高等教育男女比重越低,而越往右上角走,则高等教育比重和高等教育男女比重越高。我们希望的是高等教育的比重越高越好,而高等教育男女比重越低越好,这样才女多的地方才有机会!
可以看出,北京处于一枝独秀的状态,自成一类,而其他的大陆各省市被划分为了其余的五类。从上面的分布中我们可以结合自身的情况来决定,到哪里去找适合自己的女朋友:
-
如果你想偏向去受高等教育高的地方,可以去上图中左上角的地方去;
-
如果是想去男女比例较为平衡的地方,可以向左下角所示的省市去;
其实想想,北京确实有很多美女如云的大学校园,比如北京外国语大学,中央名族学院,首都师范大学,外交学院,对外经济贸易大学,北京服务学院等等,都是女神啊!
近期热门:
倒计时2天!千人Python知识星球重大福利,一年仅一次,还剩2天!
太好玩了,我用Python写了个火影忍者版的连连看
建议看一下,零基础学Python都想问的6个问题,老司机给你两千字解答
学习群:
小密圈人气很高的两个实战项目
小密圈的趣味实战-微信主题
3个月还没入门Python,看这100名小密圈的同学3周学Python的杰作
本篇文章来源于: 菜鸟学Python
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 我用Python开了外挂,元宵节我做了一个灯谜答题王03/25
- ♥ python中的init是什么意思08/22
- ♥ 什么是mongodb12/19
- ♥ 一个Python Web工程师的面试总结(文末有中奖名单)03/12
- ♥ 如何在python中找到与列表元素对应的索引09/06
- ♥ python和java一样吗10/15
内容反馈