【R微课】14天用R做机器学习第二天
小编有话说:感谢伙伴们的支持和鼓励,收到很多伙伴们的留言,感受到一些伙伴们学习R语言和用R语言做机器学习的热情。
14天微课,小编希望达到这样的效果:
1 R入门了(深入挖掘,请继续Coding和Practice);
2 RStudio基本会用了;
3 关键是用R能够完整的做起机器学习项目了(学完之后,会有成就感的);
4 能够知道接下来要学什么以及怎么学了(有点无师自通的feeling)。
14天微课,适合的对象:
1 想用R做项目的伙伴们;
2 想用R解决机器学习的伙伴们;
3 想用R折腾点案例的伙伴们;
4 想把机器学习理论付诸实践的伙伴们。
14天微课,不会涉及到内容:
1 机器学习算法的原理详细介绍(机器学习水很深,却很有意思。阿法狗前三句战胜李世石,大家怎么看??);
2 R语言向量化编程和效率优化(记得,钱是你的,资源是大家的,不要浪费资源);
3 代码不会逐一解释(请见谅)。
第二天:厚积薄发,跬步千里——掌握和实践R基本语法
如何掌握和实践R的基本语法呢?
首先,伙伴们要知道R基本语法的构件,小编觉得这四大块,尤为重要,需要优先实践。
1 实践R的赋值语句;
2 实践R的常用数据结构,重点是向量、矩阵、列表、因子和数据框;
3 实践R的结构化流程——条件结构和循环结构;
4 实践R的函数和R扩展包的下载与使用。
接下来,让我们一起来Coding吧
小编逐一实践如下
1 R赋值语句
使用赋值符号“<-",例如:
myName <- '陆勤'
ourProject <- '数据人网是数据人学习、交流和分享的平台'
想一想: <- 和 = 有什么差异和应用场景??
2 R常用数据结构,向量、矩阵、列表、因子和数据框
2.1向量,用c()函数
myVec <- c(100, 360)
想一想:向量还有那些方法可以生成?赶快Coding验证一下,还记得高中的数列吗??
2.2矩阵,用matrix()函数
2.3列表,用list()函数
2.4因子,用factor()函数
2.5数据框,用data.frame()函数
想一想:如何快速地学习和使用这些函数?当然是找帮手了,R中独特的帮助,要么help(),要么问一下?,还有例子学习法,example(),小编以matrix()函数为例。
找帮助:help(matrix)或者?matrix
看实例:example(matrix)
最后,就是【立刻Coding】
3 R的结构化流程——条件结构和循环结构
现实生活中,条件那么地常态化,循环那么的亲切化,想一想,我们总跟条件和循环这逻辑打交道,如果我学习了,我就能进步;如果我不学习了,我就落后了。我学习了,我进步了,我进步了,我继续学习了,我继续学习了,我继续进步,周而复始,我越来越优秀了。哈哈,看到了吗,条件来了,循环也出现了。
3.1 条件结构
R语言,也不例外。小编用的比较多是ifelse()函数,喜欢一体化,例如:
ifelse('投资期限级别’ > 3, 1, 0)
想一想:R中还有什么方法,可以实现条件这种结构?写个代码测试一下。
3.2 循环结构
R语言循环结构,小编用的比较少。正如小编倡导,“不要浪费资源”,使用循环,对于数据量大时,比较耗资源。不管怎么样,我们还是要知道,有时候“笨方法或许是最好的方法”,for()循环,来一个高斯小时候算的1到100的 累加和,例如:
sum <- 0;
for(i in 1:100)
{
sum <- sum + i
}
print(sum)
拓展:R的向量化编程和R的apply族函数(这个问题小编在面试的时候中枪了,只怪当初学艺不精)
4 R的函数和R扩展包下载和使用
R中提供了很多函数,可以直接拿过来使用,并且还很好用了,除此之外,R中也可以自己编写函数,如何写一个好的函数,小编也说不清楚,各自开悟吧。大道至简,我们还是以高斯计算1到100之和,通过函数求解:
方法一:
利用现成的函数,sum()函数,例如:
sum(1:100)
方法二:
定义一个求和函数 add()函数
add <- function(x)
{
sum <- 0;
for(i in 1:x)
{
sum <- sum + i
}
return sum
}
add(100)
R之所以强大,R的扩展包发挥巨大作用,比方说,小编最近用的caret包,它就是一个扩展包,你要用它,就得先安装这个包,安装好后再加载,就可以使用这个包了。
安装R包,install.packages("caret")
加载R包,library("caret")
关于这个caret包,具体的用法,网络检索关键词:caret R即可找到官网介绍。
写到这里,今天小编要说的,也要花上句号了。学习是没有止境的,多说也是没有作用的。
伙伴们,想更加详实地学习R语法基础,推荐阅读《R语言实战》的前面章节的内容,里面说的很清楚,也很好用。
期待伙伴们的见解哦。
第三天的内容,小编会继续来说,下回见,伙伴们。
更多精彩内容,请点击阅读原文。
数据人网(http://shujuren.org),数据人学习、交流和分享的平台,专注于从数据中学习,努力发觉数据之洞见,积极利用数据之价值。为“让人懂数据、用数据”之使命坚持做点事情。大家可以来投稿,做分享和传播,可以给反馈。您有什么想法,请反馈给我们,谢谢。数据人网,我们共建和共享。
数据人网构建了数据人圈子,诚邀热爱数据和应用数据的伙伴们入群(马上就要突破500人了),加小编微信:luqin360,注明入圈子。
数据人网官方公众号:数据科学自媒体,分享数据科学干货。
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!