{"cells":[{"cell_type":"markdown","metadata":{"_cell_guid":"75a487ae-ac19-9c49-1185-9f08eeea40c8"},"source":""},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"25cb2ba4-5292-a830-0194-bf74d0ff7523"},"outputs":[],"source":"# import package\nimport numpy as np\nimport pandas as pd\nimport xgboost as xgb\nfrom xgboost.sklearn import XGBClassifier\nfrom sklearn import cross_validation, metrics \nfrom sklearn.grid_search import GridSearchCV\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nimport datetime\n%matplotlib inline\nchunksize = 100000\n\n\n# Any results you write to the current directory are saved as output."},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"ccf2aa5d-8ed4-1611-ad12-d85af020f6f7"},"outputs":[],"source":"# define Idcol and Response Column\nIDcol = \"Id\"\ntarget = \"Response\"\n# Sample the data to decide some important features\nstart_time = datetime.datetime.now()\ndate_chunks = pd.read_csv(\"../input/train_date.csv\", index_col=0, chunksize=chunksize, dtype=np.float32)\nnum_chunks = pd.read_csv(\"../input/train_numeric.csv\", index_col=0, chunksize=chunksize, dtype=np.float32)\ntrain_value = pd.concat([pd.concat([dchunk, nchunk], axis=1).sample(frac=0.05)\n               for dchunk, nchunk in zip(date_chunks, num_chunks)])\nend_time = datetime.datetime.now()\nprint (end_time - start_time)"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"5f5502df-1358-3695-9e90-790f50488e08"},"outputs":[],"source":"# self-defined xgb model wrapper including data processing, model fit, predict and result   \ndef modelfit(alg, dtrain, predictors,useTrainCV=True, cv_folds=5, early_stopping_rounds=20):\n    \n    if useTrainCV:\n        xgb_param = alg.get_xgb_params()\n        xgtrain = xgb.DMatrix(dtrain[predictors].values, label=dtrain[target].values)\n        cvresult = xgb.cv(xgb_param, xgtrain, num_boost_round=alg.get_params()['n_estimators'], nfold=cv_folds,\n            metrics='auc', early_stopping_rounds=early_stopping_rounds, verbose_eval=True)\n        alg.set_params(n_estimators=cvresult.shape[0])\n    \n    #Fit the algorithm on the data\n    alg.fit(dtrain[predictors], dtrain[target],eval_metric='auc')\n        \n    #Predict training set:\n    dtrain_predictions = alg.predict(dtrain[predictors])\n    dtrain_predprob = alg.predict_proba(dtrain[predictors])[:,1]\n \n    \n    #Print model report:\n    print (\"\\nModel Report\")\n    print (\"Accuracy : %.4g\" % metrics.accuracy_score(dtrain[target].values, dtrain_predictions))\n    print (\"AUC Score (Train): %f\" % metrics.roc_auc_score(dtrain[target], dtrain_predprob))\n                    \n    feat_imp = pd.Series(alg.booster().get_fscore()).sort_values(ascending=False)\n    feat_imp.plot(kind='bar', title='Feature Importances')\n    plt.ylabel('Feature Importance Score')"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"b28b16d0-7980-1fda-dd80-2f504fa6e3f5"},"outputs":[],"source":"#Choose all predictors except target & IDcols\npredictors = [x for x in train_value.columns if x not in [target, IDcol]]\nxgb_starter = XGBClassifier(\n learning_rate =0.03,\n n_estimators=2000,\n max_depth=7,\n min_child_weight=1,\n gamma=0,\n subsample=1.0,\n colsample_bytree=1.0,\n objective= 'binary:logistic',\n nthread=4,\n scale_pos_weight=1,\n seed=27,\n base_score=0.005)\nmodelfit(xgb_starter, train_value, predictors)"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"964a2ab1-ee5a-c82f-e71d-54395b92c58f"},"outputs":[],"source":"predictors = [x for x in train_value.columns if x not in [target, IDcol]]\nxgb_starter = XGBClassifier(\n learning_rate =0.03,\n n_estimators=2000,\n max_depth=5,\n min_child_weight=1,\n gamma=0,\n subsample=0.8,\n colsample_bytree=0.8,\n objective= 'binary:logistic',\n nthread=4,\n scale_pos_weight=1,\n seed=27,\n base_score=0.005)\nmodelfit(xgb_starter, train_value, predictors)"}],"metadata":{"_change_revision":0,"_is_fork":false,"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.5.2"}},"nbformat":4,"nbformat_minor":0}