前に書いたやつ、「続き希望」の人がいたので、やってみた。
FizzBuzzを機械学習でやる方法概要
(決定木を使う場合:というか、一般的に・・)
前提:(シミュレーション)データを用意する
手順
1.データを機械学習させる→プログラム相当のモデルできる
2.出力するためのデータを用意する
3.モデルに2を読み込ませ、実行!
以下、詳細
■前提:(シミュレーション)データを用意する
1~100のFIZZBUZZに必要なデータを用意する
→番号(1~100)、3で割れるか(割れたら1)、5で割れるか(割れたら1)、FizzBuzzの結果
を書いたデータを用意し、それを20回コピー、1行目に表題をつけて、CSVファイルにして保存
こんなかんじ。
はじめのほう

おわりのほう(2000件分+1件(見出しで1行))

このファイルは、手作業で作ってもいいし、こんなかんじでプログラムに書いてもOK

■1.データを機械学習させる→プログラム相当のモデルできる
Rで上記データを読み込んだ後、決定木のモデルを作成。こんなかんじ
■2.出力するためのデータを用意する
読み込ませた1~100までのデータのうち、FizzBuzzの結果の行を削除したものを作成
こんなかんじ
■3.モデルに2を読み込ませ、実行!
実行!こんなかんじ
結果

1のときは1,2のときは2、4のときは4うまくいってる。
(3はFizzなので、↓)

3はFizz5はBuzz15はFizzBizz
FizzBuzz部分もうまくいってる。
決定木をプロットしてみる。

大丈夫かな・・・
FizzBuzzを機械学習でやる方法概要
(決定木を使う場合:というか、一般的に・・)
前提:(シミュレーション)データを用意する
手順
1.データを機械学習させる→プログラム相当のモデルできる
2.出力するためのデータを用意する
3.モデルに2を読み込ませ、実行!
以下、詳細
■前提:(シミュレーション)データを用意する
1~100のFIZZBUZZに必要なデータを用意する
→番号(1~100)、3で割れるか(割れたら1)、5で割れるか(割れたら1)、FizzBuzzの結果
を書いたデータを用意し、それを20回コピー、1行目に表題をつけて、CSVファイルにして保存
こんなかんじ。
はじめのほう

おわりのほう(2000件分+1件(見出しで1行))

このファイルは、手作業で作ってもいいし、こんなかんじでプログラムに書いてもOK

■1.データを機械学習させる→プログラム相当のモデルできる
Rで上記データを読み込んだ後、決定木のモデルを作成。こんなかんじ
data<-read.csv("fizzbuzz.csv",header=TRUE) library("rpart") model<-rpart(kekka~.,data) |
■2.出力するためのデータを用意する
読み込ませた1~100までのデータのうち、FizzBuzzの結果の行を削除したものを作成
こんなかんじ
mytest=data[1:100,1:3] |
■3.モデルに2を読み込ませ、実行!
実行!こんなかんじ
predict(model,mytest) |
結果

1のときは1,2のときは2、4のときは4うまくいってる。
(3はFizzなので、↓)

3はFizz5はBuzz15はFizzBizz
FizzBuzz部分もうまくいってる。
決定木をプロットしてみる。
plot(model) text(model) |

大丈夫かな・・・