#定义函数,打开每一个文件,找到空行,将空行后的文本返回为一个字符串向量,该向量只有一个元素,就是空行之后的所有文本拼接之后的字符串 #很多邮件都包含了非ASCII字符,因此设为latin1就可以读取非ASCII字符 #readLines,读取每一行作为一个元素 #异常捕获是自己加的,书上没有,不加会出错,因为有些邮件没有空行 get.msg <- function(path){con <- file(path, open = "rt",encoding='latin1')…
data<-'F:\\learning\\ML_for_Hackers\\ML_for_Hackers-master\\06-Regularization\\data\\' ranks <- read.csv(file.path(data, 'oreilly.csv'),stringsAsFactors = FALSE) library('tm') documents <- data.frame(Text = ranks$Long.Desc.)row.names(documents) &…
#数据集来源http://spamassassin.apache.org/publiccorpus/ #加载数据 library(tm)library(ggplot2)data.path<-'F:\\dataguru\\ML_for_Hackers\\ML_for_Hackers-master\\03-Classification\\data\\'easyham.path<-paste(data.path,'easy_ham\\',sep='') #读取文件的函数msg.full,返回一个向量…
#一,自己写KNN df<-read.csv('G:\\dataguru\\ML_for_Hackers\\ML_for_Hackers-master\\10-Recommendations\\data\\example_data.csv')head(df) #得出距离矩阵distance.matrix <- function(df){ #生成一万个NA,并转成100*100的矩阵 distance <- matrix(rep(NA, nrow(df) ^ 2), nrow = nrow…
library('foreign') library('ggplot2') data.dir <- file.path('G:\\dataguru\\ML_for_Hackers\\ML_for_Hackers-master\\09-MDS\\data\\roll_call') data.files <- list.files(data.dir) rollcall.data <- lapply(data.files,function(f) {  read.dta(file.path(da…
library('ggplot2') prices <- read.csv('G:\\dataguru\\ML_for_Hackers\\ML_for_Hackers-master\\08-PCA\\data\\stock_prices.csv',stringsAsFactors = FALSE) library('lubridate') #把日期列转成日期对象 prices <- transform(prices, Date = ymd(Date)) #prices中的数据只有三列,日期,股…
#凯撒密码:将每一个字母替换为字母表中下一位字母,比如a变成b. english.letters <- c('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z') caesar.cipher <- list() inverse.caesar.cipher <- list() #加密LIS…
#均值:总和/长度 mean() #中位数:将数列排序,若个数为奇数,取排好序数列中间的值.若个数为偶数,取排好序数列中间两个数的平均值 median() #R语言中没有众数函数 #分位数 quantile(data):列出0%,25%,50%,75%,100%位置处的数据 #可自己设置百分比 quantile(data,probs=0.975) #方差:衡量数据集里面任意数值与均值的平均偏离程度 var() #标准差: sd() #直方图,binwidth表示区间宽度为1 ggplot(hei…
#使用数据:UFO数据 #读入数据,该文件以制表符分隔,因此使用read.delim,参数sep设置分隔符为\t #所有的read函数都把string读成factor类型,这个类型用于表示分类变量,因此将stringsAsFactors设置为False #header=F表示文件中并没有表头 #na.string='',表示把空元素设置为R中的特殊值NA,即将所有空元素读成NA ufo<-read.delim('ufo_awesome.tsv',sep='\t',stringsAsFactors…
为了培养一个机器学习领域专家那样的直觉,最好的办法就是,对你遇到的每一个机器学习问题,把所有的算法试个遍,直到有一天,你凭直觉就知道某些算法行不通.…