OpenText Analytics Database 旧Vertica

技術情報サイト

Analytics Database

各列の平均、中央値、最大値/最小値、標準偏差等を一括で確認する(Vertica9.0新機能)

公開日:
更新日:
基本操作
新バージョン/機能
機械学習
#機械学習
#関数

はじめに

機械学習を行う際などは、対象データの平均、中央値、最大値/最小値、標準偏差等を確認して、データを俯瞰する必要があります。
Vertica 9.0より、SUMMARIZE_NUMCOL関数を使用することで、これら統計サマリー情報をテーブル毎に一括で確認することが可能になりました。

SUMMARIZE_NUMCOL関数で取得できる情報は、件数、平均、標準偏差、最小値/最大値、パーセンタイルです。

SUMMARIZE_NUMCOL

コマンド構文

dbadmin=> SUMMARIZE_NUMCOL (列名1,列名2,列名3,...,列名n  
       ->         [USING PARAMETERS [exclude_columns = '列名1,列名2,...,列名n ']]) 
       ->          OVER() FROM テーブル名;

パラメータ

内容

列名1,列名2,列名3,...,列名n

統計サマリーの取得対象列

exclude_columns

(オプション) 対象列を*(全列)と指定した場合に、対象列から除外する列
※9.0.1以降

利用例

社員データが格納されているemployeeテーブルを例にします。

dbadmin=> SELECT * FROM employee ;
 id |           name           | age | gender |   title   |   salary
----+--------------------------+-----+--------+-----------+------------
  1 | Leonardo da Vinci        |  44 | M      | Artist    |  1234.5600
  2 | Albert Einstein          |  45 | M      | Scientist |  2345.6700
  3 | Myrddin Wyltt            |  67 | M      | Wizard    | 34567.7800
  4 | George Walker Bush       |  71 | M      | President |  4567.8900
  6 | Elizabeth Alexandra Mary |  90 | F      | Queen     |  5678.9000
(5 rows)

age列、salary列の統計サマリー情報を確認します。

dbadmin=> SELECT SUMMARIZE_NUMCOL(age,salary) OVER() FROM employee;
 COLUMN | COUNT |  MEAN   |      STDDEV      |   MIN   | PERC25  | MEDIAN  | PERC75 |   MAX
--------+-------+---------+------------------+---------+---------+---------+--------+----------
 age    |     5 |    63.4 | 19.3209730603818 |      44 |      45 |      67 |     71 |       90
 salary |     5 | 9678.96 | 14023.7469237451 | 1234.56 | 2345.67 | 4567.89 | 5678.9 | 34567.78
(2 rows)

このように、SUMMARIZE_NUMCOL関数を使用することで、主要な統計サマリーデータを一括で確認することができます。

参考情報

SUMMARIZE_NUMCOL
https://my.vertica.com/docs/9.0.x/HTML/index.htm#Authoring/SQLReferenceManual/Functions/MachineLearning/SUMMARIZE_NUMCOL.htm

検証バージョンについて

この記事の内容はVertica 9.0.1で確認しています。