增量分析中的特征缩放

Posted

技术标签:

【中文标题】增量分析中的特征缩放【英文标题】:Feature scaling in an incremental analysis 【发布时间】:2020-11-23 02:57:45 【问题描述】:

我正在对我的数据进行增量分析。数据属于 4 个年龄组(第 1 天、第 2 天、第 3 天和第 4 天)。在将数据输入模型之前,我使用 sklearn 中的标准缩放器实现对特征进行标准化。当我想到它时,我想到了 3 种方法。

Approach (1)standardize the newly added data separately
days = [day1, day2, day3, day4]

data=[]
for day in days:
    standard_scaler = StandardScaler()
    scaled = standard_scaler.fit_transform(day)
    data.append(scaled)
    Y = model.fit_transform(data)

Approach (2)standardize all the data up to the current day together separately
days = [day1, day2, day3, day4]

data=[]
for day in days:
    data.append(day)
    standard_scaler = StandardScaler()
    scaled = standard_scaler.fit_transform(data)
    Y = model.fit_transform(scaled)

Approach (3)partial_fit the same standard scaler on the newly added increments
    days = [day1, day2, day3, day4]
    standard_scaler = StandardScaler()

    data=[]
    for day in days:
        standard_scaler.partial_fit(day)
        data.append(day)
        scaled = standard_scaler.transform(data)
       
        Y = model.fit_transform(scaled)

请告知哪种方法最适合。

【问题讨论】:

【参考方案1】:

方法 1 是最好的方法,实际上也是唯一正确的方法

【讨论】:

您能解释一下原因吗? 因为在其他两种方法中,缩放数据与非缩放数据一起包含在拟合过程中...... 在第三种方法中,只有未缩放的数据部分适合原始缩放模型。 true...但是缩放数据也被转换为非缩放数据。方法 1 似乎是正确的

以上是关于增量分析中的特征缩放的主要内容,如果未能解决你的问题,请参考以下文章

特征缩放以相同比例转换列中的不同值

R语言层次聚类(hierarchical clustering):特征缩放抽取hclust中的聚类簇(cutree函数从hclust对象中提取每个聚类簇的成员)基于主成分分析的进行聚类结果可视化

数据竞赛知识点 | 数值特征的缩放与编码

数据集特征编码和缩放

Keras中的特征缩放和移位(FiLM层)

具有单一特征的梯度下降中的特征缩放