Warning: Undefined variable $nlink in /home/seahorse7/weedy-seama.com/public_html/wp-content/themes/cocoon-child-master/functions.php on line 62
記事の概要
以下の記事で書いた通り機械学習のプロジェクトはデータ整備が9割です。
データ整備するにあたって使う可能性のあるツールEXCELについて書こうと思います。
対象読者
- これから機械学習プロジェクトを委託・企画する人
- これから機械学習プロジェクトに携わる人
データ整備にEXCELは使うな!
データの整備を行うに当たって馴染みのあるEXCELを使ってデータを整備する人が大量に出てきそうなのを危惧しています。
なぜかというとEXCELさんとっても便利なのですが、時に良かれと思って、勝手なことをしてくれる存在でもあるからです。
数字の0が消される
例えば、以下のような表1が勝手に表2になったりしませんか?
社員番号くらいなら連番なので、さほど問題ありませんが、0に意味があるような数字だと0がないことで想定していない学習をしてしまう可能性もあります。
表1
表2
関数や計算式が使用されているとエラーのあるデータは文字列になる
EXCELで数式や関数を埋め込んでいると以下のようなエラーになってしまう。
以下表にあるような「電気代の割合」を機械学習の学習データとして使おうとすると
数値と文字列が混同していてプログラムがエラーになってしまう可能性が高いです。
このエラーに悩まされエンジニア泣かせとなってしまいます。
年齢 | 月収 | 電気代(月) | 電気代の割合 |
30 | 300000 | 3000 | 0.01 |
25 | 200000 | 0 | 0 |
18 | 0 | 0 | #DIV/0! |
18 | 0 | #DIV/0! |
指数も文字列認識してしまう可能性がある
以下の表の電気代の割合の最後の行は3E-15と値が小さすぎて指数になってしまっています。
これをプログラムでデータ整備しようとするとやはり文字列と認識してしまうことがあり、エラーに悩まされエンジニア泣かせとなります。
年齢 | 月収 | 電気代(月) | 電気代の割合 |
30 | 300000 | 3000 | 0.01 |
25 | 200000 | 0 | 0 |
18 | 2000 | 0 | 0 |
18 | 1000 | 0 | 0 |
50 | 1000000000000000000 | 3000 | 3E-15 |
じゃあ何のツールを使ってデータ整備したらいいの!?
おすすめはプログラムでデータ整備することです。
プログラムならこちらが命令しないと余計な処理はしないためです。
おすすめは機械学習界隈でよく使われるPythonやRというプログラム言語です。
プログラム書けない人はどうしたらいいの!?
上記のようなエラーに最新の注意を払ってEXCELでデータ整備するしかないかもしれません。
おすすめのツール見つけたらご紹介します。
まとめ
機械学習の学習データの整備にEXCELは使わないことをおすすめしました。
機械学習の学習データ整備におすすめなのはPythonやRです。
プログラムが書けない方はEXCELの余計なお世話に気をつけてデータ整備をすることをおすすめします。
コメント