機器學習中的又乙個利器,廣泛用於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已經成為首選的 託...