use*_*347 3 normalization sql-server-2008
我有不同的列,其中包含年龄、性别等 int 值。我希望通过应用最小-最大归一化将这些列值替换为 0-1 范围值,以便我可以将其加载到快速小数并应用 k 均值。
请告诉我这个的sql查询?
计算此值的查询如下
SELECT
1.00*(Age-MinAge)/AgeRange,
1.00*(Gender-MinGender)/GenderRange,
FROM
(
SELECT
Age,
MIN(Age) OVER () AS MinAge,
MAX(Age) OVER () - MIN(Age) OVER () AS AgeRange,
Gender,
MIN(Gender) OVER () AS MinGender,
MAX(Gender) OVER () - MIN(Gender) OVER () AS GenderRange,
FROM
MyTable
) X
Run Code Online (Sandbox Code Playgroud)
您可以使用它来填充新表或新列等