数据预处理

最近更新时间:2023-12-14 16:36:35

我的收藏
注意:
部分输出请在高级设置中查看。
数据预处理下的平台算子具有两个特性,在此作为整体产品特性进行说明:n1. 存在概率性,只在数据量大时,结果趋近于所设定的切分或采样比例。n2. 行序不保证。

下采样(DownSampling)

原理

算法说明

下采样是一种常用的处理不平衡数据的一种预处理方法。下采样是从大众类中剔除一些样本,或者说只从大众类中选取部分样本。

下采样的缺点显而易见,那就是最终的训练集丢失了数据,模型只学到了部分数据的特征。

参数配置

算法 IO 参数
*输入文件类型:格式包括以下两种:
csv :csv 文件
*输入数据包含 header 信息:默认为“是”。
*输入数据分隔符:数据分隔符,默认为逗号,可下拉选择其他分隔符。
*输出数据包含 header 信息:默认为“是”。
*输出数据分隔符:数据分隔符,默认为逗号,可下拉选择其他分隔符。
parquet :列式存储格式 parquet
*标签列:指定标签所在的列,从 0 开始计数。
算法参数
*类别比率阈值:如果(目标类别数目 / 采样类别数目)>= 类别比率阈值,那么说明数据按此标准是平衡的,不做任何处理。如果(目标类别 / 采样类别)< 类别比率阈值,那么会对采样类别进行采样,采样率为 (目标类别 / 采样类别)/ 类别比率阈值。
*采样类别:需要下采样的类别值(数量多的类别)。
*目标类别:数量少的类别。

Demo

输入数据示例

示例是每一行为列名,其余行为数据,第一列为特征列,第二列为标签列。
feature,target
5.1187,0
5.6208,0
6.9427,0
5.8428,0
5.9405,0
4.5322,0
6.1961,0
5.689,0
4.4514,1
6.0637,1

参数配置

算法 IO 参数
*输入文件类型:csv
*输入数据是否包含 header 信息:是
*输入数据分隔符:逗号
*输出数据是否包含 header 信息:是
*输出数据分隔符:逗号
*标签列:1
算法参数
*类别比率阈值:1.0 。此处目标类别数目为 2 ,采样类别数目为 6 ,目标类别数目/采样类别数目 = 1/3 ,对标签为 0 的类别进行采样,采样率为 1/3 ,即标签为 0 的样本数目减少到 2 。
*采样类别:0
*目标类别:1,数量少的类别。

输出数据示例

类别 0 数据量减少。
feature,target
5.6208,0
6.1961,0
4.4514,1
6.0637,1

按比例采样(DataSampling)

原理

算法说明

按比例采样是一种常用的数据预处理算法。该算子从原数据集里随机抽取用户指定的比例,输出小样本数据。该模块常用于抽取小样本,用于数据的可视化。

参数配置

算法 IO 参数
*输入文件类型:格式包括以下两种:
csv :csv 文件
*输入数据包含 header 信息:默认为“是”。
*输入数据分隔符:数据分隔符,默认为逗号,可下拉选择其他分隔符。
*输出数据包含 header 信息:默认为“是”。
*输出数据分隔符:数据分隔符,默认为逗号,可下拉选择其他分隔符。
parquet :列式存储格式 parquet
算法参数
*采样比例:范围是 0~1.0 ,表示抽取样本的比例,默认值为 0.8 。

Demo

输入数据示例

示例是无 header (没有列名)且每一行为一条数据,最后一列为标签,其他列为特征。
3 2 3 0 0 2 1 0 1 1
3 2 3 0 0 2 1 0 1 1
3 2 3 0 0 2 1 0 1 1
3 2 3 0 0 2 1 0 1 1
3 2 3 0 0 2 1 0 1 1
3 2 3 0 0 2 1 0 1 1
3 2 6 1 0 1 0 2 1 1
3 2 6 1 0 1 0 2 1 1
3 2 6 1 0 1 0 2 1 1
4 1 3 0 1 0 1 4 1 0
4 1 7 0 1 1 0 1 1 0
3 2 7 0 0 2 1 1 0 0
4 2 5 1 1 1 1 0 0 0
3 1 6 0 1 2 0 2 4 0
6 2 2 0 0 7 9 1 0 0

参数配置

算法 IO 参数
*输入文件类型:csv
*输入数据是否包含 header 信息:否
*输入数据分隔符:空格
*输出数据是否包含 header 信息:否
*输出数据分隔符:空格
算法参数
*采样比例:0.7 ,即从原数据随机抽取 70% 的数据进行输出。

输出数据示例

输出为 csv 文件,逗号为分隔符,从输入数据随机抽取 70% 进行输出。
3 2 3 0 0 2 1 0 1 1
3 2 3 0 0 2 1 0 1 1
3 2 3 0 0 2 1 0 1 1
3 2 3 0 0 2 1 0 1 1
3 2 3 0 0 2 1 0 1 1
3 2 6 1 0 1 0 2 1 1
3 2 6 1 0 1 0 2 1 1
3 2 6 1 0 1 0 2 1 1
3 2 7 0 0 2 1 1 0 0
4 2 5 1 1 1 1 0 0 0
3 1 6 0 1 2 0 2 4 0
6 2 2 0 0 7 9 1 0 0

数据切分(Spliter)

原理

算法说明

数据切分是另外一种常用的数据预处理算法。在机器学习建模过程中,通常需要训练数据集和验证数据集两类数据集。本算子将输入数据集按照指定的比例切分为训练数据集和验证数据集。

参数配置

算法 IO 参数
*输入文件类型:格式包括以下两种:
csv :csv 文件
*输入数据包含 header 信息:默认为“是”。
*输入数据分隔符:数据分隔符,默认为逗号,可下拉选择其他分隔符。
*输出数据包含 header 信息:默认为“是”。
*输出数据分隔符:数据分隔符,默认为逗号,可下拉选择其他分隔符。
parquet :列式存储格式 parquet
算法参数
*切分比例:数据切分的比例。

Demo

输入数据示例

示例是无 header (没有列名)且每一行为一条数据,最后一列为标签,其他列为特征。
3 2 3 0 0 2 1 0 1 1
3 2 3 0 0 2 1 0 1 1
3 2 3 0 0 2 1 0 1 1
3 2 3 0 0 2 1 0 1 1
3 2 3 0 0 2 1 0 1 1
3 2 3 0 0 2 1 0 1 1
3 2 6 1 0 1 0 2 1 1
3 2 6 1 0 1 0 2 1 1
3 2 6 1 0 1 0 2 1 1
4 1 3 0 1 0 1 4 1 0
4 1 7 0 1 1 0 1 1 0
3 2 7 0 0 2 1 1 0 0
4 2 5 1 1 1 1 0 0 0
3 1 6 0 1 2 0 2 4 0
6 2 2 0 0 7 9 1 0 0

参数配置

算法 IO 参数
*输入文件类型:csv
*输入数据是否包含 header 信息:否
*输入数据分隔符:空格
*输出数据是否包含 header 信息:否
*输出数据分隔符:空格
算法参数
*切分比例:0.8 。即第一份数据的输出结果占总数据的 80% ,第二份数据的输出占总数据的 20% 。

输出数据示例

输出为 csv 文件,逗号为分隔符。n第一部分输出结果:第一份数据的输出,如切分比例为 0.8 ,该份结果占总数据的 80% 。
3 2 3 0 0 2 1 0 1 1
3 2 3 0 0 2 1 0 1 1
3 2 3 0 0 2 1 0 1 1
3 2 6 1 0 1 0 2 1 1
3 2 6 1 0 1 0 2 1 1
3 2 6 1 0 1 0 2 1 1
4 1 3 0 1 0 1 4 1 0
4 1 7 0 1 1 0 1 1 0
4 2 5 1 1 1 1 0 0 0
3 1 6 0 1 2 0 2 4 0
6 2 2 0 0 7 9 1 0 0
第二部分输出结果:第二份数据的输出,如切分比例为 0.2 ,该份结果占总数据的 20% 。
3 2 3 0 0 2 1 0 1 1
3 2 3 0 0 2 1 0 1 1
3 2 7 0 0 2 1 1 0 0

缺失值填充(ReplaceMissing)

原理

算法说明

该算法对数据中某列数据存在的缺失值,即空值,进行替换。

参数配置

算法 IO 参数
*输入文件类型:格式包括以下两种:
csv :csv 文件
*输入数据包含 header 信息:默认为“是”。
*输入数据分隔符:数据分隔符,默认为逗号,可下拉选择其他分隔符。
*输出数据包含 header 信息:默认为“是”。
*输出数据分隔符:数据分隔符,默认为逗号,可下拉选择其他分隔符。
parquet :列式存储格式 parquet
*选择特征列:处理的特征列序号,可多选,如 0-1 ,从 0 开始计数。
算法参数
*填充方法:n零(zero)、空(none)、最小值(minimum)、最大值(maximum)、均值(average)、中值(median)、众数(mode)、输入值(value),主要针对字符串特征。
*填充值:如果填充方法选择“输入值(value)”,则此处填写希望填充的值。

Demo

输入数据示例

输入为 csv 文件,有 header ,逗号为分隔符。其中每行第一列为时间戳;每行第二列为当月的牛奶产量。n具体内容可参考如下:
Month,production
141840000,908
144518400,867
147196800,815
149788800
152467200,773
155059200
157737600,834
160416000,782
162835200
165513600,903
168105600,966
170784000,937
173376000,896
176054400,858

参数配置

算法 IO 参数
*输入文件类型:csv
*输入数据是否包含 header 信息:是
*输入数据分隔符:逗号
*输出数据是否包含 header 信息:是
*输出数据分隔符:逗号
*选择特征列:1
算法参数
*填充方法:average

输出数据示例

输出为 csv 文件,逗号为分隔符。第一列缺失的值填充该列的均值。
Month,production
141840000,908
144518400,867
147196800,815
149788800,867
152467200,773
155059200,867
157737600,834
160416000,782
162835200,867
165513600,903
168105600,966
170784000,937
173376000,896
176054400,858

自动数据预处理(AutoDataProcess)

原理

算法说明

该算法自动预处理数据的数据。主要做如下自动处理:
1. 去除重复样本;
2. 删除缺失率高的列,删除列值相同的列;
3. 数据规整化(去除两侧空格);
4. 填充缺失值:针对 double 和 float 类型数,缺失值填均值;
5. 处理离群值。

参数配置

算法 IO 参数
*输入文件类型:格式包括以下两种:
csv :csv 文件
*输入数据包含 header 信息:默认为“是”。
*输入数据分隔符:数据分隔符,默认为逗号,可下拉选择其他分隔符。
*输出数据包含 header 信息:默认为“是”。
*输出数据分隔符:数据分隔符,默认为逗号,可下拉选择其他分隔符。
parquet :列式存储格式 parquet
算法参数
*缺失值阈值:如果特征列的缺失值比例大于该阈值,特征列会被删除。
*是否删除离群值:离群值表示偏离本列数据三个标准差以上的点。选择是将会删除离群值,否则会按照离群方向被平滑为距离均值三个标准差的值。

Demo

输入数据示例

输入为 csv 文件,有 header ,逗号为分隔符。其中存在缺失值、异常值、重复样本。n具体内容可参考如下:
Country/Region,Lat,Long,1/22/20,1/23/20,1/24/20,1/25/20,1/26/20,1/27/20
Afghanistan,33.93911,67.709953,0,0,0,0,0,0
Albania,41.1533,20.1683,0,0,0,0,0,0
Algeria,28.0339,1.6596,0,,0,0,0,0
Andorra,42.5063,1.5218,0,0,0,0,0,0
Angola,-11.2027,17.8739,0,0,0,0,5,0
Antigua and Barbuda,17.0608,-61.7964,0,,0,0,0,0
Argentina,-38.4161,-63.6167,0,0,0,0,0,0
Armenia,40.0691,45.0382,0,0,0,0,0,0
Australia,-35.4735,149.0124,0,,0,0,0,0
Australia,-33.8688,99999,0,,0,1,3,4
Australia,-12.4634,130.8456,0,0,0,0,0,0
Australia,-27.4698,153.0251,0,0,0,0,0,0
Australia,-34.9285,138.6007,0,0,0,0,0,0
Australia,-42.8821,147.3272,0,0,0,0,0,0
Australia,-37.8136,144.9631,0,0,0,0,1,1
Australia,-31.9505,115.8605,0,0,0,0,0,0
Austria,47.5162,14.5501,0,0,0,0,0,0
Azerbaijan,40.1431,47.5769,0,0,0,0,0,0
Bahamas,25.025885,-78.035889,0,0,0,0,0,0
Bahamas,25.025885,-78.035889,0,0,0,0,0,0

参数配置

算法 IO 参数
*输入文件类型:csv
*输入数据是否包含 header 信息:是
*输入数据分隔符:逗号
*输出数据是否包含 header 信息:是
*输出数据分隔符:逗号
算法参数
*缺失值阈值:1.0。
*是否删除离群值:是。

输出数据示例

Country/Region,Lat,Long,1/25/20,1/26/20,1/27/20
Albania,41.1533,20.1683,0.0,0.0,0.0
Azerbaijan,40.1431,47.5769,0.0,0.0,0.0
Bahamas,25.025885,-78.035889,0.0,0.0,0.0
Australia,-35.4735,149.0124,0.0,0.0,0.0
Australia,-34.9285,138.6007,0.0,0.0,0.0
Armenia,40.0691,45.0382,0.0,0.0,0.0
Australia,-27.4698,153.0251,0.0,0.0,0.0
Afghanistan,33.93911,67.709953,0.0,0.0,0.0
Algeria,28.0339,1.6596,0.0,0.0,0.0
Andorra,42.5063,1.5218,0.0,0.0,0.0
Australia,-12.4634,130.8456,0.0,0.0,0.0
Australia,-31.9505,115.8605,0.0,0.0,0.0
Argentina,-38.4161,-63.6167,0.0,0.0,0.0
Australia,-42.8821,147.3272,0.0,0.0,0.0
Antigua and Barbuda,17.0608,-61.7964,0.0,0.0,0.0
Austria,47.5162,14.5501,0.0,0.0,0.0