Demo:

显示特征的重要程度:图形化展示:

from numpy import loadtxt
from xgboost import XGBClassifier
from xgboost import plot_importance
from matplotlib import pyplot
# load data
dataset = loadtxt('pima-indians-diabetes.csv', delimiter=",")
# split data into X and y
X = dataset[:,0:8]
y = dataset[:,8]
# fit model no training data
model = XGBClassifier()
model.fit(X, y)
# plot feature importance
plot_importance(model)
pyplot.show()

  

对学习率进行交叉验证与网格搜索,调参:

from numpy import loadtxt
from xgboost import XGBClassifier
from sklearn.model_selection import GridSearchCV
from sklearn.model_selection import StratifiedKFold
# load data
dataset = loadtxt('pima-indians-diabetes.csv', delimiter=",")
# split data into X and y
X = dataset[:,0:8]
Y = dataset[:,8]
# grid search
model = XGBClassifier()
learning_rate = [0.0001, 0.001, 0.01, 0.1, 0.2, 0.3]
param_grid = dict(learning_rate=learning_rate)
kfold = StratifiedKFold(n_splits=10, shuffle=True, random_state=7)
grid_search = GridSearchCV(model, param_grid, scoring="neg_log_loss", n_jobs=-1, cv=kfold)
grid_result = grid_search.fit(X, Y)
# summarize results
print("Best: %f using %s" % (grid_result.best_score_, grid_result.best_params_))
means = grid_result.cv_results_['mean_test_score']
params = grid_result.cv_results_['params']
for mean, param in zip(means, params):
print("%f with: %r" % (mean, param))

Xgboost主要参数:

xgb1 = XGBClassifier(
learning_rate =0.1,
n_estimators=1000,
max_depth=5,
min_child_weight=1,
gamma=0,
subsample=0.8,
colsample_bytree=0.8,
objective= 'binary:logistic',
nthread=4,
scale_pos_weight=1,
seed=27)

  

from numpy import loadtxt
from xgboost import XGBClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# load data
dataset = loadtxt('pima-indians-diabetes.csv', delimiter=",")
# split data into X and y
X = dataset[:,0:8]
Y = dataset[:,8]
# split data into train and test sets
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)
# fit model no training data
model = XGBClassifier()
eval_set = [(X_test, y_test)]
model.fit(X_train, y_train, early_stopping_rounds=10, eval_metric="logloss", eval_set=eval_set, verbose=True)
# make predictions for test data
y_pred = model.predict(X_test)
predictions = [round(value) for value in y_pred]
# evaluate predictions
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: %.2f%%" % (accuracy * 100.0))

限制迭代次数,当损失不再明显下降的时候,终止迭代:

from numpy import loadtxt
from xgboost import XGBClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# load data
dataset = loadtxt('pima-indians-diabetes.csv', delimiter=",")
# split data into X and y
X = dataset[:,0:8]
Y = dataset[:,8]
# split data into train and test sets
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)
# fit model no training data
model = XGBClassifier()
eval_set = [(X_test, y_test)]
model.fit(X_train, y_train, early_stopping_rounds=10, eval_metric="logloss", eval_set=eval_set, verbose=True)
# make predictions for test data
y_pred = model.predict(X_test)
predictions = [round(value) for value in y_pred]
# evaluate predictions
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: %.2f%%" % (accuracy * 100.0))

最新文章

  1. linux下的常用命令
  2. SOLD原则
  3. >>> FilterDispatcher <<< is deprecated! Please use the new filters!
  4. java观察者模式的实现
  5. python中字符串与列表的相互转换
  6. 在C#中读写INI配置文件(转)
  7. CSS3秘笈第三版涵盖HTML5学习笔记13~17章
  8. Boyer–Moore (BM)字符串搜索算法
  9. ssm整合说明与模板-Spring Spring MVC Mybatis整合开发
  10. 二叉树的递归遍历 Tree UVa548
  11. spring5——Aop的实现原理(动态代理)
  12. Ubuntu16.04调整屏幕分辨率至1920*1080
  13. Vue/Egg大型项目开发(一)搭建项目
  14. java Concurrent包学习笔记(六):Exchanger
  15. nodejs+gulpjs压缩js代码
  16. 小项目,吃货联盟,java初级小项目,源代码
  17. C# MVC 与Java MVC
  18. 使用jsonp获取天气情况
  19. hdu2037今年暑假不AC(贪心,活动安排问题)
  20. java输出数组中出现的次数最多的那个及次数

热门文章

  1. Lombok 介绍
  2. grumphp在docker里问题
  3. Babylon.js demo
  4. 树莓派与Linux系统之间文件传输
  5. CF1093F Vasya and Array
  6. Mac mini 使用打印机
  7. ajax的get和post请求 -- 基于flask 简单示例
  8. MySql 外键重名问题
  9. 【托业】【全真题库】TEST3-语法题
  10. opencart3修改产品页模板没有效果的原因排查