linux xlearn安装
xlearn的优势:
- 1.通用性好,包括主流的算法(lr, fm, ffm 等),用户不用再切换于不同软件之间
- 2.性能好,测试 xLearn 可以比 libfm 快13倍,比 libffm 和 liblinear 快5倍
- 3.易用性和灵活性,xLearn 提供简单的 python 接口,并且集合了机器学习比赛中许多有用的功能
- 4.可扩展性好。xLearn 提供 out-of-core 计算,利用外存计算可以在单机处理 1TB 数据
二、xlearn安装:巨简单
目前xlearn只支持,Linux和Mac,Windows用户可能要等等了。以下操作在Ubuntu系统进行。
2.1安装GCC(或Clang)和CMake:
建议安装GCC,Clang下载文件大,而且安装过程出现问题,便直接安装的GCC。
安装gcc
sudo apt-get install build-essential
测试是否安装成功: gcc --version
出现以下界面代表安装成功:
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
安装cmake
我实在不明白为什么有些教程要下载文件,等等骚操作,那么麻烦。一行搞定。
sudo apt-get install cmake
测试是否安装成功: cmake --version
出现以下界面代表安装成功:
cmake version 3.5.1
CMake suite maintained and supported by Kitware (kitware.com/cmake).
2.2 安装xlearn:
sudo pip install xlearn
这个地方注意下,如果安装了Anaconda,确认xlearn是否安装在你所运行的Anaconda的虚拟环境中。找到安装包的位置可以查看下,如果显示安装成功,却不能import xlearn
,八成是这个问题。
三、xlearn实战:
简单实战,每一行都有详细的注释。主要是简单学会使用模型,并没有对特征过多分析。
3.1 快速入门
import xlearn as xl
ffm_model = xl.create_ffm()
# 训练集
ffm_model.setTrain("small_train.txt")
# 设置验证集
ffm_model.setValidate("small_test.txt")
# 设置参数
param = {'task':'binary','lr':0.2,'lambda':0.002}
# 设置不同的评价指标
# 分类问题:acc(Accuracy);prec(precision);f1(f1 score);auc(AUC score)
param1 = {'task':'binary','lr':0.2,'lambda':0.002,'metric':'rmse'}
# 回归问题:mae,mape,rmsd(RMSE)
param2 = {'task':'binary','lr':0.2,'lambda':0.002, 'metric':'rmse'}
# 训练模型
ffm_model.fit(param, "model.out")
# 测试集
ffm_model.setTest("small_test.txt")
# 输出样本预测概率,范围(-1,1)
ffm_model.predict("model.out","output.txt")
# 设置预测概率范围为(0,1)
ffm_model.setSigmoid()
ffm_model.predict("model.out","output.txt")
# 转化为二分类(0,1),没有阈值吗???
ffm_model.setSign()
ffm_model.predict("model.out","output.txt")
# 模型保存为txt格式,
ffm_model.setTXTModel("model.txt")
3.2 更进一步:
# 选择不同的机器学习算法
# FM,LR可以使用csv和libsvm格式,FFM应该接受libffm格式
fm_model = xl.create_fm()
lr_model = xl.create_linear()
# 设置交叉验证(Cross Validation)
ffm_model = xl.create_ffm()
ffm_model.setTrain("train.txt")
param = {'task':'binary','lr':0.2,'lambda':0.002,'fold':3}
# 默认5-folds,可通过param设置
ffm_model.cv(param)
# 设置优化算法:SGD,AdaGrad,Ftrl(Follow-the-Regularized-Leader)
param3 = {'task':'binary','lr':0.002,'lambda':0.01,'opt':'ftrl'}
# Ftrl的额外参数
param = {'alpha':0.002,'beta':0.8,'lambda_1':0.001,'lambda_2':1.0}
# 如何自动进行超参数训练
# 设置Epoch数量
param4 = {'task':'bianry','lr':0.2,'lambda':0.01,'epoch':3}
# Early stopping,设置提前停止窗口
param5 = {'task':'binary','lr':0.2,'lambda':0.002,'epoch':10,'stop_window':3}
# Lock-Free 训练,可以充分利用多核来加速训练,但是结果具有不确定性,默认开启
ffm_model.disableLockFree() # disable lock-free training
# Instance-wise Normalization,对CTR预测问题,非常有效,但是有损性能
ffm_model.disableNorm() # disable Instance-wise Normalization
# Quite Training 提高训练速度,不计算评指标,只训练模型
ffm_model.setQuiet()
3.3 与Sklearn相结合
建议利用sklearn接口,众多sklearn的功能都能使用。
# 调用Sklearn的API
import numpy as np
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
iris_data = load_iris()
X = iris_data['data']
y = iris_data['target' == 2]
X_train,X_test,y_train, y_test = train_test_split(X,y,test_size=0.3,random_state=0)
linear_model = xl.LRModel(task='binary',init=0.1,epoch=10,lr=0.1,reg_lambda=1.0,opt='sgd')
linear_model.fit(X_train,y_train,eval_set=[X_test, y_test],is_lock_free=False)
y_pred = linear_model.predict(X_test)
版权声明:本文为CSDN博主「linxid」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/linxid/article/details/80382569
linux xlearn安装的更多相关文章
- Linux下安装 Posgresql 并设置基本参数
在Linux下安装Postgresql有二进制格式安装和源码安装两种安装方式,这里用的是二进制格式安装.各个版本的Linux都内置了Postgresql,所以可直接通过命令行安装便可.本文用的是Cen ...
- Linux下安装Tomcat服务器和部署Web应用
一.上传Tomcat服务器
- Linux下安装使用Solr
Linux下安装使用Solr 1.首先下载Solr.mmseg4j分词包.tomcat并解压,这用google.百度都可以搜索得到下载地址. 2.因为要使用到中文分词,所以要设置编码,进入tomcat ...
- Linux下安装tar.gz类型的jdk,并配置环境变量
近期因要学习一门技术,必须在Linux下运行,故开始学习如何使用Linux. 在安装jdk时出现了困难,环境变量配置不成功,花了一天时间才搞定,特分享出来,供大家参考. Linux下安装jdk,步骤如 ...
- Linux下安装和配置JDK与Tomcat(升级版)
在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...
- Linux下安装cmake
cmake是一个跨平台的编译工具,特点是语句简单,编译高效,相对于原有的automake更为高效,接下来说明在Linux下安装cmake工具的过程 首先去cmake官网下载cmake安装包,下载界面网 ...
- 阿里云服务器Linux CentOS安装配置(零)目录
阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...
- 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署
阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...
- 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定
阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...
随机推荐
- 视觉AI风口一触即发,虹软AI沙龙点金深圳
7月26日,虹软AI沙龙在深圳湾科技生态园空间举办.AI沙龙是基于虹软视觉开放平台的开发者交流沙龙,旨在通过分享最新的实战案例,帮助开发者解决技术及落地难题,让技术更贴近实用场景. 本次活动中,深圳市 ...
- arm9的时钟和定时器
时钟 两种能够提供时钟的方式: 1) 晶振 2) PLL(也就是锁相环):通用PLL需啊一个晶振,和对晶体特定频率分频或倍频的锁相环电路. 学习ARM9时钟的四步: 1) 晶振:12MHZ 2) 有多 ...
- Linux的网络不通流程
a:xshell连不上的问题第一步:检查网络适配器,是否禁用vmware的虚拟机网卡第二步:检查vmware net8的地址是否为10.0.0.1第三步:检查系统的vmware服务是否启动第四步:检查 ...
- Python绘制拓扑图(无向图)、有向图、多重图。最短路径计算
前言: 数学中,“图论”研究的是定点和边组成的图形. 计算机中,“网络拓扑”是数学概念中“图”的一个子集.因此,计算机网络拓扑图也可以由节点(即顶点)和链路(即边)来进行定义和绘制. 延伸: 无向图 ...
- 2019.7月-前端面试总结(H5+C3+JS+ES6+Vue+浏览器)
第二次面试 HTML HTML5中的新标签,举例一下 canvas绘画,本地离线存储localStorage,sessionStorage,video和audio元素,语义化元素,表单类型(date, ...
- docker-compose设置mysql初始化数据库的字符集
version: '3' services: mysql: image: mysql:5.7.24# volumes:# - ./mysqld.cnf:/etc/mysql/mysql.conf.d/ ...
- mqtt服务搭建(emqx,原emq)
系统环境: ubuntu 18.04server lts 目标系统IP地址(可访问):192.168.1.31 emqx版本: v3.2.3 打开网页,根据目标系统和emqx版本选择好安装包.这里我选 ...
- windows IIS安装php服务及配置
windows IIS安装php服务及配置 启动IIS服务 打开 "控制面板" => "程序" => "启用或关闭Window功能&quo ...
- mysql:[Err] 1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
删除主键时,出错:[Err] 1075 - Incorrect table definition; there can be only one auto column and it must be d ...
- Linux系统下RAID5和RAID10的磁盘阵列配置
前提了解:1988年由加利福尼亚大学伯克利分校发表的文章首次提到并定义了RAID,当今CPU性能每年可提升30%-50%但硬盘仅提升7%,渐渐的已经成为计算机整体性能的瓶颈,并且为了避免硬盘的突然损坏 ...