株式会社United Code

東京を拠点にWEB開発のフルサービスを提供している会社です。PHP, Go, Type…

株式会社United Code

東京を拠点にWEB開発のフルサービスを提供している会社です。PHP, Go, TypeScript等を得意としています。

マガジン

最近の記事

複数のモデルを組み合わせて予測精度を向上させるスタッキング

スタッキング(Stacking)とは?スタッキングは、異なる種類のモデルを組み合わせることで予測精度を向上させるアンサンブル学習の手法の一つです。基本的なアイデアは、複数のベースモデルを訓練し、その出力を新たなモデルに入力として与えて、最終的な予測を行うというものです。スタッキングのメリットとしては、複数のモデルの強みを活かすことができるため、単一のモデルよりも高い予測精度が期待できます。 この記事では、いくつかの異なるベースモデルを用意しスタッキングを行ってみたいと思いま

    • 欠損値補完のためのDatawig

      欠損値補完の方法としては、欠損値が含まれる行や列を削除したり、平均値や中央値で補完するといった方法がありますが、ディープラーニングを用いて、欠損値を推測すると言った方法もあります。Datawigは、ディープラーニングモデルを使用して欠損値を補完します。 この記事では、Datawigによる欠損値の補完を試してみたいと思います。 インストール まずはDatawigをインストールします。 下記でインストールできるはずですが、Google Corabではエラーが出てしまいました

      • 外れ値とその対策方法について

        外れ値とは?外れ値とは、データセットの中で他のデータポイントと比べて極端に異なる値のことを指します。これらの値は統計指標を歪め、機械学習モデルの性能に悪影響を与える可能性があります。 この記事では、外れ値の検出とその対策方法について見ていきたいと思います。今回はScikit-learnライブラリに含まれるIrisデータセットを利用します。 Irisデータセットは、アヤメ属の3種類の花(Iris setosa, Iris versicolor, Iris virginica

        • 数値特徴量のビニングでカテゴリデータとして扱う

          ビニングとは、連続する数値データを離散的な区間(ビン)に分割することをいいます。これにより、連続値のデータをカテゴリデータとして扱うことができます。ビニングを行うことで、データの特性を簡潔に表現し、外れ値の影響を減少させたりすることが出来ます。 この記事では、数値特徴量に対して様々な視点からのビニングを行い、カテゴリデータへの変換を行ってみます。 データセットの用意 今回、Kaggleにある「Titanic - Machine Learning from Disaste

        複数のモデルを組み合わせて予測精度を向上させるスタッキング

        マガジン

        • Keras
          8本
        • MLOps
          1本
        • Google Cloud
          4本

        記事

          単変量統計で特徴選択

          単変量統計を使用した特徴選択(Feature Selection)は、個々の特徴量が目的変数との関係性を持つかどうかを評価する手法です。これにより、モデルに含めるべき重要な特徴を選び出します。ただし、各特徴量を独立に評価し、ターゲット変数との関係のみを考慮するため、特徴量同士の相互作用は考慮されません。 Google Corabでいくつかの単変量統計を確認してみます。 ピアソンの相関係数(Pearson Correlation Coefficient) ピアソンの相関係

          単変量統計で特徴選択

          循環的特徴量(Cyclical Features)

          循環的特徴量(Cyclical Features)とは?循環的特徴量(Cyclical Features)とは時系列データにおける周期性を持つ特徴量のことを指します。これは、データが一定の周期で繰り返されるパターンを持つ場合に重要です。代表的な例としては、1年の中で繰り返される季節(春夏秋冬)や、1週間の中で繰り返される曜日などがあります。 この記事では、周期性や季節性のパターンが明確に存在するデータを用意し、サイン・コサイン変換によって循環的なパターンを表現してみます。

          循環的特徴量(Cyclical Features)

          バイアス(Bias)と分散(Variance)

          バイアス(Bias)と分散(Variance)は、機械学習モデルの性能を評価する際に重要な概念であり、トレードオフの関係にある概念として知られています。これらの概念はモデルの予測誤差の原因を理解するために役立ちます。 バイアス(Bias) バイアスとは、モデルの予測と実際の値との間の平均的な誤差を指します。モデルが過度に単純化されている場合に高くなる傾向があり、訓練データに対してもテストデータに対しても誤差が大きくなります。この状態をアンダーフィッティング(Underfi

          バイアス(Bias)と分散(Variance)

          特徴量のスケーリング

          機械学習モデルは、多くの場合、異なるスケールの数値データを扱います。これにより、特定の特徴量が他の特徴量に比べて過度に影響を与える可能性があります。例えば、身長がセンチメートル単位で、体重がキログラム単位である場合、モデルは体重の影響を過小評価し、身長の影響を過大評価する可能性があります。このようなバイアスを防ぐために、特徴量のスケーリングが必要です。 主要な手法標準化(Standardization) この変換により、データは平均が0、標準偏差が1の正規分布に近づきます。

          特徴量のスケーリング

          TrueSkillでスキルのレーティング

          TrueSkillとは?TrueSkillは、Microsoftが開発したレーティングシステムで、特にオンラインマルチプレイヤーゲームでプレイヤーのスキルを評価するために使用されます。このシステムは、各プレイヤーのスキルをベイズ推定に基づいて数値化し、試合結果に基づいてそのスキルを更新します。 TrueSkillは、各プレイヤーのスキルを平均 (μ) と不確実性 (σ) という2つのパラメータで表します。試合結果に基づいてこれらのパラメータを更新します。 μ (ミュー):

          TrueSkillでスキルのレーティング

          多重共線性の検出

          多重共線性とは?多重共線性(multicollinearity)は、回帰分析において説明変数同士が高い相関関係を持つ状態を指します。これによって、回帰係数の推定値が不安定になったり、モデルを解釈するのが難しくなるという問題が起きます。 例えば、住宅価格を予測するモデルにおいて、土地面積と建物面積が非常に高い相関を持っている場合に多重共線性が存在すると、どちらの変数が住宅価格にどの程度影響を与えているのかを判断するのが難しくなります。 この記事では、Kaggleにある下記のデ

          多重共線性の検出

          Kerasでカスタムレイヤーを実装する

          この記事では、Kerasでカスタムレイヤーを実装してみます。 下記のコードサンプルを参考にしています。 環境はGoogle Corabです。 インストール pip install --upgrade keras Google CorabにはKerasがプリインストールされていますが、バージョンが3以上である必要があるためアップグレードします。 ライブラリのインポート import kerasfrom keras import layersfrom keras im

          Kerasでカスタムレイヤーを実装する

          DVCでデータのバージョン管理を行う

          DVC(Data Version Control)とは?DVC(Data Version Control)は、データサイエンスや機械学習プロジェクトのデータとモデルのバージョン管理を行うツールです。Gitのようなワークフローを採用しており、コードのバージョン管理だけでなく、大規模なデータセットやモデルも効率的に管理できます。DVCは大容量ファイルをGitリポジトリ外に保管し、メタデータのみをGitで管理するため、CloneやPullが遅くなる問題を回避できます。 この記事で

          DVCでデータのバージョン管理を行う

          ケンドールの順位相関係数

          ケンドールの順位相関係数とは?ケンドールの順位相関係数(Kendall's Tau)は、2つの変数間の順位の相関を測定する統計的な手法です。この係数は、観測値の順位がどれだけ一致しているか、またはどれだけ逆転しているかを評価します。特に、連続的ではなく順位データや順位が重要な場合に使用されます。 ケンドールの順位相関係数は−1から+1 の範囲を取ります。 +1 は完全な一致(すべてのペアが同意)、−1 は完全な不一致(すべてのペアが不一致)を示し、0 は順位に相関がないこと

          ケンドールの順位相関係数

          OllamaでローカルLLM

          「Ollama」は、Llama 3、Mistral、Gemmaなどの大規模言語モデルをローカルで使用するためのソフトウェアです。 Ollamaをインストールし、ローカルでLLMを使ってみたいと思います。 環境はMac Book Pro M1 Sonoma 14.2.1です。 まずはGithubのREADME.mdのmacOSの所からダウンロードして、インストールします。 インストール後、ollamaコマンドが利用可能になっているので、下記のコマンドを実行します。 ol

          OllamaでローカルLLM

          NetworkXでネットワーク構造の分析

          networkxはPythonのグラフ理論を扱うためのライブラリで、様々なタイプのグラフ(有向グラフ、無向グラフなど)の作成、操作、解析が可能です。このライブラリはグラフのノードやエッジの属性を簡単に扱え、複雑なネットワーク構造の分析に広く使われています。 この記事では簡単なソーシャルネットワークグラフを作成してみます。 networkx ライブラリを使用してグラフを作成します。 import networkx as nxG = nx.Graph() 次にノードを追加

          NetworkXでネットワーク構造の分析

          待ち行列理論

          待ち行列理論とは?待ち行列理論(Queueing Theory)は、待ち行列(キュー)やサービスプロセスを数学的に分析する理論です。主に、人々、物、または情報が何らかのサービスを受けるために待つ場面に適用されます。この理論は、システムの性能を評価し改善するために用いられ、コールセンター、ネットワークトラフィック、製造ラインなど多岐にわたる分野で応用されています。 シミュレーションとして以下の問題を考えてみたいと思います。 ここで待ち行列をモデル化する上で、2つの主要なパラ