差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| mselab:2012:stat:week3:r2 [2012/12/18 10:32] – [最終課題] watalu | mselab:2012:stat:week3:r2 [不明な日付] (現在) – 外部編集 (不明な日付) 127.0.0.1 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ===== 統計工学実験 第3週 ===== | ===== 統計工学実験 第3週 ===== | ||
| + | ==== 連絡 ==== | ||
| + | |||
| + | * [[mselab: | ||
| ==== 最終課題 ==== | ==== 最終課題 ==== | ||
| 行 552: | 行 555: | ||
| |提出部数|レポートは各自1通ずつ。{{: | |提出部数|レポートは各自1通ずつ。{{: | ||
| + | |||
| + | ==== 実験当日の修正 ==== | ||
| + | |||
| + | 自分のMacだと問題が発生せず、実験室のPCだとRが落ちる不具合があります。メモリが少ないためかもしれません。Rが勝手に終了する場合には、kmeansのコードは次のように nstart を削除し、iter.max を追加する修正をお願いします。 | ||
| + | |||
| + | === k-means法による層別 (iter.max追加、nstart削除) === | ||
| + | |||
| + | k-means法は、数値変数でしか用いられないため、データは「tic.learn[, | ||
| + | < | ||
| + | tic.learn.kmeans <- kmeans(tic.learn[, | ||
| + | </ | ||
| + | |||
| + | k-means法の結果を適用するには、レコードごとに「centers」の座標とのユークリッド距離を算出し、一番小さくなる層にその変数を割り当てる。 | ||
| + | |||
| + | < | ||
| + | date() | ||
| + | tic.learn$cluster <- rep(0, dim(tic.learn)[1] ) | ||
| + | for( i in c(1: | ||
| + | tic.kmeans.dist <- rep(0, max(tic.learn.kmeans$cluster) ) | ||
| + | for( j in c(1: | ||
| + | tic.kmeans.dist[j] <- sum( (tic.learn[i, | ||
| + | } | ||
| + | tic.learn$cluster[i] <- sort.list(tic.kmeans.dist)[1] | ||
| + | } | ||
| + | date() | ||
| + | </ | ||
| + | |||
| + | 念のため、kmeansの結果と比較して、計算に誤りがないことを確認するためにクロス集計を行う。この結果が対角であれば、計算はあっている。 | ||
| + | |||
| + | < | ||
| + | table(tic.learn$cluster, | ||
| + | </ | ||
| + | |||
| + | centers=に指定する値は、いろいろ変えてみるといい。 | ||