xlearn安裝與實戰

2021-08-20 03:28:16 字數 3160 閱讀 5265

機器學習中的又乙個利器,廣泛用於kaggle或類似的資料比賽。

xlearn的優勢:

目前xlearn只支援,linux和mac,windows使用者可能要等等了。以下操作在ubuntu系統進行。

sudo apt-get install build-essential

測試是否安裝成功:

gcc --version

出現以下介面代表安裝成功:

sudo apt-get install cmake

測試是否安裝成功:

cmake --version

出現以下介面代表安裝成功:

這個地方注意下,如果安裝了anaconda,確認xlearn是否安裝在你所執行的anaconda的虛擬環境中。找到安裝包的位置可以檢視下,如果顯示安裝成功,卻不能import xlearn,八成是這個問題。

簡單實戰,每一行都有詳細的注釋。主要是簡單學會使用模型,並沒有對特徵過多分析。

import xlearn as xl

ffm_model = xl.create_ffm()

# 訓練集

ffm_model.settrain("small_train.txt")

# 設定驗證集

ffm_model.setvalidate("small_test.txt")

# 設定引數

param =

# 設定不同的評價指標

# 分類問題:acc(accuracy);prec(precision);f1(f1 score);auc(auc score)

param1 =

# 回歸問題:mae,mape,rmsd(rmse)

param2 =

# 訓練模型

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")

# 選擇不同的機器學習演算法

# 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 =

# 預設5-folds,可通過param設定

ffm_model.cv(param)

# 設定優化演算法:sgd,adagrad,ftrl(follow-the-regularized-leader)

param3 =

# ftrl的額外引數

param =

# 如何自動進行超引數訓練

# 設定epoch數量

param4 =

# early stopping,設定提前停止視窗

param5 =

# 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()

建議利用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)

Docker實戰(一) Docker安裝與基礎命令

我是在ubuntu 16上安裝的docker,linux安裝docker只需要乙個命令 sudo apt get install docker.io 執行完後,可以在終端輸入docker看到以下資訊證明我們安裝成功了 注 提示許可權問題就新增sudo docker usage docker opti...

ubuntu安裝mongodb實戰

1的linux 版本的壓縮包,並解壓到本地目錄 usr local coolcao mongodb 2 建立資料檔案存放目錄,這裡我存放的目錄在 usr local coolcao mongodb data 3 建立日誌目錄及日誌檔案 usr local coolcao mongodb log mo...

GitLab的安裝實戰

管理大家想到的應該都是git和svn了,是的這兩項技術是非常火的。現在,github已經成為首選的 託管平台。因為它又很多很棒的功能,操作簡單,幾乎所有的開發者都喜歡它。gitlab 是乙個很棒的git託管服務,幾乎像github一樣強大。一,gitlab 簡介 現在,github已經成為首選的 託...