私は現在、複数の重要な層にわたって、それぞれに生育する植物に基づいた地理的領域のセグメンテーションに関するプロジェクトに取り組んでいます (つまり、各セグメンテーション レイヤーには、他のレイヤーに対して固有の意味があります)。
そうすることで、ロジスティック回帰を使用して、地域のリストから、各レイヤーに属しているセグメントとそこに含まれる植物から、セグメントの各組み合わせで植物が成長する確率に進みます。現在、セグメンテーションの C# 実装にリンクされた SPSS を使用しています。
ここまでは順調ですね。問題は、SPSS が寒い日に糖蜜のように遅いことです。フルセット (2500 の植物と 565 の地域) の場合、1 回の実行に約半月かかります。その時間はないので、今のところ省略されたデータ セットを使用していますが、それでも数時間かかります。
ロジスティック回帰 (具体的には Accord.NET と Extreme Optimization) を備えた他のライブラリを調べましたが、どちらもカテゴリカル ロジスティック回帰を備えていません。
この時点で、おそらく、カテゴリー ロジスティック回帰の意味を明確にする必要があります。統計エンジンにフィードするデータ セットの各行に各レイヤーの変数と、現在関心のある植物の変数があるとすると、レイヤー変数の値はカテゴリと見なされます。0 は 1 より良くも悪くもありません。単に違います。統計エンジンから取得したいのは、各レイヤー変数の各カテゴリの値 (もちろん切片も) です。したがって、3 つのセグメントを持つレイヤーと 2 つのセグメントを持つレイヤーのセットアップでは、5 を取得します。値と切片。
Accord.NET (ライブラリの外部で実行する必要がある場合) と Extreme Optimization (ライブラリ内でサポートされている場合) の両方でダミー変数またはインジケーター変数を実験しましたが、これは生成されませんでした。必要な結果。
TL;DR
要するに、C# でのカテゴリロジスティック回帰の適切な解決策を知っている人はいますか? これは、クラス ライブラリでも、外部の統計エンジンにプラグインする単なるインターフェイスでもかまいませんが、安定していてかなり高速である必要があります。