すべてのプロダクト
Search
ドキュメントセンター

PolarDB:SVRアルゴリズム

最終更新日:Dec 23, 2024

このトピックでは、Support Vector Regression (SVR) アルゴリズムについて説明します。

背景情報

SVRはサポートベクターマシン (SVM) のアプリケーションブランチです。 SVRを使用して、集合内のすべてのデータ要素が最短距離を有する回帰平面を見つけることができる。

シナリオ

SVRは、主に値をフィッティングするために使用される回帰モデルであり、スパースなフィーチャと少数のフィーチャを含むシナリオで使用されます。

例えば、SVRモデルを使用して、都市の温度を予測することができる。 入力特徴は、特定の期間にわたる都市の過去の平均気温、緑のカバー率、地域内の湖の数、および日付などの様々な要因を含むことができる。 モデルの出力は、その期間中の都市の予測された温度とすることができる。

パラメーター

次の表に示すパラメーターの値は、モデルの作成に使用されるCREATE modelステートメントで指定されたmodel_parameterパラメーターの値と同じです。 ビジネス要件に基づいてパラメーターを設定できます。

パラメーター

説明

カーネル

カーネル関数。低次元データを高次元空間にマッピングするために使用されます。 有効な値:

  • rbf (デフォルト): ラジアル基底関数。 サンプルを高次元空間にマッピングするために使用できます。

  • linear: 線形カーネル関数。 それは線形分離で主に使用されます。 特徴空間は、入力空間と同じ次元を有する。 それはより少ないパラメータを必要とし、より高い速度を提供する。

  • poly: 多項式カーネル関数。 低次元の入力空間を高次元の特徴空間にマッピングするために使用できます。 より多くのパラメータが必要です。

  • シグモイド: 多層ニューラルネットワークの効果と同様の効果があります。

c

リラクゼーション係数のペナルティ係数。 これは0より大きい浮動小数点数であり、空のままにすることができる。 デフォルト値:1

説明

データ品質が低い場合は、このパラメーターの値を減らすことができます。

イプシロン

SVR損失関数のしきい値。 予測値と実際の値との差が閾値に等しい場合、サンプルの損失が計算される。 デフォルト値: 0.1

max_iter

反復の最大数。 有効な値: 正の整数と-1。 デフォルト値: -1。

説明

値を-1に設定した場合、反復回数に制限はありません。 反復は、値がイプシロン内に収束するまで続く。

SVRモデルを作成します。

/*polar4ai*/CREATE MODEL svr1 WITH
( model_class = 'svr', x_cols = 'dx1,dx2', y_cols='y',
 model_parameter=(kernel='rbf')) AS (SELECT * FROM db4ai.testdata1);

モデルを評価します。

/*polar4ai*/SELECT dx1,dx2 FROM EVALUATE(MODEL svr1, 
SELECT * FROM db4ai.testdata1 LIMIT 10) WITH 
(x_cols = 'dx1,dx2',y_cols='y',metrics='r2_score');

予測にモデルを使用します。

/*polar4ai*/SELECT dx1,dx2 FROM
PREDICT(MODEL svr1, SELECT * FROM db4ai.testdata1 LIMIT 10)
WITH (x_cols = 'dx1,dx2');
説明

x_colsおよびy_colsのデータ型は、浮動小数点または整数である必要があります。