Chapter 53

その他の説明

poclabweb
poclabweb
2022.10.22に更新

4. 検討事項

今回は省略しましたが、機械学習の汎化性能や精度を向上させるために、この他にも色々なことがあります。

データの前処理

データに潜むゴミ(外れ値、異常値、欠損値)の除去を行う必要があります。また、データによっては、標準化や正規化をする。標準化は「平均を0、分散を1とするスケーリング手法」で、正規化は「最小値を0、最大値を1とする0-1スケーリング手法」。

機械学習手法として、ランダムフォレスト以外にも色々な手法がある。

sklearnの回帰モデルでも、たくさんの種類があります。
https://qiita.com/futakuchi0117/items/72ce4afae9adcccd6e18
https://qiita.com/DS27/items/aa3f6d0f03a8053e5810

機械学習で注意すべき点として「過学習」という現象があり、それを防ぐための方法論として「交差検定」などがある。検定方法にも複数種類がある。

機械学習を行うとき、学習を行うための学習データと未知のデータに適用したときのモデルを評価するためのテストデータがあります。
トレーニングデータでの性能がとても良いのにもかかわらず、テストデータでの性能が悪くなってしまうことを過学習と言います。
K-分割交差検証は、データをK個に分割してそのうち1つをテストデータに残りのK-1個を学習データとして正解率の評価を行います。
これをK個のデータすべてが1回ずつテストデータになるようにK回学習を行なって精度の平均をとる手法です。

パラメーターの調整

パラメータ調節方法として、グリッドサーチやベイズ最適化などの方法がある。
ランダムフォレストだと

  • 「n_estimators」ベースとして利用する決定木/回帰木の数
  • 「max_depthは、先のn_estimatorsで指定した決定木/回帰木の深さを、どこまでにするかを、指定する
  • 「max_features」。個々の決定木に、どれくらいの特徴量を使用するかを、表す。

化合物の表現方法として、フィンガープリント以外にもさまざまな「化学構造記述子」がある。

外れ値の検証などを行いモデルの精度を高める。

化学的な知識(ドメイン知識)も使いながら、足りないパラメーターが何なのかを考えていく。

重要だった指標の可視化などを行い解釈性を高める。

化学的な知識(ドメイン知識)も使いながら、解釈していく。

次の章では、次のことが簡単に行える方法を学ぶ

  1. データの前処理

  2. 機械学習手法をいろいろ試して最適なものを探す

  3. 交差検定方法を試す。

  4. パラメーターの調整を行う。

これらを簡単に行えるpycaretについて行います。PyCaretを使うことで、機械学習のモデル開発において、データの前処理や可視化、モデル開発を数行のコードで実現可能になります。