R语言学习笔记-机器学习1-3章
在折腾完爬虫还有一些感兴趣的内容后,我最近在看用R语言进行简单机器学习的知识,主要参考了《机器学习-实用案例解析》这本书。
这本书是目前市面少有的,纯粹以R语言为基础讲解的机器学习知识,书中涉及11个案例。分12章。作者备注以及代码部分都讲得比较深。不过或许因为出书较早,在数据处理方面,他使用更多的是plyr包,而我用下来,dplyr包效果更好。所以许多涉及数据处理的代码,其实可以用更简洁的方法重写。但是思路却是实打实的精华。
我之前在某长途动车上啃完了前三章,两个案例。但越往后读,越觉得后面案例处理方法越复杂,更加晦涩了,需要更多时间消化,因此暂停下来,先把前两个案例给理理顺,消化一下结构点。
书中案例数据及代码均可在官方github中下载到,地址为https://github.com/johnmyleswhite/ML_for_Hackers
案例1:美国UFO观察
该案例用的是一个含有60,000多条不明飞行物的目击记录和报告的数据集。需要回答UFO出现是否有周期性规律,以及地域规律两个问题。主要涉及数据清洗环节。
在研读后,我绘制的流程图如下图:

案例2:二分法判别垃圾邮件
该案例用的是来自于SpamAssasin的邮件,它分为垃圾邮件spam,易识别的正常邮件easy ham,不易识别的正常邮件hard ham三个类型。案例目的是做一个分类器,能够通过词频特征(如html等)快速识别邮件的类型。
使用的是朴素贝叶斯分类法。
绘制的流程图及注意事项见下:

流程图用visio 2013绘制。很喜欢它的手绘风流程图,之前想尝试一下其他流程图软件,比较下来,还是visio最好用啊……
接下来的本月目标
1)金融时间序列
2)机器学习4-7章
R语言学习笔记-机器学习1-3章的更多相关文章
- R语言学习笔记:小试R环境
买了三本R语言的书,同时使用来学习R语言,粗略翻下来感觉第一本最好: <R语言编程艺术>The Art of R Programming <R语言初学者使用>A Beginne ...
- R语言学习笔记之: 论如何正确把EXCEL文件喂给R处理
博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html ---- 前言: 应用背景兼吐槽 继续延续之前每个月至少一次更新博客,归纳总结学习心得好习惯. ...
- R语言学习笔记(二)
今天主要学习了两个统计学的基本概念:峰度和偏度,并且用R语言来描述. > vars<-c("mpg","hp","wt") &g ...
- R语言学习笔记:基础知识
1.数据分析金字塔 2.[文件]-[改变工作目录] 3.[程序包]-[设定CRAN镜像] [程序包]-[安装程序包] 4.向量 c() 例:x=c(2,5,8,3,5,9) 例:x=c(1:100) ...
- R语言学习笔记(1)
第一章:R语言介绍 一 R的使用 1 R是一种区分大小写的解释型语言.R语句由函数和赋值构成.R使用<-作为赋值符号.例如: x<-rnorm(5) 创建了一个名为x的向量对象,它包含5个 ...
- R语言学习笔记——C#中如何使用R语言setwd()函数
在R语言编译器中,设置当前工作文件夹可以用setwd()函数. > setwd("e://桌面//")> setwd("e:\桌面\")> s ...
- R语言学习笔记(一)
1.不同的行业对数据集(即表格)的行和列称谓不同,统计学家称其为观测(observation)和变量(variable): 2.R语言存储数据的结构: ①向量:类似于C语言里的一位数组,执行组合功能的 ...
- R语言学习笔记
向量化的函数 向量化的函数 ifelse/which/where/any/all/cumsum/cumprod/对于矩阵而言,可以使用rowSums/colSums.对于“穷举所有组合问题" ...
- R语言学习笔记-变量的作用域
R语言是如何将变量值和变量绑定的 在r语言中,当前的 workspace就是global enviroment,当输入变量名时,首先会在global enviroment中搜索该变量,如有,则将它显示 ...
随机推荐
- mysql5.7 root password change
mysqld_safe --skip-grant-tables &update mysql.user set authentication_string=password('Root_1234 ...
- ArrayList,Vector,LinkedList
在java.util包中定义的类集框架其核心的组成接口有如下:·Collection接口:负责保存单值的最大父接口 |-List子接口:允许保存重复元素,数据的保存顺序就是数据的增加顺序: |-Set ...
- LL(1)算法
编译原理的语法分析中一个入门的算法就是LL(1)算法了,这里做一个总结.首先比较重要的是FIRST集和FOLLOW集合的生成. 先上个例子吧: 首先说一下FIRST集的生成,这个就要看产生式右部对应的 ...
- DbContext 和ObjectContext两者的区别
http://blog.csdn.net/lvjin110/article/details/24642911 ObjectContext是一种模型优先的开发模式,DbContext是代码优先的开发模式 ...
- codevs 2928 你缺什么
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 继"你幸福吗"之后,央视又推出了"你缺什么 ...
- 解决Scala Play框架在Git Bash运行的异常:Could not find configuration file ../framework/sbt/sbt.boot.properties
Git Bash+ConEmu可以模拟Linux强大的命令行.不过在结合Scala和Play时,需要注意如下事项: 1. Scala的安装在64位操作系统下,默认会放在“C:\Program File ...
- CSS水平居中/垂直居中的N个方法
我看最近微博流行CSS居中技术,老外码农争相写相关的文章,一篇赛一篇的长啊,我把几篇归纳总结了一下,算是笔记. 孔乙己曾说:"茴香豆的回字有四种写法",万一哪天有个面试官问你:&q ...
- 使用MEF实现通用参数设置
通用后台管理系统必备功能模块包含日志管理,权限管理,数据字典,参数配置等功能.参数设置主要用于设置系统运行所需的一些基础性配置项,比如redis缓存,mq消息队列,系统版本等信息.好的参数设置需要达到 ...
- mybatis的配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- 从一个简单的ASP.NET 5站点开启.NET跨平台之旅
在经历了阿里云上“黑色1秒”的空欢喜之后,我们“被迫”考虑实现.NET的跨平台,将Web服务器由Windows换成Linux.而这种“被迫”在一个存在已久的愿望下,变得水到渠成.这个愿望就是 —— “ ...