FM具体的算法思路理解可以参考 FM算法理解
本文主要讲解的是pyFM的使用
一级目录
本文主要是作者在学习FM代码使用时候遇到的问题,主要问题有以下几个
- microsoft visual c++ 14.0 is required
- LINK : fatal error LNK1181: cannot open input file ‘m.lib’
二级目录
有几篇博客是说可以在线安装,但其实对于FM这个库,是没法进行在线安装的,我们需要将源码进行下载,然后修改里面的部分代码,重新进行编译安装就可以
一、问题一
1.在windows下下载pyFM的源码,命令如下
git clone git@github.com:coreylynch/pyFM.git,这是我在anaconda中的虚拟环境中运行的
git clone git@github.com:coreylynch/pyFM.git
下载安装之后,如果我们直接运行python setup.py install
会出现如下错误
error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”: http://landinghub.visualstudio.com/visual-cpp-build-tools
对于这个问题主要有两种解决方案
**
第一种
去python的的支持库中安装对应的whl进行安装
官网是
https://www.lfd.uci.edu/~gohlke/pythonlibs/
然后按crtl+F选择搜索对应的安装包进行安装,不过这种方法并没有彻底解决问题,只是跳过相关的环境进行安装,详细的流程见安装
第二种
解决方案就是安装C++的编译环境,这里我使用的是第二种以便彻底解决问题
我把Microsoft Visual C++ Build Tools的安装使用百度网盘进行分享,
直接解压,然后点击 以管理员身份运行:VisualCppBuildTools_Full.exe
他会自动读取package目录里面的包来安装的。
链接是只需要安装C++部分所需要的包,可以极大减少磁盘空间,提取密码是gryc
按照流程安装即可
二、问题二
接下来安装好了再执行python setup.py install仍然会报错
错误是
LINK : fatal error LNK1181: cannot open input file ‘m.lib’
对于这个问题,我们只需要将源码里面的setup.py中的代码
libraries=[“m”]删除,或者变成 libraries=[]就可以。
接下来就可以执行代码的编译操作,命令是
python setup.py build
会出现如下的提示
紧接着执行python setup.py install
就会出现如下的提示
至此,就可以在我们的anaconda的虚拟环境中使用我们编译好的pyfm包
使用官网的例子进行测试,发现没有错误文章来源:https://www.toymoban.com/news/detail-460910.html
from pyfm import pylibfm
from sklearn.feature_extraction import DictVectorizer
import numpy as np
train = [
{"user": "1", "item": "5", "age": 19},
{"user": "2", "item": "43", "age": 33},
{"user": "3", "item": "20", "age": 55},
{"user": "4", "item": "10", "age": 20},
]
v = DictVectorizer()
X = v.fit_transform(train)
print(X.toarray())
# [[ 19. 0. 0. 0. 1. 1. 0. 0. 0.]
# [ 33. 0. 0. 1. 0. 0. 1. 0. 0.]
# [ 55. 0. 1. 0. 0. 0. 0. 1. 0.]
# [ 20. 1. 0. 0. 0. 0. 0. 0. 1.]]
y = np.repeat(1.0, X.shape[0])
fm = pylibfm.FM()
fm.fit(X, y)
fm.predict(v.transform({"user": "1", "item": "10", "age": 24}))
结果如下所示,
接下来就可以对代码进行调试,阅读源码文章来源地址https://www.toymoban.com/news/detail-460910.html
到了这里,关于FM的算法理解,以及Windows下安装pyFM,出现microsoft visual c++ 14.0 is required的解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!