BALANCE
根据 response_column 返回输入数据的平均分布视图。
这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
BALANCE ( 'output‑view', 'input‑relation', 'response‑column', 'balance‑method'
[ USING PARAMETERS sampling_ratio=ratio ] )
参数
- output‑view
- Vertica 保存来自输入关系的平衡数据的视图的名称。
注意
注意: 此函数生成的视图采用随机函数。每当在查询中使用时,内容可能都有所不同。为确保视图操作可预测,请将其存储到常规表中。 - input‑relation
- 包含函数用于创建更平衡的数据集的数据的表或视图。 如果输入关系在 Hive 中定义,请使用
SYNC_WITH_HCATALOG_SCHEMA
以同步hcatalog
架构,然后运行机器学习功能。 - response‑column
- 表示 VARCHAR 或 INTEGER 类型的因变量输入列的名称。
- balance‑method
- 指定从少数类和多数类中选择数据的方法,为以下之一。
-
hybrid_sampling
:对不同类执行过采样和欠采样,因此平等展现每个类。 -
over_sampling
:对所有类过采样,多数类除外,适用于多数类的基数。 -
under_sampling
:对所有类欠采样,少数类除外,适用于少数类的基数。 -
weighted_sampling
:under_sampling
的别名。
-
参数
ratio
- 多数类与少数类之间的理想比例。与 balance 方法
hybrid_sampling
配合使用时,此值无效。默认值: 1.0
特权
非超级用户:
-
对输入关系的 SELECT 权限
-
输出视图架构的 CREATE 权限
示例
=> CREATE TABLE backyard_bugs (id identity, bug_type int, finder varchar(20));
CREATE TABLE
=> COPY backyard_bugs FROM STDIN;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> 1|Ants
>> 1|Beetles
>> 3|Ladybugs
>> 3|Ants
>> 3|Beetles
>> 3|Caterpillars
>> 2|Ladybugs
>> 3|Ants
>> 3|Beetles
>> 1|Ladybugs
>> 3|Ladybugs
>> \.
=> SELECT bug_type, COUNT(bug_type) FROM backyard_bugs GROUP BY bug_type;
bug_type | COUNT
----------+-------
2 | 1
1 | 3
3 | 7
(3 rows)
=> SELECT BALANCE('backyard_bugs_balanced', 'backyard_bugs', 'bug_type', 'under_sampling');
BALANCE
--------------------------
Finished in 1 iteration
(1 row)
=> SELECT bug_type, COUNT(bug_type) FROM backyard_bugs_balanced GROUP BY bug_type;
----------+-------
2 | 1
1 | 2
3 | 1
(3 rows)