99精品亚洲国产_中国A级毛片基地_欧美高清av电影在线观看_中文国产三级自拍_色爱区综合激月婷婷激情五月_一级黄色片免费在线观看_涩涩片大全百度影音_国产精品视频2024年最新视频_天堂AV无码不卡_在线观看欧美韩日

kaiyun官方網(wǎng)app下載app XGBoost:在Python中使用XGBoost

在 Python 中使用 XGBoost

下面對(duì)XGBoost的Python模塊進(jìn)行介紹,如下:

提供了 UCI Mushroom 數(shù)據(jù)集的 Python 示例。

安裝

首先安裝C++版本的XGBoost,然后進(jìn)入源文件根目錄的wrappers文件夾kaiyun體育,執(zhí)行以下腳本安裝Python模塊

python setup.py install

安裝完成后,導(dǎo)入XGBoost Python模塊如下

import xgboost as xgb

數(shù)據(jù)接口

XGBoost可以加載libsvm格式的文本數(shù)據(jù),加載的數(shù)據(jù)格式可以是Numpy二維數(shù)組和XGBoost二進(jìn)制緩存文件,加載后的數(shù)據(jù)存放在對(duì)象DMatrix中。

dtrain = xgb.DMatrix('train.svm.txt')
dtest = xgb.DMatrix('test.svm.buffer')

data = np.random.rand(5,10) # 5 entities, each contains 10 features
label = np.random.randint(2, size=5) # binary target
dtrain = xgb.DMatrix( data, label=label)

csr = scipy.sparse.csr_matrix( (dat, (row,col)) )
dtrain = xgb.DMatrix( csr )

dtrain = xgb.DMatrix('train.svm.txt')
dtrain.save_binary("train.buffer")

dtrain = xgb.DMatrix( data, label=label, missing = -999.0)

w = np.random.rand(5,1)
dtrain = xgb.DMatrix( data, label=label, missing = -999.0, weight=w)

參數(shù)設(shè)置

XGBoost采用鍵值格式保存參數(shù)。例如

* Booster(基礎(chǔ)學(xué)習(xí)器)參數(shù)

param = {'bst:max_depth':2, 'bst:eta':1, 'silent':1, 'objective':'binary:logistic' }
param['nthread'] = 4
plst = param.items()
plst += [('eval_metric', 'auc')] # Multiple evals can be handled in this way
plst += [('eval_metric', 'ams@0')]

evallist  = [(dtest,'eval'), (dtrain,'train')]

訓(xùn)練模型

有了參數(shù)列表和數(shù)據(jù),你就可以訓(xùn)練模型了

* 火車

num_round = 10
bst = xgb.train( plst, dtrain, num_round, evallist )

bst.save_model('0001.model')

# dump model
bst.dump_model('dump.raw.txt')
# dump model with feature map
bst.dump_model('dump.raw.txt','featmap.txt')

bst = xgb.Booster({'nthread':4}) #init model
bst.load_model("model.bin") # load data

提前終止計(jì)劃

如果有評(píng)估數(shù)據(jù),程序可以提前終止,從而找到最佳迭代次數(shù)。如果要提前終止程序kaiyun體育登錄網(wǎng)頁入口,參數(shù) evals 中必須至少有一個(gè)評(píng)估數(shù)據(jù)。如果有多個(gè),則使用最后一個(gè)。

訓(xùn)練(...,evals=evals開yun官網(wǎng)入口登錄APP下載,early_stopping_rounds=10)

模型將一直訓(xùn)練,直到驗(yàn)證分?jǐn)?shù)停止提高。驗(yàn)證錯(cuò)誤需要至少每 early_stopping_rounds 減少一次才能繼續(xù)訓(xùn)練。

如果發(fā)生提前停止,模型將有兩個(gè)附加字段:bst.best_score 和 bst.best_iteration。請(qǐng)注意,train() 將返回上次迭代的模型,而不是最佳模型。

這與兩個(gè)指標(biāo)一起使用以最小化(RMSE,對(duì)數(shù)損失等)和最大化(MAP,NDCG,AUC)。

預(yù)言

在訓(xùn)練/加載模型并準(zhǔn)備數(shù)據(jù)后,您就可以開始進(jìn)行預(yù)測(cè)。

data = np.random.rand(7,10) # 7 entities, each contains 10 features
dtest = xgb.DMatrix( data, missing = -999.0 )
ypred = bst.predict( xgmat )

如果在訓(xùn)練期間啟用了早期停止,則可以用最佳迭代進(jìn)行預(yù)測(cè)。

ypred = bst.predict(xgmat,ntree_limit=bst.best_iteration)

關(guān)鍵詞:

客戶評(píng)論

我要評(píng)論