資料預處理(第二課居多)

2021-10-10 05:23:55 字數 2901 閱讀 2971

1、篩選資料select函式,返回特定列的資料

sub_data<-select(iris,sepal.length, sepal.width )
第乙個引數為資料來源,剩下的引數為要篩選出來的列

2、篩選函式filter函式,返回滿足條件的特定行的資料

filter(iris,species==

"setosa"

)

第乙個引數為資料來源,剩下的為篩選條件,同乙個屬性的「或」的篩選為「|」

eg:filter(iris,species=="setosa"|species=="versicolor", sepal.length>4.5 )

3、分組group函式,將資料來源按照某一特定屬性分組

g_a<-group_by(iris,species)##將iris資料來源按照種類分組

4、樣本函式sample

eg:sample_n(iris,15,replace=true)##表示抽出數量為15的樣本

eg:sample_frac(iris,0.1,replace = false)#############################沒看懂。。。

5、去掉方差為0的數列(即所有資料的該屬性都是同乙個值)

# remove some variables: low variance

zerovar<-nearzerovar(mydata)

newdata1<-mydata[

,-zerovar]

summary(mydata[,31

:34])

6、去除包含空缺值的資料(行)

# remove some na

flights_and_weather<-na.omit(flights_and_weather)

7、去掉高度相關的列(即每一條資料都獨一無二的屬性值,如id)

①初級去除

# remove some variables: high corelation

comboinfo = findlinearcombos(newdata1)

newdata2=newdata1[

,- comboinfo$remove]

②二次去除(去除相似度由自己定)

# remove some variables: high corelation

descrcorr = cor(newdata1)

highcorr = findcorrelation(descrcorr,

0.90

)# cor(mydata[,5],mydata[,12])

# cor(mydata[,12],mydata[,13])

newdata3 = newdata2[

,-highcorr]

其他資料預處理都在data mining lec 02,具體是些啥我沒看懂,留個坑,啥時候回來填了

8、preprocess函式

# normalize/mising value/feature reduce

# preprocess(data, method='range'/method = c("center", "scale"))

# preprocess(data, method='knnimpute'/method='medianimpute')

process <- preprocess(newdata3,method =

'range'

)newdata4 <- predict(process, newdata3)

summary(as.data.frame(newdata4[,1

:6])

)process <- preprocess(newdata3,method = c(

"center"

,"scale"))

newdata4 <- predict(process, newdata3)

summary(as.data.frame(newdata4[,1

:6])

)process <- preprocess(newdata4,method =

'medianimpute'

)newdata4 <- predict(process, newdata4)

9、k-fold

# k-fold

tenfold<-createfolds(newdata4$amw,k=

10,list=

true

,returntrain =

false

)tenfold2<-createmultifolds(newdata4$amw,k=

10,times =2)

fold_1<-newdata4[tenfold$fold01,

]fold_2<-newdata4[

-tenfold$fold01,

]

10、data seperation

# data seperation

intrain = createdatapartition(newdata4$amw, p =3/

4, list =

false

)trainx = newdata4[intrain,

]testx = newdata4[

-intrain,

]trainy = mdrrclass[intrain]

testy = mdrrclass[

-intrain]

第二課 檢索資料

第二課 檢索資料 2.1 select語句 關鍵字 keyword 作為sql組成部分的保留字。關鍵字不能用作表或列的名字。要理解sql是一種語言而不是乙個應用程式。想選擇什麼,以及從什麼地方選擇。2.2 檢索單個列 輸入 select prod name from products 上述語句利用s...

第二課 資料的藝術

資料結構起源 計算機從解決數值計算問題到解決生活中的問題 現實生活中的問題涉及不同個體間的複雜聯絡 需要在電腦程式中描述生活中個體間的聯絡 資料結構主要研究非數值計算程式問題中的操作物件以及它們之間的關係 關鍵概念 資料 程式的操作物件,用於描述客觀事物 資料的特點 可以輸入到計算機 可以被電腦程式...

第二課 安裝PHP

為什麼要安裝php?php是伺服器端解析程式,一般執行在網路伺服器上。而編寫php語言的程式我們一般是在自己的個人電腦上完成,然後拿到伺服器上除錯。所以,學習php首先要讓我們的個人電腦模擬伺服器執行環境,讓php能象在伺服器上一樣在我們的個人電腦上執行。這就是為什麼要安裝配置php的原因。安裝配置...