“数据时代的到来了,一个数据小白也可以炼成动植物学家” ,你是不是惊讶之余带着一丝不屑嗤之以鼻呢?先放下你的小脾气,预留10分钟的时间,我带你探索真真相,耐心看完全文:
文章目录:
1,动植物学家的定义和工作内容
2,数据小白挑战动物植物学家
3,盖棺定论
1,动植物学家的定义和工作内容
什么是动植物学家呢?
植物学家,研究植物的形态、分类、生理、生态、分布、发生、遗传、进化等的科学家。动物学家,研究动物的生理、分类、生态、动物驯化等等。
动植物学家的主要工作是什么呢?
从动植物学家的定义 可知动物植物学家们的主要工作是分类,分类的过程可以简单的描述为:动植物数据的收集,动植物数据的整理,动植物数据的观察,种族内部相似特征的抽取,种族间差异特征的归纳,然后结论的检验,在重新数整理数据,不断迭代的研究过程。
2,数据小白挑战动物植物学家
数据小白为什么不能做动植物的分类工作吗?
挑战第一项工作:新捕捉A001类昆虫分辨:是雌性?还是雄性呢?
第一步:我们收集A001类昆虫历史的样本数据,分成雌性一组为:G1,雄性一组为:G2。我们本着组内找相似,组间找差异的原则:我们观察G1和G2两种昆虫的体长和翅长存在显著的差异,于是我们测量各组每一只昆虫的体长:m,翅长:n,二元组合(m,n);
计算整理:雌性昆虫的标准值, 雄性性昆虫的标准值,两组共同的协方差分别如下:
新昆虫测量:体长为:7.2,翅长为:5.6:
到此,数据对照之下,你是不是有自己的答案了呢?为严谨一些我们需要进一步计算:俗话有云:“近朱者赤,近墨者黑”,测量新昆虫到两组距离的远近,我们就可以做一些靠谱的判断,这里采用马氏距离计算公式:
计算结果为:-0.053<0, 所以 新昆虫离组G2更近,判断新昆虫为雄性。
不要为计算骚挠:R工具快速完成:
> W2equal = function(x, mu1, mu2, S){(mahalanobis(x, mu2, S) - mahalanobis(x,mu1,S))/2}
> mu1=c(6,5); mu2=c(8,6); S = matrix(c(9,2,2,4),nrow=2);x=c(7.2,5.6)
> W2equal(x, mu1,mu2, S)
[1] -0.053125由结果 -0.053125 小于 0,所以判别这是一只雄性昆虫。
挑战第二项工作:一束鸢尾花的品种?
R工具种自带有著名的名鸢尾花(iris)数据,3个品种鸢尾花数据各有50行数据,
每一行数据包括:(花萼长度, 花萼宽带,花瓣长度,花瓣宽度,品种)
四种特征对应一个品种,四种特征我们可以相信成四维空间中的点,四维是什么鬼,顿时凌乱了,稳住我们能赢:我们是不是可以转换看问题的角度,抓住重点,将四维变三维,再将三位变成二维呢?
举个例子:将二维转成一维线性,图中红,蓝表是不同种类的数值点,无论我们从垂直于横轴(x)的角度,还是从垂直纵轴(y)的角度我们无法好好的将红,蓝两个种类分开,当我们反复不断调整角度时,惊喜的发现从垂直直线(z)的角度去看,红蓝的数值点在直线(z)上的分布存在明显的差异(距离)。我们可以完美的将 二维的点降为到了一条直线上。同理:我们也可以将更高维的数据降维,换一个角度看问题,其实问题没有那么复杂,也许我们和专家的差距就在一个角度上。这也是著名的fisher判别的思想,转换角度长称为一种投影:
运用fisher的判别算法,我们鸢尾花(iris)数据进行投影,将四个因素转成两个主因素,训练主因素判别的效果,如果效果好,我们就有信心,有把握判别一束鸢尾花的品种,了解思想很重要,计算的工作就交给我们的伟大的计算机吧。
R:软件中自带著名鸢尾花(iris)数据:
通过投影方法画出了模型图(三个品种鸢尾花的模型图:
> data(iris)
> attach(iris)
> library(MASS)
> ld = lda(Species~Sepal.Length+
Sepal.Width+Petal.Length+Petal.Width)
> ld
Call:
lda(Species ~ Sepal.Length + Sepal.Width + Petal.Length +
Petal.Width)
Prior probabilities of groups:
setosa versicolor virginica
0.3333333 0.3333333 0.3333333
Group means:
Sepal.Length Sepal.Width Petal.Length Petal.Width
setosa 5.006 3.428 1.462 0.246
versicolor 5.936 2.770 4.260 1.326
virginica 6.588 2.974 5.552 2.026
Coefficients of linear discriminants:
LD1 LD2
Sepal.Length 0.8293776 0.02410215
Sepal.Width 1.5344731 2.16452123
Petal.Length -2.2012117 -0.93192121
Petal.Width -2.8104603 2.83918785
Proportion of trace:
LD1 LD2
0.9912 0.0088
> Z = predict(ld)
> newG = Z$class
> cbind(Species, newG, Z$x)
> tab = table(newG, Species)
> tab
Species
newG setosa versicolor virginica
setosa 50 0 0
versicolor 0 48 1
virginica 0 2 49
> plot(ld)> plot(fit_lda1,dimen=1)
#data_test 表示一组新花数据,预测判别
predict(ld,data_test) pre_ldal[1:length(ld)]
由结果可知,对原始150个数据的预测中,由3个判别错误,误差率为2%,我们
很有信心的拿新模型判别一束鸢尾花品种。3,盖棺定论
随着社会的发展,计算机技术的不断革新,我们的原有的工作界限被打破了,数据的在不同的领域的作用越来越强烈,一个优秀的数据工作者的价值越来越重要,他们的跨界能力随着数据量和处理数据的能力在不断的增强,我们有理由相信一个不关心数据价值的工作者将会被“数据的时代”淘汰,拥抱数据,拥抱变化,迎接新的一天。