FM算法以及常用python库
FM算法以及常用python库
Factorization Machines:
适用于高维稀疏数据集进行特征组合,发现特征隐藏信息。在CTR,推荐系统中用的很多,这些情况下我也没有用过。
通过目标函数可以看出,比起线性模型,FM算法增加了两个变量相互作用的效果。
二分类算法的损失函数:
通过随机梯度下降更新参数:
另外两个了解不深入的概念:
ffm: 在fm基础上加入field概念,我的理解是适用于将one hot编码后的一系列特征归为一个field。
deepfm:在fm基础上加入深度学习概念,适用于挖掘更多变量相乘的影响,单纯用fm增加维度效率很低。
放一段别人写的适用于小数据集的FM代码,完全根据上述思路来写的:
https://github.com/GreenArrow2017/MachineLearning/blob/master/MachineLearning/Factorization%20Machine/FM.py
FM实现常用库:
以下库均适用于二分类模型或回归模型。
pyfm:pyfm的使用需要先将训练数据转化为字典对象构成的列表,然后再用DictVectorizer将数据集转化为one-hot编码的矩阵。
xlearn: FM & Linear模型可以输入libsvm格式或者csv格式,但 FFM模型只能接受libffm格式,具体格式样式如下。
https://xlearn-doc.readthedocs.io/en/latest/python_api/index.html
FM算法给我的感觉就是在逻辑回归模型上做了变形处理,然后帮你直接训练、预测数据,模型的选择空间很小。但是我希望找到一种方法,可以单纯对特征做一些组合处理,然后加入自己的模型去训练。
文章有任何错误欢迎指正,有任何建议也欢迎提出,本文发布纯属学习。
FM算法以及常用python库相关推荐
- 简述与机器学习相关的十大常用Python库,极简化算法编程
原创博文,欢迎转载,转载时请务必附上博文链接,感谢您的尊重. 前言 初学Python的时候,我一直不太理解Python的魅力到底在哪,相比Java,它除了换一种简洁的语法,好像没什么场景是不可替代的. ...
- 1000+ 常用 Python 库一览
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源 | 法纳斯特 这次给大家总结整理了1000+常用Python库 ...
- wxpython dataview处理大量数据_38个常用Python库:数值计算、可视化、机器学习等8大领域都有了...
作者 | 李明江 张良均 周东平 张尚佳 来源 | 大数据DT 原文 | 38个常用Python库:数值计算.可视化.机器学习等8大领域都有了 Python作为一个设计优秀的程序语言,现在已广泛应用于 ...
- 数据分析与挖掘中常用Python库的介绍与实践案例
数据分析与挖掘中常用Python库的介绍与实践案例 一.Python介绍 现在python一词对我们来说并不陌生,尤其是在学术圈,它的影响力远超其它任何一种编程语言, 作为一门简单易学且功能强大的编程 ...
- [CTF] python的pip源更改及常用python库
windows下更改pip为清华大学开源 命令行以管理员方式运行 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/s ...
- 深度学习常用python库学习笔记
深度学习常用python库学习笔记 常用的4个库 一.Numpy库 1.数组的创建 (1)np.array() (2)np.zeros() (3)np.ones() (4)np.empty() (5) ...
- 【新手入门Python必看】1000+常用Python库一览
这次给大家总结整理了1000+常用Python库,主要分为以下部分
- 深度学习入门之Python小白逆袭大神系列(三)—深度学习常用Python库
深度学习常用Python库介绍 目录 深度学习常用Python库介绍 简介 Numpy库 padas库 PIL库 Matplotlib库 简介 Python被大量应用在数据挖掘和深度学习领域,其中使用 ...
- 数据分析常用Python库:数值计算、可视化、机器学习等领域
镜像pip安装 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 豆 ...
最新文章
- Selenium3自动化测试——20.使用HTMLTestRunner获取测试报告
- Java面试题库,mysql远程访问权限设置
- AVL添加平衡二叉树,是一种二叉排序树,其中每个结点的左子树和右子树的高度差至多等于1。-icoding-数据结构-C-typedef struct node{ int val;
- java script 环境搭建_TypeScript环境搭建
- C# 基础知识和VS2010的小技巧总汇(2)[转]
- JavaScript-switch语句
- 如何在SQL Server中自动进行表分区
- VMware虚拟机下安装CentOS 6.10并配置访问外网
- 转:lnmp 搭建手册-黑一路人
- 物联网培训总结(C#)
- 腾讯元老上市公司CTO赚够钱后辞职,到安徽隐居,每天对着200亩地发呆
- Deep Voice 论文
- python文字游戏攻防_一个简单的孙悟空斗牛魔王的文字游戏
- U盘数据恢复的实现?
- linux半夜三点半定时重启,linux 定时任务 crontab相关(三)
- STM32CubeIDE 利用LL库 SysTick简单实现hcsr04超声波测距
- texstudio 官网打不开
- 机器人社社长事迹_科技之星事迹材料
- 正式声明:转载本Blog文章请注明原始出处和作者
- oracle 两种优化器,Oracle的优化器有两种优化方式(一)
热门文章
- 致二十多岁着急的年轻男女们
- 如何用计算机符号常量计算圆的周长,编写程序,输入圆的半径,计算并输出其周长和面积。常量pi的值取3.1.._简答题试题答案...
- 网络广告常用英语术语
- 汇正财经骗局?中国银行行业 China Banks存贷款定价机制详解
- 用手机打开word图表位置很乱_超过80%的人学会了都说好用,这是一篇良心干货文...
- 【地推】:一个棋牌游戏的地推流程
- Cocos2d-x客户端资源加密
- Rundeck 腾讯企业邮箱配置
- 一个八零后对婚姻的迷惑!
- C# 获取URL地址中文件名