waveデータセット

概要

waveデータセットは、”Pythonではじめる機械学習”(O’REILLY)中で用いられる架空のデータセットである。

その内容は、引数n_samplesで指定した個数の点について1つの特徴量とターゲットの値を持ち、回帰を扱うのに適している。

利用方法

mglearnパッケージから、たとえば以下のように利用する。

実行するとdeprecatedの警告が出るが、放置してもよいらしい。

内容

waveデータの特徴は以下の通り。

  • 引数のn_samplesには任意の整数を指定できる
  • 特徴量(x座標の値)は決まっている
    • n_samplesが増えてもx0, x1, …の値は変わらない
    • x0, x1, …は実行のたびに同じパターン
  • ターゲットの値(y座標の値)は変化するが実行ごとに同じ
    • n_samplesが変わると同じx0, x1, …の値に対するy0, y1, …の値は変化する
    • y0, y1, …は実行のたびに同じパターン

このことを、n_samplesの値を変化させたときのX, yの内容で確認してみる。

このコードは何度実行しても同じ値を返す。x座標のパターンが変わっていないこと、y座標のパターンは実行のたびに変化していることがわかる。ただし異なるn_sampleに対して、同じxに対するyの値は大きくは変化していない。

なお、n_samplesが6の時のxの最後の値とその1つ前の値がかなり近く、対応するyの値も近い。n_samplesが1の時と3の時に、先頭のXとyの値が殆ど等しい。

以上のことから、waveデータセットはXについては毎回同じ系列でランダムな値を返し、yはXに対して一定の計算値に毎回同じ系列の乱数で擾乱を加えていると想像される。

最後に、n_samplesを多くしたときの結果を見てみると明らかに線形で上昇しつつ波打っているのがわかる。おそらくy=a \sin b x + cのような式に擾乱を与えていると思われる。

手法の適用

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です