【推荐算法】FM高阶分解模型 - 含特征交叉、POLY2模型

FM高阶分解模型

  • 1.模型性质解析
    • 1.1 特征交叉
    • 1.2 POLY2模型
    • 1.3 FM模型
  • 2.代码实现思路
    • 2.1数据集
    • 2.2数据预处理
    • 2.3 实现思路

1.模型性质解析

1.1 特征交叉

【推荐算法】FM高阶分解模型 - 含特征交叉、POLY2模型_第1张图片

1.2 POLY2模型

【推荐算法】FM高阶分解模型 - 含特征交叉、POLY2模型_第2张图片

1.3 FM模型

【推荐算法】FM高阶分解模型 - 含特征交叉、POLY2模型_第3张图片
【推荐算法】FM高阶分解模型 - 含特征交叉、POLY2模型_第4张图片

2.代码实现思路

2.1数据集

diabetes_train.txt为大小499* 9的关于糖尿病患者的二分类训练数据集,最后一列为标签0/1。而diabetes_test.txt为大小267*9的二分类测试数据集
【推荐算法】FM高阶分解模型 - 含特征交叉、POLY2模型_第5张图片

2.2数据预处理

分别训练集和测试集进行数据预处理,包括如下几点:

  • 将二分类的标签结果0/1转变成1/-1,为了后续计算
  • 将8个特征归一化,为提升收敛速度以及提升模型的精度,防止模型梯度爆炸,即将特征值映射到[0 ,1]之间

处理结果

在这里插入图片描述
在这里插入图片描述

2.3 实现思路

【推荐算法】FM高阶分解模型 - 含特征交叉、POLY2模型_第6张图片

你可能感兴趣的:(python,推荐算法)