grace_t.scripts.xgboost_demo 源代码

#!/usr/bin/env python
# -*- coding: utf8 -*-
 
import os
import ConfigParser
import logging

import numpy

from numpy import loadtxt
from xgboost import XGBClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

from common_import import BaseXGBoostModel as BaseXGBoostModel

base_path = os.path.dirname(os.path.abspath(__file__)) + "/../"
os.sys.path.append(base_path)
config_path = base_path + '/conf/'
data_path = base_path + '/data/'


[文档]def my_xgboost_load_data(data_file, delimiter, lst_x_keys, lst_y_keys): ''' my_xgboost_load_data ''' dataset = numpy.loadtxt(data_file, delimiter=delimiter) # split data into X and y X = dataset[:, lst_x_keys] Y = dataset[:,lst_y_keys] # 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) return (dataset, X_train, y_train, X_test, y_test)
[文档]def my_xgboost_create_model(): ''' create a xgboost model ''' model = XGBClassifier() return model
[文档]def train_xgboost_demo(): ''' train_xgboost_demo ''' ### base data_file = data_path + 'pima-indians-diabetes.csv' lst_x_keys = list(xrange(0, 8)) lst_y_keys = 8 delimiter = ',' config_file = config_path + 'demo_base_xgboost.conf' conf = ConfigParser.ConfigParser() conf.read(config_file) demo_log_file = base_path + "log/" + conf.get("log", "log_name") demo_model_path = base_path + "model/" + conf.get("model", "model_path") dict_params = {} dict_params["load_data"] = {} dict_params["create_model"] = {} dict_params["basic_params"] = {} dict_load_data = dict_params["load_data"] dict_load_data["method"] = my_xgboost_load_data dict_load_data["params"] = {} dict_load_data_params = dict_load_data["params"] dict_load_data_params["data_file"] = data_file dict_load_data_params["delimiter"] = delimiter dict_load_data_params["lst_x_keys"] = lst_x_keys dict_load_data_params["lst_y_keys"] = lst_y_keys dict_create_model = dict_params["create_model"] dict_create_model["method"] = my_xgboost_create_model dict_create_model["params"] = {} dict_create_model_params = dict_create_model["params"] dict_basic_params = dict_params["basic_params"] dict_basic_params["log_filename"] = demo_log_file dict_basic_params["model_path"] = demo_model_path base_inst = BaseXGBoostModel(**dict_params) base_inst.process()
if "__main__" == __name__: train_xgboost_demo() exit(0)