0

Python でいくつかのラスター データに回帰ツリー アルゴリズムを構築して実装しようとしていますが、最適な方法が見つからないようです。私がやろうとしていることを説明しようとします:

私が望む出力は、値が湖の深さを表すラスター イメージです。これを depth.tif と呼びます。それぞれが異なるランドサット バンドの反射率値を表す一連のラスター イメージがあります。[B1.tif、B2.tif、...、B7.tif] は、湖の深さを予測するための独立変数として使用したいと考えています。

私のトレーニング データには、既知の湖の深さの ~6000 ポイントのシェープファイルがあります。ツリーを作成するために、それらの各ポイントに対応する反射率の値を抽出し、それをテーブルにエクスポートしました。次に、機械学習ソフトウェアである weka でそのテーブルを使用して、一連の反射率値に基づいて深度値を予測する 600 ブランチの回帰ツリーを作成しました。しかし、ツリーが非常に大きいため、Python で手動で記述することはできません。Python で weka を使用できるように python-weka-wrapper モジュールに遭遇しましたが、ラスター部分全体に行き詰まりました。私のデータには余分な次元があるため (配列に変換された場合、各独立変数は実際には、すべての例のように値の行ではなく、ncolumns x nrows の値のセットになります)、それができるかどうかわかりません私が欲しいもの。weka-python-wrapper のすべての例では、

明確にするために、トレーニング データを使用したいと思います (現在はポイント シェープファイル/テーブルですが、必要に応じて、反射率ラスターと同じサイズのラスターに変換できます。一部のセルを除いてすべてのセルにデータはありません)。反射率ラスターを使用して深度を予測する回帰ツリーを構築します。次に、そのツリーを同じ反射率ラスターのセットに適用して、どこでも予測された深度値のラスターを取得したいと考えています。

これは紛らわしいと思います。説明がうまくできていない可能性があります。私は、オープンソースである限り、sklearn などの Python で weka を実装しようとするだけでなく、他のオプションにもオープンです。私の質問は、私が説明したことを実行できるかということです。ターゲット値 (深さ) が連続的で離散クラスではないことを除いて、画像分類に非常に似ているため、できると確信していますが、これまでのところ失敗しています。もしそうなら、最良/最も簡単な方法は何ですか?また/または役立つ例はありますか?

ありがとう

4

2 に答える 2