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章

时间: 2024-10-10 03:03:37

R语言学习笔记-机器学习1-3章的相关文章

R语言学习笔记2——绘图

R语言提供了非常强大的图形绘制功能.下面来看一个例子: > dose <- c(20, 30, 40, 45, 60)> drugA <- c(16, 20, 27, 40, 60)> drugB <- c(15, 18, 25, 31, 40) > plot(dose, drugA, type="b") > plot(dose, drugB, type="b") 该例中,我们引入了R语言中第一个绘图函数plot.pl

R语言学习笔记

參考:W.N. Venables, D.M. Smith and the R DCT: Introduction to R -- Notes on R: A Programming Environment for Data Analysis and Graphics,2003. http://bayes.math.montana.edu/Rweb/Rnotes/R.html 前言:关于R 在R的官方教程里是这么给R下注解的:一个数据分析和图形显示的程序设计环境(A system for data

R语言学习笔记 之 可视化地研究参议员相似性

基于相似性聚类 很多时候,我们想了解一群人中的一个成员与其他成员之间有多么相似.例如,假设我们是一家品牌营销公司,刚刚完成了一份挂怒有潜力新品牌的研究调查问卷.在这份调查问卷中,我们向一群人展示了新品牌的几个特征,并且要求他们对这个新品牌的每个特征按五分制打分.同时也收集了目标人群的社会经济特征,例如:年龄.性别.种族.住址的邮编以及大概的年收入. 通过这份调查问卷,我们想搞清楚品牌如何吸引不同社会经济特征的人群.最重要的是,我们想要知道这个品牌是否有很大的吸引力.换个角度想这个问题,我们想看看

R语言学习笔记(二)

今天主要学习了两个统计学的基本概念:峰度和偏度,并且用R语言来描述. > vars<-c("mpg","hp","wt") > head(mtcars[vars]) mpg hp wt Mazda RX4 21.0 110 2.620 Mazda RX4 Wag 21.0 110 2.875 Datsun 710 22.8 93 2.320 Hornet 4 Drive 21.4 110 3.215 Hornet Sportab

R语言学习笔记(1)

第一章:R语言介绍 一 R的使用 1 R是一种区分大小写的解释型语言.R语句由函数和赋值构成.R使用<-作为赋值符号.例如: x<-rnorm(5) 创建了一个名为x的向量对象,它包含5个来自标准正态分布的随机偏差. 二 图形输出 pdf(”filename.pdf")-- png("filename.png")-- jpeg("filename.jpg")- 三 函数总结 help.start()--打开帮助文档首页 data()--列出当前

R语言学习笔记之: 论如何正确把EXCEL文件喂给R处理

前言: 应用背景兼吐槽 继续延续之前每个月至少一次更新博客,归纳总结学习心得好习惯. 这次的主题是论R与excel的结合,又称 论如何正确把EXCEL文件喂给R处理 分为: 1. xlsx包安装及注意事项 2.用vba实现xlsx批量转化csv 以及,这个的对象,针对跟我一样那些从R开始接触编程的,一直以来都是用excel做数据分析的人……编程大牛请轻拍 之所以要研究这个,是因为最近工作上接了个活,要把原来在excel端的报表迁移到R端,自动输出可视化图形,并制作PDF或PPT. 这个活可以分为

R语言学习笔记:基础知识

1.数据分析金字塔 2.[文件]-[改变工作目录] 3.[程序包]-[设定CRAN镜像] [程序包]-[安装程序包] 4.向量 c() 例:x=c(2,5,8,3,5,9) 例:x=c(1:100) 表示把1 - 100的所有数字都给x这个变量 5.查看x的类型:>mode(x) 6.查看x的长度:>length(x) 7.将两个向量组成一个矩阵: >rbind(x1, x2)  注:r是row的意思,即行,按行组成矩阵. >cbind(x1, x2)  注c是column的意思,

R语言学习笔记——日期时间处理

一.在利用R语言实际工作中,我们经常需要将字符串转换成时间,或者将时间转化成字符串,R语言和其他语言一样,你要告诉它如何转化?也就是告诉它format,它就可以正常的转化,但是在实际中,我碰到了一下几个很难注意的问题,先总结如下: 计算机如何理解日期:日期格式(也就是Date)表示为自1970年1月1日相对的数量,较1970-01-01更早的日期表示负值.(大部分语言都是这么处理的) 大部分语言有默认的日期格式,只要按照这个日期格式去转换字符串,计算机就能正确识别.如下: <span style

R语言学习笔记-概率函数

在R语言中,可以生成不同的分布,用于实验和学习. 在R中,概率函数形如①: 其中第一个字母表示其所指分布的某一方面: d = 密度函数(density) p = 分布函数(distribution function) q = 分位数函数(quantile function) r = 生成随机数(随机偏差) 常用的概率函数见下表: 表1 概率分布 分布名称 缩写 分布名称 缩写 Beta分布 beta Logistic分布 logis 二项分布 binom 多项分布 multinom 柯西分布 c