scikit-learn

Python 「Sweetviz」探索的データ解析EDAを数行で行う

本記事では、EDA(Explanatory Data Analysis)を簡単に行うライブラリ「Sweetviz」を使った雛形コードを載せました。 例えば、csvデータから機械学習で使うために訓練データとテストデータを分けた後、その出来栄えを可視化します(下図例)。この例では、…

Python 多目的最適化「Platypus」シリアル化した回帰モデルを読む場合

Platypusに関しては前回、Python 多目的最適化「Platypus」:自作モジュールによる回帰モデルを読む場合 - HK29’s blogで述べた。 本記事では、回帰式を自作モジュールでなくて、シリアライズにより保存した「.joblib」ファイルを読み込んで実行するコードの…

Python scikit-learn付属のボストン市の住宅価格データ(Boston house prices dataset)をcsvファイル化する

'20/01/01更新: csvファイル化せずに直接読み出す場合についても文末に追記しました。 本プログラム実行後のフォルダ内を下図に示す。3つのcsvファイルを出力しています。 「boston_Xdata.csv」…入力変数Xデータ(設計因子) 「boston_XYdata.csv」…出力変数Y…

Python joblibで保存した機械学習モデルを読み込んで利用する

'21/06/19更新:利便性を考えて、JupyterLabのようにインタラクティブに使用できる雛形コードにしました。勿論、テキストファイルに保存してコマンドプロンプトで実行することも可能です。 機械学習モデルを作成してバイナリファイル(.joblib)へ保存する例は…

Python ハイパーパラメータの自動最適化「Optuna×sk-learn」

本記事ではオープンソースのライブラリ「Optuna」を使用した雛形コードを載せました。インストールは、次のようにcondaで行えます。 conda install -c conda-forge optuna 分析内容は、ボストンデータセットの住宅価格を目的関数に、scikit-learnのニューラ…

Python 「scikit-learn」による様々な回帰分析(線形/勾配ブースティング/ランダムフォレスト/サポートベクトルマシン/ニューラルネットワーク)

'19/12/22更新・汎用性を持たせるためにcsvファイルを指定して読み込むようにした・NN(Neural Network)の隠れ層をリストとして、複数パターンを指定できるようにした・得られた回帰モデル(回帰式)をシリアライズにより「.joblib」ファイルで保存する 本記事…

Python ランダムフォレスト(Random Forest)回帰分析のフルver

'20/07/12更新:二次元散布図でY軸範囲を指定した場合、反映されなかったのを修正 本記事のコードは実用的になっています。下図は分析するデータの例で、csv形式のファイルであればOKです。ヘッダーは1行目でなくとも、何行目でも構いません。本プログラム中…

Python scikit-learn付属の多目的用のデータ「Linnerud dataset」をcsvファイル化する

本記事のコードを実行すると下図のようなcsvファイルを作成する。 生理学的特徴と運動能力の関係 説明変数X 目的変数Y Chins Situps Jumps Weight Waist Pulse 懸垂の回数 腹筋の回数 跳躍 体重 腹囲 心拍数 ■本プログラム #!/usr/bin/env python3 # -*- cod…

Python ランダムフォレスト分類でタイタニックの生存予測

'21/06/19更新:内容を刷新しました。利便性を考えて、JupyterLabのようにインタラクティブに使用できる雛形コードにしました。勿論、テキストファイルに保存してコマンドプロンプトで実行することも可能です。 本記事では、グリッドサーチも使用したランダ…

Python scikit-learnのランダムフォレストによる回帰分析の実務的ver

'20/07/12更新:graphvizを使用しない(インストール作業が不要な)verです。 分析データはcsvファイルであれば良く、お試し用の作成例は右記参照Python scikit-learn 付属のボストン市の住宅価格データ(Boston house prices dataset)をcsvファイル化する …

Python scikit-learnによる因子分析

本記事ではsklearnのFactorAnalysisを利用した。因子分析は主成分分析と同様に説明変数Xとは別の変数を定義して分析する手法である。結果的に次元削減を目的とする。 因子分析は既存の説明変数Xを分解して、「共通因子」なる仮定(想定)の変数での構成する次…

Python scikit-learnによる交互作用の項を考慮した重回帰分析

'20/02/15更新回帰分析後の相関性確認用のグラフ上に、y=axの近似式を入れる仕様にした 本記事では、回帰モデル(回帰式)の項に、相互作用項として「因子A×因子B」や「因子A×因子B×因子C」等が加えられます。 上図のように分析するcsvファイルがあればよい。…

Python scikit-learnによる主成分分析

本記事では、sklearnのPrincipal component analysis (PCA)を利用した。主成分分析の目的は次元削減であり、説明変数Xそのものではなく分散に着目した分析方法である。はじめに、全データの分散が最大となる方向に軸をとって第一主成分と呼ぶ。これは複数の…

Python scikit-learnのランダムフォレストによる回帰分析

本記事では、sklearnのRandomForestRegressorを用いた回帰分析について記載してます。ランダムフォレストとは、多数の決定木を作成して平均化する手法です。これは、1本の決定木の場合では階層が深くなると過学習してしまうことから考えられたアルゴリズムで…

Python scikit-learnによる重回帰分析(データの標準化/正規化含む)

重回帰分析と言ってもソルバーは複数ある。本記事では、sklearn(サイキットラーン)のLinearRegressionとSGDRegressorを用いた2つについて記載した。得られる回帰式は文字通り、Y=f(Xi)=a1x1+a2x2+…+aixi+eで表し、共にlinear_modelをインポートして利用する…