これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド pksvm です。
プログラム:
NAME
pksvm - サポート ベクター マシンを使用してラスター イメージを分類する
SYNOPSIS
PKSVM -t トレーニング [-i ] [-o 出力] [-履歴書 値] [オプション] [高度な オプション]
DESCRIPTION
PKSVM 教師付き分類を解くためのサポート ベクター マシン (SVM) を実装します。
問題。 実装は、オープン ソースの C++ ライブラリ libSVM に基づいています。
(http://www.csie.ntu.edu.tw/~cjlin/libsvm)。 ラスター ファイルとベクター ファイルの両方がサポートされています。
入力。 出力には、分類結果がラスターまたはベクターで含まれます。
入力の形式に対応する形式。 トレーニング サンプルは次のように提供する必要があります。
各トレーニングのクラス ラベルと特徴を含む OGR ベクトル データセット
点。 ポイントの位置は、トレーニング ステップでは考慮されません。 同じものを使用できます
異なる画像を分類するためのトレーニング サンプル。
画像は同じです。 ユーティリティ pkextract を使用して、適切なトレーニング サンプルを作成します。
ポイントまたはポリゴンのサンプルに基づいています。 ラスター出力マップの場合、色を付けることができます
オプションを使用したテーブル -ct.
OPTIONS
-t ファイル名, - トレーニング ファイル名
トレーニング ベクトル ファイル。 XNUMX つのベクター ファイルにすべてのトレーニング機能が含まれています (
すべてのクラス (ラベル オプションで識別されるクラス番号) に対して、次のように設定します: b0、b1、b2、...)。
ブートストラップ集約に複数のトレーニング ファイルを使用します ( - バッグ と
--バッグサイズ オプション、単一のトレーニング ファイルからランダムなサブセットが取得されます)
-i ファイル名, - 入力 ファイル名
入力画像
-o ファイル名, - 出力 ファイル名
出力分類画像
-履歴書 値, - 履歴書 値
N 分割交差検証モード (デフォルト: 0)
-tln 層, --tln 層
トレーニング層名
-c 名, - クラス 名
クラス名のリスト。
-r 値, --再クラス化 値
クラス値のリスト (次と同じ順序を使用) - クラス オプション)。
-の GDALフォーマット, --oformat GDALフォーマット
出力画像形式(も参照) gdal_translate(1))。
-f 形式でアーカイブしたプロジェクトを保存します., - NS 形式でアーカイブしたプロジェクトを保存します.
アクティブなトレーニング サンプルの出力 ogr 形式
-co 名前=値, --co 名前=値
出力ファイルの作成オプション。 複数のオプションを指定できます。
-ct ファイル名, --ct ファイル名
5 つの列を持つ ASCII 形式のカラー テーブル: id RGB ALFA (0: 透明、255:
個体)
-ラベル 属性を使用する。, - ラベル 属性を使用する。
トレーニング ベクター ファイル内のクラス ラベルの識別子。 (デフォルト: ラベル)
-前 値, - 前 値
各クラスの事前確率 (例: -前 0.3 -前 0.3 -前 0.2) 使用済み
入力専用 (交差検証では無視されます)
-g ガンマ, - ガンマ ガンマ
カーネル関数のガンマ
-cc コスト, --cコスト コスト
C_SVC、epsilon_SVR、nu_SVR のパラメータ C
-m ファイル名, - マスク ファイル名
指定されたマスク (ベクターまたはラスター) 内でのみ分類します。 ラスターマスクの場合、設定
オプションを指定した nodata 値 --msknodata.
-msknodata 値, --msknodata 値
分類を考慮しないマスク値。 値が引き継がれます
分類イメージ。
-データなし 値, - データなし 値
画像が nodata としてマスクされる場所に配置する Nodata 値
-v レベル, -詳細 レベル
冗長レベル
詳細オプション
-b バンド, - バンド バンド
バンド インデックス (0 から開始、いずれかを使用) - バンド オプションまたは使用 --開始バンド 〜へ
--エンドバンド)
-バンド バンド, --開始バンド バンド
開始バンドシーケンス番号
-イーバンド バンド, --エンドバンド バンド
エンドバンドシーケンス番号
-bal サイズ, - バランス サイズ
入力データをクラスごとにこのサンプル数に分散します
-分 数, -分 数
トレーニング ピクセル数が最小未満の場合、このクラスを考慮しない
(0: すべてのクラスを考慮する)
-バッグ 値, - バッグ 値
ブートストラップ アグリゲーションの数 (デフォルトはバギングなし: 1)
-バッグサイズ 値, --バッグサイズ 値
各ブートストラップで使用可能なトレーニング機能から使用される機能の割合
集約 (すべてのクラスで XNUMX つのサイズ、またはクラスごとに異なるサイズ)
それぞれ
-櫛 ルール, - 櫛 ルール
ブートストラップ集約分類子を組み合わせる方法 (0: 合計ルール、1: 積ルール、2:
最大ルール)。 rc オプションでクラスを集約するためにも使用されます。
-cb ファイル名, --クラスバッグ ファイル名
個々のブートストラップ集約ごとの出力
-問題 ファイル名, --prob ファイル名
確率画像。
-オフセット 値, - オフセット 値
各スペクトル バンド入力機能のオフセット値:
refl[バンド]=(DN[バンド]-オフセット[バンド])/スケール[バンド]
-規模 値, - 規模 値
各スペクトル バンド入力機能のスケール値:
refl=(DN[バンド]-オフセット[バンド])/スケール[バンド] (各バンドの最小値と最大値をスケールする場合は 0 を使用します)
-1.0 と 1.0)
-svmt type, --svmtype type
SVM のタイプ (C_SVC、nu_SVC、one_class、epsilon_SVR、nu_SVR)
-kt type, --カーネルタイプ type
カーネル関数のタイプ (線形、多項式、動径、シグモイド)
-K D 値, - K D 値
カーネル関数の次数
-c0 値, --coef0 値
カーネル関数の Coef0
-ぬ 値, --nu 値
nu-SVC、ワンクラス SVM、nu-SVR のパラメータ nu
-エロス 値, --elos 値
epsilon-SVR の損失関数のイプシロン
-キャッシュ 数, - キャッシュ 数
キャッシュ ⟨http://pktools.nongnu.org/html/classCache.html⟩ メモリサイズ (MB) (デフォルト:
100)
-エトール 値, --エトール 値
終了基準の許容値 (デフォルト: 0.001)
-縮む, - 縮む
縮小ヒューリスティックを使用するかどうか
作成 数, --非アクティブ 数
アクティブなトレーニング ポイントの数
実施例
サポート ベクター マシンを使用して入力イメージ input.tif を分類します。 トレーニングサンプル
OGR ベクター データセットとして提供されます。 すべての機能が含まれています (と同じ次元
input.tif) のフィールド (確認してください) pkextract(1) からそのようなファイルを取得する方法について
場所のみを含む「クリーン」ベクター ファイル)。 二重交差検証 (cv) は
実行されます(画面に出力)。 サポート ベクター マシンのパラメーター コストとガンマ
それぞれ 1000 と 0.1 に設定されています。 カラーテーブル (XNUMX 列のテキスト ファイル: image
値、RED、GREEN、BLUE、ALPHA) も提供されています。
PKSVM -i 入力.tif -t トレーニング.sqlite -o 出力.tif -履歴書 2 -ct colortable.txt -cc 1000 -g 0.1
ブートストラップ集約を使用した分類。 トレーニング サンプルはランダムに分割されます。
33 つのサブサンプル (それぞれ元のサンプルの XNUMX%)。
PKSVM -i 入力.tif -t トレーニング.sqlite -o 出力.tif -bs 33 -バッグ 3
各クラスの事前確率を使用した分類。 事前確率は自動的に
正規化。 オプションの順番 -p 英数字を尊重する必要があります
クラス名の順序 (クラス 10 が 2 の前に来る...)
PKSVM -i 入力.tif -t トレーニング.sqlite -o 出力.tif -p 1 -p 1 -p 1 -p 1 -p 1 -p 1 -p 1 -p 1 -p 1 -p 1 -p 1 -p 0.2 -p 1 -p 1 -p 1
24 年 1 月 2016 日 PKSVM(1)
onworks.net サービスを使用してオンラインで pksvm を使用する