欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!
对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。
作者:herain R语言中文社区专栏作者
知乎ID:https://www.zhihu.com/people/herain-14
前言
问天问地不如问知乎:【 主成分分析偏向统计技术,小白可以跳过】
天地不仁,以万物为刍狗,天地没有闲工夫关心的单身那件小事;所以答案在知乎,同是天涯沦落人,感谢知乎好心人。一起看看知友的回答吧。
本文纲目:
1.数据来源简述
2.数据的简单描述
2.1 亮眼高赞的回答
2.2 数据的总体描述
2.3 R制作关键词词频图
3.主成分分析实战
3.1 ,巧妙的数据转换
3.2,什么是主成分分析?
3.3,主成分分析步骤
3.4,R具体操作
4.寄托未来
1.数据来源简述
感谢知乎平台,感谢知友贡献,感谢Python:获取知乎【单身理由】,【单身的好处】,【为什么越来越多的人选择单身】三个搜索关键词的搜索数据。
数据获取流程图
1#数据表结构
2mysql> desc why_single;
3+-----------+--------------+------+-----+---------+----------------+
4| Field | Type | Null | Key | Default | Extra |
5+-----------+--------------+------+-----+---------+----------------+
6| w_id | int(20) | NO | PRI | NULL | auto_increment |
7| title | varchar(100) | YES | | NULL | |
8| content | text | YES | | NULL | |
9| vote_num | int(4) | YES | | NULL | |
10| words | varchar(500) | YES | | NULL | |
11| words_num | int(4) | YES | | NULL | |
12+-----------+--------------+------+-----+---------+----------------+
13
14#单条数据: title题目,content文章内容,vote_num赞同数,words关键词,words_num关键词个数
15
16mysql> select * from why_single limit 1 \G;
17*************************** 1. row ***************************
18 w_id: 602
19 title: 纯属个人观点客观上来说,现在单身的挺多都是条件很好的。拿我一个朋友的姐姐举个栗子长相中等偏上,性格温
20 content: 纯属个人观点客观上来说,现在单身的挺多都是条件很好的。拿我一个朋友的姐姐举个栗子长相中等偏上,性格温柔,家庭条件一般可是人家自己努力呀,本科,研究生出来工作,月薪,后公司出钱出国培训,回来后升职加薪,工资。现在出头了,周围有人介绍过相亲,可是对方一听这条件都走了,有的觉得太女强人了,有的觉得自己薪水没她高难堪,有的觉得她看不上自己主动放弃。事实上,她是一旦你跨出第一步,即使之后的步都由她来走也无所谓这种女生,然而从未有人跨出这一步来。再者有部分是高不成低不就的,反正还年轻,也不急,诗酒趁年华嘛。也有将感情视为重大的抉择,希望慎重考虑这些也不在少数,比如我记几。希望谈一场不分手的恋爱,所以就会想得很多,哎我能承担两个人在一起后的责任吗?若有了孩子我能教育得好吗?再反过来审视自己,嗯还差得很远,算了再等等。总得来说。毕竟人生只有一次,要为自己而活。你若盛开,清风自来。
21 vote_num: 0
22 words: 条件,不急,月薪,一般,家庭,人家,温柔,公司,纯属,教育,重大,朋友,客观,孩子,姐姐,感情,个人观点,研究生,工作,性格,诗酒,年轻,努力,培训,对方,很好
23words_num: 26
24
2.数据的简单描述
2.1
亮眼的回答
亮眼的高赞回答
2.2
数据的总体描述
1#文章总数,赞同总数,关键词总数
2select count(1) as article_num, sum(vote_num) as vote_num , sum(words_num) from why_single;
3+-------------+----------+----------------+
4| article_num | vote_num | sum(words_num) |
5+-------------+----------+----------------+
6| 535 | 295044 | 11154 |
7+-------------+----------+----------------+
81 row in set (0.01 sec)
2.3
R制作关键词词频图
1mysql> select words from why_single order by vote_num desc limit 2 \G;
2*************************** 1. row ***************************
3words: 女博士,博士,工作,干部,答友,妈呀,人生,干嘛,儿子,优秀,厅长,男人,情趣,经历,感情,正统,有点,背景,羊毛,清醒,氮气,分数,教育,头脑,家务,复杂,家庭,我会,围观,充满
4*************************** 2. row ***************************
5words: 问题,态度,女生,情绪,情感,生活,对方,阶段,用法,友善,爱意,块钱,故事,心情,方式,预测,道理,我会,丰富,干货,人生,束缚,女朋友,礼貌,人格,准则,男生,紧急,悬念,热烈
6*************************** 3. row ***************************
7words: 生活,北京,女人,经历,套路,婚姻,逻辑,同事,社会,质量,孩子,无法,男生,快乐,车房,合适,巨大,妻子,消费者,廊坊,全职,旅游,故事,问题,事业,不错,干嘛,评论,洗脑,个人
8#R绘制词云图
9> data1<-read.table('forzhihu/kws.csv',header=T, encoding='GB2312')
10> v <-data.frame(ftable(data1))
11> wordcloud(v$x,v$Freq,colors = rainbow(length(v$Freq)));
关键词高频词云
3.主成分分析实战3.1
巧妙的数据转换
从上文环境中,可知我们有535篇文章,每个文章都有赞同数(用于加权),每个文章的关键词反映出对单身原因的看法,1篇文章对应多个关键词,是不是说明1篇文章反馈出多种单身的原因呢?基于词云我们可以将单身的原因进行聚类分析。量化每一篇文在聚类原因中的权重值,这也我们是不是将数据转化为 535 行,n类(聚类个数)的单身原因权重表呢?
网友评论