* ツリー・モデル(決定木、回帰木):R言語 [#c9085bb0]
** 分析に使われる場面 [#f9330c38]

** ライブラリとデータの読み込み [#nf2f2477]
- ライブラリの読み込み
 library(MASS)
- データの読み込み
 yotei0 <- read.table("yotei0.txt",sep=",",header=T)
 summary(yotei0)
 yotei <- read.table("yotei0.txt",sep=",",header=T)
 summary(yotei)

** 線形判別分析 [#n8070ce5]
- lda()関数による非線形判別分析
 # yotei0.lda <- lda(YOTEI~GEND+AGE+LASTY, data=yotei0, CV=TRUE)
 yotei0.lda <- lda(YOTEI~GEND+AGE+LASTY, data=yotei0, CV=FALSE)
 yotei0.lda 
 # yotei.lda <- lda(YOTEI~GEND+AGE+LASTY, data=yotei, CV=TRUE)
 yotei.lda <- lda(YOTEI~GEND+AGE+LASTY, data=yotei, CV=FALSE)
 yotei.lda 
- クロスバリデーション
 table(yotei0$YOTEI, predict(yotei0.lda)$class) # lda(..., CV=FALSE)の場合
 # table(yotei0$YOTEI, yotei0.lda$class) # lda(..., CV=TRUE)の場合
 table(yotei$YOTEI, predict(yotei.lda)$class) # lda(..., CV=FALSE)の場合
 # table(yotei$YOTEI, yotei.lda$class) # lda(..., CV=TRUE)の場合

 plot(yotei0.lda)
 plot(yotei.lda)

** 非線形判別分析 [#f58862c6]
- qda()関数による非線形判別分析
 # yotei0.qda <- qda(YOTEI~GEND+AGE+LASTY, data=yotei0, CV=TRUE)
 yotei0.qda <- qda(YOTEI~GEND+AGE+LASTY, data=yotei0, CV=FALSE)
 yotei0.qda 
 # table(yotei0$YOTEI, yotei0.qda$class)
 table(yotei0$YOTEI, predict(yotei0.qda)$class)
 # yotei.qda <- qda(YOTEI~GEND+AGE+LASTY, data=yotei, CV=TRUE)
 yotei.qda <- qda(YOTEI~GEND+AGE+LASTY, data=yotei, CV=FALSE)
 yotei.qda 
 # table(yotei$YOTEI, yotei.qda$class)
 table(yotei$YOTEI, predict(yotei.qda)$class)

** k最近傍法による判別分析 [#v47689a0]
- knn()関数
 library(class)
 yotei0.train <- rbind(yotei0[1:1000,,1],yotei0[1:1000,,2],yotei0[1:1000,,3])
 yotei0.test <- rbind(yotei0[1001:2000,,1],yotei0[1001:2000,,2],yotei0[1001:2000,,3])
 yotei0.knn <- knn(yotei0.train[-4,], yotei0.test[-4,], yotei0.train[,4], k=5)
 yotei0 <- yotei[,-5]; yotei0 <- yotei0[,-1]
 yotei.train <- yotei0[1:1000,]
 yotei.test <- yotei0[1001:2000,]
 yotei.knn <- knn(yotei.train[,-3],yotei.test[,-3],yotei.train[,3],k=1)

** ナイーブベイズによる判別分析 [#oe90e3f8]
- klaR()関数
 library(klaR)
 yotei0.klaR <- NaiveBayes(YOTEI~GEND+AGE+LASTY, data=yotei0)
 yotei0.klaR.pred <- predict(yotei0.klaR)
 table(yotei0$YOTEI, yotei0.klaR.pred$class)
 yotei.klaR <- NaiveBayes(YOTEI~GEND+AGE+LASTY, data=yotei)
 yotei.klaR.pred <- predict(yotei.klaR)
 table(yotei$YOTEI, yotei.klaR.pred$class)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS