これ、書いたっけ?
商品などを、いくつかにグループ分けしたい。
ただし、いくつにグループ分けしたらいいか分からない。
また、グループ分け後、どういう根拠でグループ分けしたかも知りたい
というとき、どうするか?
■なにが、問題なのか?
商品などをグループ化するには、k-meansに代表される、
非階層型クラスタリングを用いる。
しかし、非階層型クラスタリングを用いると、
いくつに分けるか、あらかじめ決めないといけない
クラスタリングしても、そのように別れる根拠はわからない
という2つの問題がある。
■ときかた
問題に対し、
・はじめに階層型クラスタリングを行い、図から
いくつに分けるか判断する
・別れる根拠(=分類した理由)を示してくれる決定木を使う
ということを行う。
手順としては
・データを用意する
・階層型クラスタリングを行い、何個に分けるか決める
・決めた数で非階層型クラスタリングを行う
・データの最後に、どのクラスタか、クラスタ番号を入れる
・決定木を行う(独立変数はクラスタ変数(bunrui))
■Rだと
#商品データ作成:shodata.csv library(psych) mydata<-read.csv("shodata.csv",header=T,sep=",") mydata #階層型クラスタに分ける kyori <- dist(mydata, method = "euclidean") hcl <- hclust(kyori) plot(hcl) #ここで、図が表示される
#今回は5個に分けると決めた
#非階層型クラスタに分ける
kmeans(mydata,5)
#どうしてこのように分類されるか、決定木にかける
library(rpart)
#shobun1.csvはshohin.csvの各レコード末尾に、クラスタ番号(bunrui)を付けたもの
data<-read.csv("shobun1.csv",header=T,sep=",")
result<-rpart(bunrui~.,data=data,control=rpart.control(minsplit=5, cp=0.01))
par(xpd=T)
plot(result)
text(result)
商品などを、いくつかにグループ分けしたい。
ただし、いくつにグループ分けしたらいいか分からない。
また、グループ分け後、どういう根拠でグループ分けしたかも知りたい
というとき、どうするか?
■なにが、問題なのか?
商品などをグループ化するには、k-meansに代表される、
非階層型クラスタリングを用いる。
しかし、非階層型クラスタリングを用いると、
いくつに分けるか、あらかじめ決めないといけない
クラスタリングしても、そのように別れる根拠はわからない
という2つの問題がある。
■ときかた
問題に対し、
・はじめに階層型クラスタリングを行い、図から
いくつに分けるか判断する
・別れる根拠(=分類した理由)を示してくれる決定木を使う
ということを行う。
手順としては
・データを用意する
・階層型クラスタリングを行い、何個に分けるか決める
・決めた数で非階層型クラスタリングを行う
・データの最後に、どのクラスタか、クラスタ番号を入れる
・決定木を行う(独立変数はクラスタ変数(bunrui))
■Rだと
#商品データ作成:shodata.csv library(psych) mydata<-read.csv("shodata.csv",header=T,sep=",") mydata #階層型クラスタに分ける kyori <- dist(mydata, method = "euclidean") hcl <- hclust(kyori) plot(hcl) #ここで、図が表示される
