PR

機械学習の学習データ整備でEXCELは使うな!

機械学習
GDJ / Pixabay
記事内に広告が含まれています。

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

社員番号 氏名
001 はてな たろう
002 はてな じろう
003 はてな さぶろう

表2

社員番号 氏名
1 はてな たろう
2 はてな じろう
3 はてな さぶろう

関数や計算式が使用されているとエラーのあるデータは文字列になる

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の余計なお世話に気をつけてデータ整備をすることをおすすめします。

コメント