調整變數,賦予決策樹更有正確的價值。
今天的幾個重點:
1.增加、刪減之前選取的變數。
2.把不應該是因子(factor)變數的,改成數型(numeric)型態。
3.驗證數據的正確性,把資料的百分之90當做traindata用來訓練電腦,百分之10當做testdata,進行驗證。( 小弟在做事後驗證跟即時監控的,這個很重要不能忽略 )#這個明天做
我們昨天的資料分析結果告訴了我:載客趟數多、行駛公里數越多則賺的多,難這些都不太算data mining成功,因為非常直觀,不過這些卻是"電腦AI"告訴我的!而不是我隨口瞎忽悠的,代表著這個mining看起來是很可行的。
但是這兩個變數...不太算是人為可以控制的,因此我決定刪掉這兩個變數在運行一次,並且把我認為的數值變數從因子改回數型(numeric)型態。
這次的分析告訴了我,有無加入無線電或衛星派遣的確是會影響獲利的,經過Excel計算,如果我單論有加入者(2924人),平均一天獲利1798.5元,沒有的(3741人)則為1327.8。
在來就是營業時數,在"選擇開計程車之最主要原因"提到,很多人選擇開計程車的原因就是"營業時間較自由",因此這次的分析告訴我說,只要你願意花時間,就能夠提高收入(這我超有印象是我大學時代時的結論...,感覺也是沒啥用,但這的確是一個"人為"可以改變的變數)。
以下程式碼亂到不行,orz
library(tidyverse)
library(magrittr)
y = read.csv("C:\\Users\\Day 7 變數名稱關連.csv")
x = read.csv("C:\\Users\\Day 7 資料關連.csv")
xx = x
x[is.na(x)] = 0
i = 1
for(i in c(1:length(x))){
for_vlookup = y[,(i+1)]
if(length(which(for_vlookup == "" )) !=0)
for_vlookup = for_vlookup[-which(for_vlookup == "" )] %>% as.character()#擷取一整行然後扣掉空值
a = 1:length(for_vlookup) #告訴我總共有多少變數
#把每一行都轉換成一個VLOOKUP用的表格
df1 = data.frame(
x1 = c(as.numeric(as.character(for_vlookup[a[a%%2==1]])),0),
x2 = c(as.character(for_vlookup[a[a%%2==0]]),0)
)
#每一行的資料
df2 = data.frame(
x1 =as.numeric(as.character(x[,i]))
)
#VLOOKUP
w = df2 %>% inner_join(df1 , by = "x1")
#如果遇到開放題,則放棄vlookup
#取代掉原本的數字,變成方便閱讀的中文
if(identical(for_vlookup,character(0))==F){
xx[,i] = w[,2]
}else{
xx[,i] = ifelse(xx[,i]==-1,0,xx[,i])
}
}
View(xx)
q = read.csv("C:\\Users\\Day 5 資料.csv")[,45:49] ##把之前保險數拉出來
q[is.na(q)] = 0
qq = apply(q,1,sum)
xx = xx %>%
mutate("保險數" = qq)
xx[,"每天空車時數"] = as.numeric(xx[,"每天空車時數"])
xx[,"年齡"] = as.numeric(as.character(xx[,"年齡"]))
xx[,"每月放假"] = as.numeric(xx[,"每月放假"])
xx[,"已行駛公里數"] = as.numeric(xx[,"已行駛公里數"])
xx[,"營業時數"] = as.numeric(xx[,"營業時數"])
taxi = xx
library(rpart)
np = ceiling(0.1 * nrow(taxi)) #資料筆數
test.index = sample(1:nrow(taxi),np)
taxi.testdata = taxi[test.index,]
taxi.traindata = taxi[test.index,]
taxi.tree = rpart(一天營業總收入~.,data = taxi)
plot(taxi.tree);text(taxi.tree)
很感謝大家的追蹤、收藏跟點閱,只是每天上班額外的時間真的偏少(偶爾在上班的時候也會開寫啦>//<),所以常常交出一些看起來像半成品的東西,但這樣一天一天累積,我相信最後回頭統整的時候,還會是很有質量的。有感受到自己每天碰統計的時間越來越多,然後我最後會出幾篇整理好的版本,讓大家方便copy走使用的。