DETECT_OUTLIERS
根据异常值阈值返回数据集中的异常值。输出为包含异常值的表。 DETECT_OUTLIERS
使用检测方法 robust_szcore
使每个输入列实现标准化。然后,函数将包含大于默认或指定阈值的标准化值的所有行标识为异常值。
这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
DETECT_OUTLIERS ( 'output‑table', 'input‑relation','input‑columns', 'detection‑method'
[ USING PARAMETERS
[outlier_threshold = threshold]
[, exclude_columns = 'excluded‑columns']
[, partition_columns = 'partition‑columns'] ] )
参数
- output‑table
- Vertica 保存所选
input_columns
的异常值行的表的名称。所有列均存在于此表中。 - input‑relation
- 包含异常数据的表或视图。 如果输入关系在 Hive 中定义,请使用
SYNC_WITH_HCATALOG_SCHEMA
以同步hcatalog
架构,然后运行机器学习功能。 - input‑columns
- 输入关系中要使用的列的逗号分隔列表,或者使用星号 (*) 选择所有列。 输入列的类型必须为 数字。
- detection‑method
- 要使用的异常值检测方法,设置为
robust_zscore
。
参数
outlier_threshold
- 用于将该行标识为异常值的行中的最小标准化值。
默认值: 3.0
exclude_columns
input-columns 中要排除在处理范围之外的列名的逗号分隔列表。
partition_columns
- 定义分区的输入表或视图中的列名的逗号分隔列表。
DETECT_OUTLIERS
分别检测每个分区中的异常值。默认值: 空列表
特权
非超级用户:
-
对输入关系的 SELECT 权限
-
对输出表的 CREATE 权限
示例
以下示例显示了 DETECT_OUTLIERS
的用法:
=> CREATE TABLE baseball_roster (id identity, last_name varchar(30), hr int, avg float);
CREATE TABLE
=> COPY baseball_roster FROM STDIN;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> Polo|7|.233
>> Gloss|45|.170
>> Gus|12|.345
>> Gee|1|.125
>> Laus|3|.095
>> Hilltop|16|.222
>> Wicker|78|.333
>> Scooter|0|.121
>> Hank|999999|.8888
>> Popup|35|.378
>> \.
=> SELECT * FROM baseball_roster;
id | last_name | hr | avg
----+-----------+--------+--------
3 | Gus | 12 | 0.345
4 | Gee | 1 | 0.125
6 | Hilltop | 16 | 0.222
10 | Popup | 35 | 0.378
1 | Polo | 7 | 0.233
7 | Wicker | 78 | 0.333
9 | Hank | 999999 | 0.8888
2 | Gloss | 45 | 0.17
5 | Laus | 3 | 0.095
8 | Scooter | 0 | 0.121
(10 rows)
=> SELECT DETECT_OUTLIERS('baseball_outliers', 'baseball_roster', 'id, hr, avg', 'robust_zscore' USING PARAMETERS
outlier_threshold=3.0);
DETECT_OUTLIERS
--------------------------
Detected 2 outliers
(1 row)
=> SELECT * FROM baseball_outliers;
id | last_name | hr | avg
----+-----------+------------+-------------
7 | Wicker | 78 | 0.333
9 | Hank | 999999 | 0.8888
(2 rows)