- 归一化概念
将不同范围的数值列进行归一化,映射到[0,1]区间 - 好处
更容易做数据横向对比,比如价格字段是几百到几千,增幅字段是0到100;同时机器学习模型学的更快性能更好 - 公式
- 代码示例
# 实现按照用户ID分组,然后对其中一列归一化
def ratings_norm(df):
"""
@param df:每个用户分组的dataframe
"""
min_value = df["Rating"].min()
max_value = df["Rating"].max()
df["Rating_norm"] = df["Rating"].apply(
lambda x: (x-min_value)/(max_value-min_value))
return df
ratings = ratings.groupby("UserID").apply(ratings_norm)