タグ

ブックマーク / www.salesanalytics.co.jp (11)

  • 基本となる3つの特徴選択手法とPythonでの実装

    特徴量選択(変数選択)は、機械学習系の予測モデルなどを構築するとき、最初に行う重要なステップの1つです。 予測に寄与しない特徴量(説明変数)を取り除くことで、よりシンプルな予測モデルを構築を目指します。 色々な考え方や手法、アプローチ方法があります。 今回は、「基となる3つの特徴選択手法とPythonでの実装」というお話しです。 基となる3つの考え方 幾つかやり方がありますが、基となるのは次の3つ考え方です。 フィルター法(Filter Method) ラッパー法(Wrapper Method) 埋め込み法(Embedded Method) フィルター法(Filter Method) フィルター法は最もシンプルなアプローチです。 ある基準をもとに、必要な特徴量選択(変数選択)していくからです。 最も簡単なのは、相関係数を利用した方法です。 各特徴量(説明変数)に対し目的変数との相関係

    基本となる3つの特徴選択手法とPythonでの実装
    misshiki
    misshiki 2024/05/21
    うお話しです。 Contents [hide][Python][機械学習]基本となる3つの考え方 フィルター法(Filter Method) ラッパー法(Wrapper Method) 埋め込み法(Embedded Method)”
  • 第373話|なぜ「解釈可能ML(機械学習)」が必要なのか? 主な手法と事例のご紹介

    近年、機械学習技術はビジネスのあらゆる分野で急速に進化し、企業の意思決定プロセスに革命をもたらしています。 しかし、複雑化するモデルの背後にある「なぜ」という問いに答えることは、ますます困難になってきています。 今回は、解釈可能な機械学習モデルと事後的解釈手法の両方に焦点を当て、実際のビジネスシーンでの応用事例を通じて、これらの手法がどのように企業の意思決定を支援し、ビジネス価値を高めることができるかを説明します。 医療、金融、小売といった多様な業界における事例を紹介し、機械学習モデルの透明性と効果性を最大化するための戦略の重要性を感じで頂ければと思います。 機械学習モデルの解釈性の重要性 機械学習モデルの出力を理解することの価値 機械学習モデルは、データから複雑なパターンを学習し、予測や決定を行います。 しかし、モデルがどのようにこれらの結果に至ったかを理解することは、単に技術的な挑戦

    第373話|なぜ「解釈可能ML(機械学習)」が必要なのか? 主な手法と事例のご紹介
    misshiki
    misshiki 2024/01/29
    “解釈可能な機械学習モデルと事後的解釈手法の両方に焦点を当て、実際のビジネスシーンでの応用事例を通じて、これらの手法がどのように企業の意思決定を支援し、ビジネス価値を高めることができるかを説明。”
  • 第371話|機械学習における多変量代入法:欠損データの克服

    機械学習は、データから学ぶ技術です。しかし、実際のデータは完璧ではありません。特に、データセットにおける欠損データの問題は、機械学習プロジェクトにおいて避けられない課題です。欠損データをどのように扱うかは、モデルの性能に大きな影響を与えます。 伝統的に、欠損データを扱う一般的な方法は「一変量代入法」です。この方法は、欠損値をその変数の平均値や中央値で置き換えるなど、単純明快であり、実装が容易です。しかし、これは各変数を独立して扱うため、変数間の関係を無視してしまうという欠点があります。 ここで、より洗練されたアプローチとして「多変量代入法」が登場します。 この方法は、欠損データのある変数と他の変数との関係を考慮に入れ、欠損値をより正確に推定しようと試みます。多変量代入法は、変数間の相関関係を利用して、欠損データを推測することにより、よりリアルなデータセットを作成することを目指しています。

    第371話|機械学習における多変量代入法:欠損データの克服
    misshiki
    misshiki 2024/01/15
    欠損値を埋める方法として、平均値などの代入ではなく、変数間の関係も考慮してより正確な代入値を推定する方法を説明。主な手法として、回帰分析、K-NN 、MICE (Multiple Imputation by Chained Equations)など。
  • 分類問題のデータ不均衡を解消するSMOTE(Python版)- その1:SMOTEの基礎と imbalanced-learn の使い方 -

    分類問題のデータ不均衡を解消するSMOTE(Python版)- その1:SMOTEの基礎と imbalanced-learn の使い方 -
    misshiki
    misshiki 2024/01/04
    “データ不均衡問題を解消するための強力なテクニックであるSMOTE(Synthetic Minority Over-sampling Technique)とそのバリエーションについて紹介するとともに、Pythonのコード例を示します。”
  • Pythonによる主成分回帰(PCR)と部分的最小2乗回帰(PLS)

    説明変数Xを主成分分析(PCA)を行い、その主成分で回帰モデルを構築するのが、主成分回帰(PCR)です。 主成分は、主成分の分散が最大になるように作成され、できるだけ元の説明変数Xのもっている情報量を保持しようとします。 この主成分は、目的変数Yとは無関係に主成分分析で算出されます。 回帰モデルを構築するという視点で考えると、できれば目的変数Yと相関の高い主成分であると嬉しいでしょう。 それを実現するのが、部分的最小2乗回帰(PLS)です。 主成分は、目的変数Yと主成分の共分散が最大になるように作成され、目的変数Yを考慮したものになります。 今回は、「Pythonによる主成分回帰(PCR)と部分的最小2乗回帰(PLS)」というお話しをします。 なぜ、PCRとPLSを使うといいのか 回帰モデルを構築するとき、マルチコという推定した係数がおかしくなる現象が起こることがあります。その原因の1つが

    Pythonによる主成分回帰(PCR)と部分的最小2乗回帰(PLS)
    misshiki
    misshiki 2023/12/08
    “主成分回帰(PCR)と部分的最小2乗回帰(PLS)は違いは…… PCR:主成分が、主成分の分散が最大になるように作成 PLS:主成分が、目的変数Yと主成分の共分散が最大になるように作成”
  • Python ruptures でサクッと時系列データの変化点を見つける方法

    ビジネスの世界のデータの多くは、時間軸のあるデータである時系列データです。 時系列データを手に入れたら、どのようなデータかなんとなく知りたくなります。 時系列データの多くは色々な変化をしながら推移していきます。 例えば…… 全体の水準が大きくなったと思えば、水準が急激に落ちたり 上昇トレンドがあったかと思えば、下降トレンドになったり 振幅の幅が急激に大きくなったり、小さくなったり ……などなど。 時系列データは一定ではなく、このような変化をすることも少なくありません そこで知りたくなるのが、このような変化をする時期、つまり変化点です。 変化点を検出する技術は色々とあります。 幸いにも、Pythonのライブラリーの中に時系列データの変化点を見つけるためのパッケージがいくつかあります。 今回は、「Python ruptures でサクッと時系列データの変化点を見つける方法」というお話しをします

    Python ruptures でサクッと時系列データの変化点を見つける方法
    misshiki
    misshiki 2023/12/04
    “「Python ruptures でサクッと時系列データの変化点を見つける方法」”
  • Jupyter Notebook上でSQLをらくらく実行するJupySQL

    Jupyter NotebookやJupyter Labといった、Notebookでデータ分析業務をする人が、ここ数年で増えてきました。 Notebook上でデータ分析をするとき、外部のCSVファイルやDBのデータテーブルなどからデータセットを取得する必要があります。 よくあるのが、Pandasを利用し取得したデータセットをデータフレームに格納するケースです。 データ規模が大きいほど、ある問題が起こります。 例えば、メモリの消費の問題です。 データフレームに格納するということは、PCなどのメモリをそれだけ消費します。 多くの場合、読み込んだ直後のデータフレームは、そのままデータ分析に使えることは少なく、何かしらの加工なり処理がなされ整えられます。 ある程度整えられたデータセットの状態で、データフレームとして格納した方が、メモリの消費量は少なくてすみます。 他には、外部DBのパフォーマンス低

    Jupyter Notebook上でSQLをらくらく実行するJupySQL
    misshiki
    misshiki 2023/08/17
    “「Jupyter Notebook上でSQLをらくらく実行するJupySQL×DuckDB」”
  • 因果フォレスト(Causal Forests)をPythonで実践的に学ぶ(その1)因果フォレストとは? 概念と基本理論

    因果フォレスト(Causal Forests)をPythonで実践的に学ぶ(その1)因果フォレストとは? 概念と基本理論
    misshiki
    misshiki 2023/08/15
    “因果フォレストの基本概念から理論的背景までを解説し、その魅力と可能性を探ります。”
  • PyMC3を使ったPythonベイズ推定超入門(その3)ベイズ型線形回帰モデルを作ってみよう!

    前回と前々回にベイズ推定について簡単に説明しました。 以下、前回の記事です。 以下、前々回の記事です。 通常の線形回帰モデルは、切片や係数、予測の値は1つです。 一方,ベイズ線形回帰モデルで得られるのは分布です。正確には、分布から得られるサンプルです。 今回は、PyMC3を使ってベイズ線形回帰モデルを構築する方法を紹介します。 通常の線形回帰モデルと比較します。 通常の線形回帰とベイズ線形回帰 簡単に数式で考えていきます。 通常の線形回帰モデルは、以下のように表現されます。yが目的変数で、xが説明変数です。 \displaystyle y = a + b x + \epsilon , \epsilon \sim \mathcal{N}(0,\sigma^2) これは、yが平均ax+bと標準偏差\sigmaで正規分布していることを意味します。 \displaystyle y \sim \ma

    PyMC3を使ったPythonベイズ推定超入門(その3)ベイズ型線形回帰モデルを作ってみよう!
  • PyMC3を使ったPythonベイズ推定超入門(その2)コイン投げの例を使ってPyMC3ベイズ推定を何となく理解しよう

    何かと便利なベイズ推定、ビジネスの世界でも活用が進んでいます。 MCMCというアルゴリズムが手軽に利用できるなったことが、大きな要因の1つでしょう。MCMCとは、マルコフ連鎖を利用したモンテカルロシミュレーションです。手軽にMCMCでベイズ推定を実現するのがPyMC3というPythonのパッケージです。 MCMCそのものの理解は脇においておくとしても、ベイズ推定そのものの理解を脇においておくわけには行きません。 ということで前回は、「コイン投げの例を使ってベイズ推定を何となく理解しよう」というお話しをしました。 PyMC3を使ったPythonベイズ推定超入門(その1)コイン投げの例を使ってベイズ推定を何となく理解しよう 前回は、PyMC3は登場しませんでした。コイン投げの場合、登場するまでもない、という感じでしたが、通常はそうは行きません。 今回は、「コイン投げの例を使ってPyMC3ベイズ

    PyMC3を使ったPythonベイズ推定超入門(その2)コイン投げの例を使ってPyMC3ベイズ推定を何となく理解しよう
  • PyMC3を使ったPythonベイズ推定超入門(その1)コイン投げの例を使ってベイズ推定を何となく理解しよう

    需要予測などで、特定の値(予測値が1つ)だけではなく、予測値の区間や分布が手に入った方が嬉しい場合があります。 区間だけであれば、従来の推定方法(最尤法など)で求めることはできます。95%信頼区間(予測区間)などです。 もちろん、このような区間はベイズ推定でも求めることはできます。 知り得たいのが区間だけであれば、従来の推定方法だろうがベイズ推定であろうが、どちらでもいいかもしれません。 しかし、ベイズ推定の場合、区間以上の情報を得ることができます。 どのような情報かというと、分布です。 この分布から平均値や最頻値などを予測値やその区間などを求めることができます。 それだけではありません。 ベイズ推定の面白いところは、今手元にあるデータが多かろうが少なかろうが取り急ぎ分布などを計算し、新たなデータを手にしたときにその分布を更新していく、というアプローチを取ります。 更新前の分布を「事前分布

    PyMC3を使ったPythonベイズ推定超入門(その1)コイン投げの例を使ってベイズ推定を何となく理解しよう
  • 1