0%

​ 时光真是一把杀猪刀,转眼间,2020结束了。

​ 自嘲,惊喜,忧虑,烦闷等等,等等,充满了2020,

​ 不断的后悔过去的行为,却又无法改变现在的自己,无语阻止现在这样的可笑可悲的戏剧上演。

​ 惊喜的是。。。害,其实我心里知道的,那时我就心里知道了大概多少分了,应该说我是刚愎自负,没错,我不缺少自信,我是自负,那刻进骨子里的认为自己了不起,说起来,我早就总结出这一条了,早就。。。

​ 然而我却还是无法阻止我自己,无法时时刻刻保持头脑冷静,清醒,没错,我是一个容易激动兴奋的人,而一激动就容易说出不该说的,容易激动通常发生在 计划之外的意外发生,急需要解决的问题,这时大脑瞬间被攻破,那是。。。愚蠢!

​ 打起精神来啊,你不需要谁的同情,怜悯,挺胸抬头,即使忧虑烦闷,也别人任何意外任何人事冲破你的防线,

​ 你要时时刻刻提醒你自己!

​ 总的说来,年末,这次学习阶段快结束,学习状况很差,没错,我改改变自己的学习方向,学习方法了,不对,其实不是学习方法,而是学习方向,每个学到什么程度就放手,不能再浪费时间在上面了,高中时期的教训你忘了吗!不要犯傻!

​ 如果说过去我是在为兴趣,为职业而学,那从今天开始我是为未来而学,我是为有更多的学习机会而学,要想有更多的学习机会,那就得让能给你学习机会,前程的人知道你的本事!展示你的能力,其它时候:低调!低调!低调!稳住啊!现在,大多数人我都了解了,我想并不值得,那就佛系就好。

​ 记住,你可以为了你的目标抛开一切,不要顾及那些人事,不值得,你明明知道的。

实验目的

  • 通过实验掌握基本的 MapReduce 编程
  • 掌握用 MapReduce 解决一些常见数据处理问题的方法,包括数据去重、数据排序和数据挖掘等

实验环境

Q&A

补充

参考

“小丑竟是我自己”,来自于一表情包,却提醒了我。

提醒我最近的愚蠢,可笑,可叹,最近愚蠢的小丑行为。

不要被突如其来的的事 打乱了脚步,冷静下来,不要做了小丑还浑然不知,

最近就是如此,不要多说什么,没有必要的绝不言,你明明知道问了毫无收获,你就是放纵自己了,

不要让兴奋,意外破掉了你的防线!

生于忧患死于安乐,谨记啊!

从来让你醒来的不是鼓励,不是正能量,而正是那些让你愤怒,忧虑的负能量,是那些拯救了你。

过去很长一段时间的学习,我都是求真正掌握老师教的,甚至自己再扩展加深,这导致时间非常紧张,以及时间压迫导致还不一定能考出高分。

现在我决意已现(好吧,还有些犹豫),考证和考研,

学校课 面向考试学习:现在我的方向目标是学校课考高分,不追求理解,只求最后考试考出高分即可,尽量理解老师课上所教,尽量课上解决所有疑问,不要留到课下,不追求研究问题,而是为了考试而解决问题,省下时间去考证和考研,

有了这些资本,升学,让进一步成长的我再深入研究那些原理,

好吧,我要先做调包侠了,但现在的稳是为了将来,现在让自己看起来很厉害才有机会继续深造,现实就是这样

仔细想来,我真是傻了很久,不在考试上下功夫,没有证书加持,怎么能有机会继续深造,

别人深造后就会将你远远甩在身后,这就是别人的睿智,现在是为了将来

愚蠢的自己,希望将他永远留在过去。

原来,一直以来,愚蠢的只有自己

1.

  下面给出五个元素两两之间的距离,试利用最短距离法、最长距离法和类平均法做出五个元素的谱系聚类,画谱系图并做出比较。

read7.1,comment
1
2
3
d = matrix(data=c(0,0,0,0,0,4,0,0,0,0,6,9,0,0,0,1,7,10,0,0,6,3,5,8,0),nrow=5,ncol=5,byrow = TRUE);d
x = scale(d) # 数据标准化
D = dist(x);D # 默认为 Euclidean 距离
1
2
3
4
# 最短距离法
hc1 = hclust(D, method='single')
data.frame(hc1$merge,hc1$height)
plot(hc1)
1
2
3
4
# 最长距离法
hc2=hclust(D,"complete");hc2
data.frame(hc2$merge,hc2$height)
plot(hc2)
1
2
3
4
# 类平均法
hc3=hclust(D,"average");hc3
data.frame(hc3$merge,hc3$height)
plot(hc3)

总结:根据以上作图分析可知使用最短距离法效果相对较好

2.

  为了比较我国31个省、市、自治区2013年和2007年城镇居民生活消费的分布规律,根据调查资料做区域消费类型划分,并将2013年和2007年的数据进行对比分析。今收集了八个反映城镇居民生活消费结构的指标(2013年数据): 试对该数据进行聚类分析。

read7.2,comment
1
2
library(openxlsx)
d7.2 = read.xlsx("../Res/mvexer5.xlsx", "E7.2", rowNames=T);head(d7.2)
1
plot(d7.2,gap=0)
1
summary(d7.2)
1
2
3
Z = scale(d7.2);Z  # 数据标准化
boxplot(Z) # 箱型图
D = dist(Z)
block7.2.1,comment
1
2
3
4
hc = hclust(D, 'single') # 最短距离法
plot(hc);rect.hclust(hc, 2);cutree(hc, 2) # 分2类
plot(hc);rect.hclust(hc, 3);cutree(hc, 3) # 分3类
plot(hc);rect.hclust(hc, 4);cutree(hc, 4) # 分4类
1
2
3
4
hc2 = hclust(D, 'ward.D2') # Ward.D2 法
plot(hc2);rect.hclust(hc2, 2);cutree(hc2, 2) # 分2类
plot(hc2);rect.hclust(hc2, 3);cutree(hc2, 3) # 分3类
plot(hc2);rect.hclust(hc2, 4);cutree(hc2, 4) # 分4类
1
2
# kmeans 聚类法
kmeans(Z, 2)$cluster # 分2类
1
kmeans(Z, 3)$cluster # 分3类
1
kmeans(Z, 4)$cluster # 分4类

总结以上的分析结果,使用ward.D2方法的效果较好,且分为四类较为合适。

3.

  按例7-3模拟方法对\(n=20,50,100,1000,10000\)分别进行kmeans法聚类分析。
  为了重复模拟,可以将例7-3的方法编成函数:

block7.3.1}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
kMock<-function(n, svar=0.3) {
set.seed(123) # 设定种子数
x1 = matrix(rnorm(n*10, 0, svar), ncol = 10) # 均值为 0, 标准差为 svar 的 n*10 正态随机矩阵
x2 = matrix(rnorm(n*10, 1, svar), ncol = 10) # 均值为 1, 标准差为 svar 的 n*10 正态随机矩阵
X = rbind(x1, x2) # 形成 随机矩阵
H = hclust(dist(X))
plot(H);rect.hclust(H,2);
cutree(H, 2) # 系统聚类结果

km = kmeans(X, 2) # K-means 聚类
#table(km)
kc = km$cluster # 分类结果
#plot(X, pch = kc)
plot(X, pch = kc, col = kc)
}

  再将n=20,50,100,1000,10000分别带入:

block7.3.2,comment
1
kMock(20)

1
kMock(50)
1
kMock(100)
1
kMock(1000)
1
kMock(10000)