源码下载:
http://download.csdn.net/download/adam_zs/10210587
from numpy import loadtxt
from xgboost import XGBClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 糖尿病数据集
dataset = loadtxt("pima-indians-diabetes.csv", delimiter=",")
X = dataset[:, 0:8]
y = dataset[:, 8]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=7)
model = XGBClassifier()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
predictions = [round(x) for x in y_pred]
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: %.2f%%" % (accuracy * 100.0))
from numpy import loadtxt
from xgboost import XGBClassifier
from xgboost import plot_importance # 每个特征的重要程度
from matplotlib import pyplot
dataset = loadtxt("pima-indians-diabetes.csv", delimiter=",")
X = dataset[:, 0:8]
y = dataset[:, 8]
model = XGBClassifier()
model.fit(X, y)
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
dataset = loadtxt("pima-indians-diabetes.csv", delimiter=",")
X = dataset[:, 0:8]
y = dataset[:, 8]
model = XGBClassifier()
learning_rate = [0.0001, 0.001, 0.01, 0.1, 0.2, 0.3]
print(learning_rate)
param_grid = dict(learning_rate=learning_rate)
print(param_grid)
kfold = StratifiedKFold(n_splits=10, shuffle=True, random_state=7)
grid_search = GridSearchCV(model, param_grid, cv=kfold)
grid_result = grid_search.fit(X, y)
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))