生活随笔
收集整理的這篇文章主要介紹了
XGBoost入门
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
CNN和RNN更多的是用來(lái)處理圖像識(shí)別和語(yǔ)音識(shí)別,日常工作中我們可能更多的是基于結(jié)構(gòu)化數(shù)據(jù)來(lái)解決分類(lèi)或回歸問(wèn)題。下面用XGBoost來(lái)開(kāi)發(fā)一個(gè)簡(jiǎn)單的二分類(lèi)問(wèn)題。
數(shù)據(jù)集用來(lái)判斷患者是否會(huì)在5年內(nèi)患糖尿病,有9列數(shù)據(jù), 前8列是變量數(shù)據(jù),最后一列是標(biāo)簽數(shù)據(jù)。
數(shù)據(jù)集地址
https://archive.ics.uci.edu/ml/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data
from numpy import loadtxt
from xgboost import XGBClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score#分出變量和標(biāo)簽
dataset = loadtxt('pima-indians-diabetes.data', delimiter=",")X = dataset[:,0:8] #前8列為數(shù)據(jù)
Y = dataset[:,8] #最后一列是標(biāo)簽數(shù)據(jù)#將數(shù)據(jù)分為訓(xùn)練集和測(cè)試集,訓(xùn)練集用來(lái)訓(xùn)練模型,測(cè)試集用來(lái)預(yù)測(cè)
seed = 7
test_size = 0.33
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=test_size, random_state=seed)#訓(xùn)練模型
model = XGBClassifier()
model.fit(X_train, y_train)#評(píng)估模型
y_pred = model.predict(X_test)
predictions = [round(value) for value in y_pred] #xgboost 的結(jié)果是每個(gè)樣本屬于第一類(lèi)的概率,需要用 round 將其轉(zhuǎn)換為 0 1 值#準(zhǔn)確率
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: %.2f%%" % (accuracy * 100.0))
參考資料
http://geek.csdn.net/news/detail/201207
總結(jié)
以上是生活随笔為你收集整理的XGBoost入门的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。