検証バージョンについてはじめに機械学習において数値データの列を説明変数として利用する場合は、事前に正規化を行うと精度が向上することがあります。従業員データの内、「給与」列と「勤続年数」列を説明変数として機械学習に利用する場合、給与は「円」や「ドル」、勤続年数は「年」といったように単位が異なります。単位が異なれば当然数値の範囲も異なります。このようなスケールが異なる列を同じスケールにするために正規化を利用します。VerticaはNORMALIZE_FIT/APPLY_NORMALIZE関数を利用するとデータの正規化を行うことができます。複数列指定する場合は「,」カンマで区切ります。minmax:0~1の範囲で正規化を実施します。zscore:平均値0、標準偏差1になるように正規化を実施します。robust_zscore:正規四分位範囲を用いて正規化を実施します。正規化後のデータを保存する場合はそのビュー名を指定します。例として従業員データであるsalary_dataテーブルを正規化します。1)years_worked(勤続年数)、current_salary(給与)列はスケールが異なるため、正規化を実施します。rows)2)years_worked、current_salary列に対して、NORMALIZE_FIT関数を使用して正規化の計算を行います。※本例ではminmax法を用いて正規化を計算します。row)3)GET_MODEL_SUMMARY関数を使用すると、計算時に利用したデータの範囲(min/max)を確認することができます。row)4)NORMALIZE_FIT関数で計算した正規化パラメータはモデルとしてVertica内に保存されています。実際に正規化を行う場合はAPPLY_NORMALIZE関数を使用してモデルを適用します。複数列指定する場合は「,」カンマで区切ります。使用する正規化パラメータのモデル名APPLY_NORMALIZE関数で実際にsalary_dataテーブルのyears_worked、current_salary列を正規化します。※手順2)で作成したsalary_data_normfitを使用します。rows)これにより、years_worked、current_salary列の値がデータ間の差は維持したまま0~1の範囲に置き換えられました。years_workedの最大値は手順2)で20であることが確認できています。2974のデータはyears_workedが20ですが、正規化後は1に置き換えられています。2659のデータはyears_workedが10で全体の中央値のため、正規化後は0.5に置き換えられています。row)なお、NORMALIZE_FIT関数で作成した正規化モデルは、計算時に指定したテーブル以外でも適用可能なため、学習時だけでなく実際の予測時にも前処理で利用可能です。9.1で確認しています。technology.。