差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
mselab:2016:stat:week2 [2016/11/08 12:56] – watalu | mselab:2016:stat:week2 [2016/11/29 11:57] (現在) – watalu | ||
---|---|---|---|
行 3: | 行 3: | ||
今週の{{: | 今週の{{: | ||
- | | + | PPDACの5つの要素のうち、Pが変わって、Dにデータが追加されて、Aも変更になる。 |
+ | |||
+ | - P(roblem)は「V86の契約の有無と他の変数との関係の分析」から「V86の契約の有無の他の変数からの予測モデルの構築」に変わる | ||
+ | | ||
- 各学習機械には様々な「パラメータ」があり、それを変えることで学習結果も予測精度も変わる | - 各学習機械には様々な「パラメータ」があり、それを変えることで学習結果も予測精度も変わる | ||
- 線形判別分析(lda)、二次判別分析(qda)、決定木(rpart)だけでなく、より柔軟な学習機械も用いる候補に含める | - 線形判別分析(lda)、二次判別分析(qda)、決定木(rpart)だけでなく、より柔軟な学習機械も用いる候補に含める | ||
+ | - D(ata)に先週に解析してもらったtic.learnに加えて、tic.evalを追加する | ||
+ | - tic.learnは学習用、tic.evalは検証用 | ||
+ | - A(nalysis)に「予測精度の評価」が加わる | ||
+ | - 前回は学習しただけ、今回は学習したモデルを予測に用いる(仮想的な現場投入) | ||
+ | - tic.learnで学習したモデルを、tic.evalの予測に用いて、予測精度を評価する | ||
+ | - C(onclusion)は「どのモデルが予測精度が良いか」とその考察 | ||
- キャンペーンの提案書の作成 | - キャンペーンの提案書の作成 | ||
+ | - 一番上手に予測できた「制御パラメータを調整済み」の学習機械に基づいて、予測精度を自慢しつつ、効率が良いと思われるキャンペーンを提案する提案書を起草せよ。 | ||
+ | |||
+ | 1回目と2回目とで、各手法に対する印象が少し異なってくると嬉しい。 | ||
=== 学習と予測 === | === 学習と予測 === | ||
行 115: | 行 127: | ||
< | < | ||
par(mfrow=c(2, | par(mfrow=c(2, | ||
- | hist(v86.lm[tic.learn$V86==0], | + | hist(v86.lm[tic.eval$V86==0], |
| | ||
| | ||
- | hist(v86.lm[tic.learn$V86==1], | + | hist(v86.lm[tic.eval$V86==1], |
| | ||
| | ||
行 127: | 行 139: | ||
予測誤差の定義は「予測値-正解」である。 | 予測誤差の定義は「予測値-正解」である。 | ||
< | < | ||
- | plot(tic.eval$V86, | + | plot(tic.eval$V86, |
| | ||
| | ||
行 135: | 行 147: | ||
< | < | ||
- | plot((v86.lm-tic.eval$V86)~as.factor(tic.eval$V86), | + | plot((tic.eval$V86-v86.lm)~as.factor(tic.eval$V86), |
| | ||
| | ||
行 144: | 行 156: | ||
< | < | ||
- | t.test((v86.lm-tic.eval$V86)[tic.eval$V86==0], | + | t.test((tic.eval$V86-v86.lm)[tic.eval$V86==0], |
- | (v86.lm-tic.eval$V86)[tic.eval$V86==1], | + | |
| | ||
</ | </ | ||
行 242: | 行 254: | ||
などと、ひとつひとつ増やしていってみるか、例えば | などと、ひとつひとつ増やしていってみるか、例えば | ||
< | < | ||
- | tic.qda <- qda(V86~V1, | + | tic.qda <- qda(V86~., |
</ | </ | ||
のように最初の30変数を使って86番目を予測する、とするなどの工夫が必要になる。 | のように最初の30変数を使って86番目を予測する、とするなどの工夫が必要になる。 | ||
行 257: | 行 269: | ||
tic.rpart <- rpart(V86~., | tic.rpart <- rpart(V86~., | ||
v86.rpart <- predict(tic.rpart, | v86.rpart <- predict(tic.rpart, | ||
- | table(v86.rpart$class, tic.eval$V86) | + | table(v86.rpart, |
+ | </ | ||
+ | |||
+ | rpartの制御はたとえば | ||
+ | < | ||
+ | tic.rpart <- rpart(V86~., | ||
</ | </ | ||
+ | のように指定する。 | ||
- | 謝判別率(誤った予測をした割合)などを算出してみよ。 | + | 誤判別率(誤った予測をした割合)などを算出しつつ、各学習機械の制御パラメータを調整してみよ。 |
- | == 柔軟な学習機械を使ってみる == | + | === 柔軟な学習機械を使ってみる |
ひとつ目の課題は、より柔軟な学習機械を適用してもらい、先週までの方法との違いを検討してもらう。こちらについては今回も、同志社大学の金(じん)先生が公開されてらっしゃる | ひとつ目の課題は、より柔軟な学習機械を適用してもらい、先週までの方法との違いを検討してもらう。こちらについては今回も、同志社大学の金(じん)先生が公開されてらっしゃる | ||
行 323: | 行 341: | ||
なお、この課題では「過学習」について言及していないが、過学習は大事な問題であるので、各自、少し調べて気にすることを進める。 | なお、この課題では「過学習」について言及していないが、過学習は大事な問題であるので、各自、少し調べて気にすることを進める。 | ||
- | == 提案書 == | + | === 提案書 |
2つ目の課題は、前回までのレポートの考察として、どのような顧客層に重点的にキャンペーンを展開するのがよいか、提案書を起草してもらう。「提案書」という書類の形式については、成書を参照するのがよいが、参考までに幾つかのウェブサイトへのリンクを掲げておく。 | 2つ目の課題は、前回までのレポートの考察として、どのような顧客層に重点的にキャンペーンを展開するのがよいか、提案書を起草してもらう。「提案書」という書類の形式については、成書を参照するのがよいが、参考までに幾つかのウェブサイトへのリンクを掲げておく。 |