初めまして、Panamixkedaと申します。Qiitaもですし、技術系の投稿をアップするのは今回が初めてです。
数年間こそこそとデータサイエンス関連の勉強をしておりまして、アウトプットもしていこうかなと思った次第ですね。(ぶっちゃけ、きっかけは転職しようと思ったからです)
データサイエンスにビジネスサイドからも学問的サイドからも興味があります。kaggleは計算量をほとんどかけない範囲でしたことがありますが、実務経験はありません。
その他のスキルや興味についての紹介を、とりあえずキーワードレベルで済ませるなら、
Python/sklearn/PyTroch/テーブルデータ/画像処理/自然言語処理/強化学習/マルチモーダル
といったところでしょうか。括りの粒度の問題なのか、なんか胡散臭いですが。
これから色々と発信していきますのでおいおいわかって頂ければと思います。どうぞよろしくお願いいたします。
ちなみに、**本記事の対象者は、ある程度データ分析知識がある方で、できればデータ分析人材を採用したりしたい方です。**もっと学問的/各論な記事だったり、データ分析が専門外である人にも向けた、データ分析を日本に浸透させるためには?といったポエムなトークも、また書かせていただく予定、、、です。
(この記事を書いているうちに、そういう主義主張的なものは分けて書いたほうがええなと思いました)
#データサイエンスをコンサルティングに用いる
以下、テーブル型データを用いて業務改善のコンサルティングをする場合を想定して、段取りをまとめてみました。
##①コンサルティング対象の業務を知る
まずはここが重要。
kaggleでデータを扱う際に実感したことなのですが、やはり自分のバックグラウンド知識があるテーマについては、こういう仮説が成り立つためデータのどの部分が重要である、といったことについてデータをいじる前から検討をつけることができます。これによって可視化(EDA)やモデル化の大方針を立てやすくなります。
まあこれにはメリデメがあり、自分の経験と勘による検討違いを正す機会を奪われるリスクもあります。先入観なくとりあえずあるだけの特徴量を粒度も下げず入れてみたりするのも、時間があればしてみるといいでしょう。
しかし圧倒的メリとしては、(kaggleでは多くの場合役に立たないのですが)バックグラウンド知識を持つことで、こういう特徴量も予測には重要なはずなのにそれが今回の教師データからは抜けているな、ということが分かったりします。kaggleでも公開データであればダウンロード/クロスクでとってきて追加教師データとして使用できますかね。
実際の業務では、まず『何を教師データとすれば十分そうか』という検討をつけるセンスが重要。これはビジネスに対する知見がなければ難しいでしょう。
##②データを可視化して、クレンジングする
データをデータフレーム化したりプロットするなど可視化して、真っ当なデータであるかを確認します。pandas、seaborn、pyplotなどのライブラリを使用しますね。データの抜けがあればそこを補完する(中央値や平均値などで)・異常値と見えるデータはよく確認したうえで、やはり異常値ならば削除する・性別などのテキストデータは'適当な'数値にエンコードする、などの処理を加えます。
分布を眺めれば、クラスタの様子から特徴量の線形結合でどの程度表現できそうかであったり、どの特徴量が重要そうか見当がつく場合もありますね。
##③モデルの構築・学習
業務改善のコンサルティングに用いるモデルは、線形モデルか決定木(XGBoostなど)となるかと思われます。ニューラルネットですと、説明可能性が低いですので。また、kaggleで多用されるデーィプアンサンブルについても同様の理由でコンサルには不向きかと思います。アンサンブルするにしても、線形和までにして、こういうデータにはこのモデルが効いてくるようだ、というくらいの説明をつける感じになるでしょう。
モデルの精度については、多くの場合KFOLD法(sklearnなど)で算出するかなと思います。
##④クライアントへの結果説明
決定木で導いた特徴量の重要度の数値、特徴量同士の相関関係(corr)、またどのモデルがどういうデータに効いたのかを眺めながら、特徴量がどうやって予測値に影響を与えるのかという詳細な因果関係・ストーリーを考えます。
その解釈を業務改善につなげる、という部分がどれだけデータサイエンティストの領分として任されるかはケースバイケースかなと。ただし、業務改善につながると自分の中である程度検討がついているデータの分析しか請け負わない、という気概は必要でしょう。
んー、本当にざっと書く感じになってしまいましたが、一連の流れ・ポイントを把握しているアピールにはなっているかなと。
ちなみにこの①~④を1ブロックとすると、データサイエンティストの仕事としては全部で3ブロックある気持ちでいる、というのが理想論ではあります。前ブロックに『経営課題を発見する』、後ブロックに『現場にソリューションを浸透させる』がきて、今回は真ん中の『データを分析する』についてのみ書いたにすぎませんね。
理想的なデータサイエンティストについては、**河本薫さん著の「会社を変える分析の力」**という書籍の内容に、私も概ね賛成いたします。
では、転職用自己紹介にお付き合いいただきありがとうございました。
また転職関連でない記事も書いていきたいと思いますので、よろしくお願いいたします。