In [1]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn import cross_validation
from sklearn.linear_model import LogisticRegression
from sklearn.naive_bayes import GaussianNB
from sklearn.ensemble import RandomForestClassifier
from sklearn.calibration import CalibratedClassifierCV
from sklearn.svm import SVC
from sklearn import grid_search
from sklearn.metrics import log_loss
from sklearn.cross_validation import train_test_split
import xgboost as xgb

from sklearn.metrics import roc_auc_score, log_loss
from sklearn import metrics


/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/cross_validation.py:44: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.
  "This module will be removed in 0.20.", DeprecationWarning)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/grid_search.py:43: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. This module will be removed in 0.20.
  DeprecationWarning)

In [2]:
train = pd.read_csv('train.csv')
#train.drop('activity_id', axis=1, inplace = True) 
#train.drop_duplicates(inplace = True)

test = pd.read_csv('test.csv')
example = pd.read_csv('BloodDonationSubmissionFormat.csv')

In [3]:
train.head()


Out[3]:
Unnamed: 0 Months since Last Donation Number of Donations Total Volume Donated (c.c.) Months since First Donation Made Donation in March 2007
0 619 2 50 12500 98 1
1 664 0 13 3250 28 1
2 441 1 16 4000 35 1
3 160 2 20 5000 45 1
4 358 1 24 6000 77 0

In [4]:
test.head()


Out[4]:
Unnamed: 0 Months since Last Donation Number of Donations Total Volume Donated (c.c.) Months since First Donation
0 659 2 12 3000 52
1 276 21 7 1750 38
2 263 4 1 250 4
3 303 11 11 2750 38
4 83 4 12 3000 34

In [5]:
test.shape


Out[5]:
(200, 5)

In [6]:
len(train.iloc[:,0]) - len(pd.unique(train.iloc[:,0])) # все значения уникальные, дропаем


Out[6]:
0

In [7]:
train.drop(u'Unnamed: 0', axis=1, inplace = True)

In [8]:
train.columns


Out[8]:
Index([u'Months since Last Donation', u'Number of Donations',
       u'Total Volume Donated (c.c.)', u'Months since First Donation',
       u'Made Donation in March 2007'],
      dtype='object')

In [9]:
X = train.drop(u'Made Donation in March 2007', axis=1)
y = train.iloc[:,-1]

id_test = test.iloc[:,0]
df_test = test.drop(u'Unnamed: 0', axis=1, inplace = True)

X_fit, X_eval, y_fit, y_eval= train_test_split(
    X, y, test_size=0.15, random_state=1
)

In [10]:
rf = RandomForestClassifier(n_estimators=1000, n_jobs=4, max_depth =7)
rf.fit(X_fit, y_fit)
print 'RandomForestClassifier ', (log_loss(y_eval, rf.predict_proba(X_eval)))

submission = pd.DataFrame({"":id_test, "Made Donation in March 2007":rf.predict_proba(test)[:,1]})
submission.to_csv("submission_rf_5.csv", index=False)


RandomForestClassifier  0.430018365833

In [11]:
lr = LogisticRegression()

CVscores = cross_validation.cross_val_score(lr, X, y, scoring='log_loss', cv=5)

# search for the regularization parameter
Cs = 10**np.linspace(-4, 4, num=15)
grid = {'C': Cs}
gridsearch = grid_search.GridSearchCV(lr, grid, scoring='log_loss', cv=5)
gridsearch.fit(X, y)
gridscores = [-x.mean_validation_score for x in gridsearch.grid_scores_]

C = Cs[np.argmin(gridscores)]

# refit the model with the new regularization parameter
lrCV = LogisticRegression(C=C)
lrCV.fit(X_fit, y_fit)

# write log to file
logloss_train = log_loss(y_fit, lrCV.predict_proba(X_fit))
logloss_val = log_loss(y_eval, lrCV.predict_proba(X_eval))

print 'logloss_train: ', logloss_train
print 'logloss_val: ', logloss_val


/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
logloss_train:  0.498092790347
logloss_val:  0.462576233776
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)
/home/analyst/anaconda2/lib/python2.7/site-packages/sklearn/metrics/scorer.py:127: DeprecationWarning: Scoring method log_loss was renamed to neg_log_loss in version 0.18 and will be removed in 0.20.
  sample_weight=sample_weight)

In [12]:
clf = xgb.XGBClassifier(missing=np.nan, max_depth=3, 
                        n_estimators=1500, learning_rate=0.005, gamma =0.3, min_child_weight = 3,
                        subsample=0.9, colsample_bytree=0.8, seed=2100,objective= 'binary:logistic')
# 'colsample_bytree': 0.8,
#   'gamma': 0.3,
#   'max_depth': 4,
#   'min_child_weight': 3,
#   'subsample': 0.9


# fitting
clf.fit(X_fit, y_fit, early_stopping_rounds=150,  eval_metric="logloss", eval_set=[(X_eval, y_eval)])

# scores
from  sklearn.metrics import log_loss
log_train = log_loss(y_fit, clf.predict_proba(X_fit)[:,1])
log_valid = log_loss(y_eval, clf.predict_proba(X_eval)[:,1])


print('\n-----------------------')
print('  logloss train: %.5f'%log_train)
print('  logloss valid: %.5f'%log_valid)
print('-----------------------')

print('\nModel parameters...')
print(clf.get_params())

#print y_pred
# y_pred= clf.predict_proba(test)[:,1]

# submission = pd.DataFrame({"t_id":id_test, "probability":y_pred})
# submission.to_csv("submission_xgboost.csv", index=False)


Will train until validation_0 error hasn't decreased in 150 rounds.
[0]	validation_0-logloss:0.691433
[1]	validation_0-logloss:0.689240
[2]	validation_0-logloss:0.687480
[3]	validation_0-logloss:0.685347
[4]	validation_0-logloss:0.683568
[5]	validation_0-logloss:0.681769
[6]	validation_0-logloss:0.679714
[7]	validation_0-logloss:0.677558
[8]	validation_0-logloss:0.675443
[9]	validation_0-logloss:0.673438
[10]	validation_0-logloss:0.671399
[11]	validation_0-logloss:0.669271
[12]	validation_0-logloss:0.667280
[13]	validation_0-logloss:0.665649
[14]	validation_0-logloss:0.663594
[15]	validation_0-logloss:0.661664
[16]	validation_0-logloss:0.659694
[17]	validation_0-logloss:0.658079
[18]	validation_0-logloss:0.656236
[19]	validation_0-logloss:0.654683
[20]	validation_0-logloss:0.652834
[21]	validation_0-logloss:0.650884
[22]	validation_0-logloss:0.649062
[23]	validation_0-logloss:0.647371
[24]	validation_0-logloss:0.645618
[25]	validation_0-logloss:0.643871
[26]	validation_0-logloss:0.642088
[27]	validation_0-logloss:0.640371
[28]	validation_0-logloss:0.638972
[29]	validation_0-logloss:0.637549
[30]	validation_0-logloss:0.635836
[31]	validation_0-logloss:0.634100
[32]	validation_0-logloss:0.632578
[33]	validation_0-logloss:0.630899
[34]	validation_0-logloss:0.629506
[35]	validation_0-logloss:0.628040
[36]	validation_0-logloss:0.626443
[37]	validation_0-logloss:0.625114
[38]	validation_0-logloss:0.623419
[39]	validation_0-logloss:0.621964
[40]	validation_0-logloss:0.620460
[41]	validation_0-logloss:0.618871
[42]	validation_0-logloss:0.617273
[43]	validation_0-logloss:0.615722
[44]	validation_0-logloss:0.614163
[45]	validation_0-logloss:0.612877
[46]	validation_0-logloss:0.611343
[47]	validation_0-logloss:0.609798
[48]	validation_0-logloss:0.608325
[49]	validation_0-logloss:0.606743
[50]	validation_0-logloss:0.605206
[51]	validation_0-logloss:0.603707
[52]	validation_0-logloss:0.602306
[53]	validation_0-logloss:0.601073
[54]	validation_0-logloss:0.599693
[55]	validation_0-logloss:0.598510
[56]	validation_0-logloss:0.597065
[57]	validation_0-logloss:0.595668
[58]	validation_0-logloss:0.594224
[59]	validation_0-logloss:0.592830
[60]	validation_0-logloss:0.591380
[61]	validation_0-logloss:0.590140
[62]	validation_0-logloss:0.588868
[63]	validation_0-logloss:0.587558
[64]	validation_0-logloss:0.586414
[65]	validation_0-logloss:0.585093
[66]	validation_0-logloss:0.583736
[67]	validation_0-logloss:0.582417
[68]	validation_0-logloss:0.581156
[69]	validation_0-logloss:0.579855
[70]	validation_0-logloss:0.578600
[71]	validation_0-logloss:0.577591
[72]	validation_0-logloss:0.576347
[73]	validation_0-logloss:0.575138
[74]	validation_0-logloss:0.574076
[75]	validation_0-logloss:0.572850
[76]	validation_0-logloss:0.571624
[77]	validation_0-logloss:0.570672
[78]	validation_0-logloss:0.569439
[79]	validation_0-logloss:0.568218
[80]	validation_0-logloss:0.567197
[81]	validation_0-logloss:0.566175
[82]	validation_0-logloss:0.565263
[83]	validation_0-logloss:0.564059
[84]	validation_0-logloss:0.563193
[85]	validation_0-logloss:0.562028
[86]	validation_0-logloss:0.560997
[87]	validation_0-logloss:0.560032
[88]	validation_0-logloss:0.558958
[89]	validation_0-logloss:0.558029
[90]	validation_0-logloss:0.556935
[91]	validation_0-logloss:0.555902
[92]	validation_0-logloss:0.554812
[93]	validation_0-logloss:0.553751
[94]	validation_0-logloss:0.552773
[95]	validation_0-logloss:0.552064
[96]	validation_0-logloss:0.550990
[97]	validation_0-logloss:0.549969
[98]	validation_0-logloss:0.548931
[99]	validation_0-logloss:0.547922
[100]	validation_0-logloss:0.546945
[101]	validation_0-logloss:0.546215
[102]	validation_0-logloss:0.545355
[103]	validation_0-logloss:0.544342
[104]	validation_0-logloss:0.543422
[105]	validation_0-logloss:0.542472
[106]	validation_0-logloss:0.541726
[107]	validation_0-logloss:0.540879
[108]	validation_0-logloss:0.539896
[109]	validation_0-logloss:0.539011
[110]	validation_0-logloss:0.538116
[111]	validation_0-logloss:0.537092
[112]	validation_0-logloss:0.536180
[113]	validation_0-logloss:0.535263
[114]	validation_0-logloss:0.534349
[115]	validation_0-logloss:0.533607
[116]	validation_0-logloss:0.532718
[117]	validation_0-logloss:0.531829
[118]	validation_0-logloss:0.531038
[119]	validation_0-logloss:0.530191
[120]	validation_0-logloss:0.529322
[121]	validation_0-logloss:0.528449
[122]	validation_0-logloss:0.527672
[123]	validation_0-logloss:0.526878
[124]	validation_0-logloss:0.525949
[125]	validation_0-logloss:0.525149
[126]	validation_0-logloss:0.524363
[127]	validation_0-logloss:0.523574
[128]	validation_0-logloss:0.522804
[129]	validation_0-logloss:0.521996
[130]	validation_0-logloss:0.521288
[131]	validation_0-logloss:0.520547
[132]	validation_0-logloss:0.519695
[133]	validation_0-logloss:0.518943
[134]	validation_0-logloss:0.518132
[135]	validation_0-logloss:0.517324
[136]	validation_0-logloss:0.516589
[137]	validation_0-logloss:0.515946
[138]	validation_0-logloss:0.515306
[139]	validation_0-logloss:0.514630
[140]	validation_0-logloss:0.513964
[141]	validation_0-logloss:0.513204
[142]	validation_0-logloss:0.512497
[143]	validation_0-logloss:0.511774
[144]	validation_0-logloss:0.511082
[145]	validation_0-logloss:0.510434
[146]	validation_0-logloss:0.509698
[147]	validation_0-logloss:0.509096
[148]	validation_0-logloss:0.508366
[149]	validation_0-logloss:0.507764
[150]	validation_0-logloss:0.507181
[151]	validation_0-logloss:0.506545
[152]	validation_0-logloss:0.505925
[153]	validation_0-logloss:0.505195
[154]	validation_0-logloss:0.504570
[155]	validation_0-logloss:0.503853
[156]	validation_0-logloss:0.503231
[157]	validation_0-logloss:0.502608
[158]	validation_0-logloss:0.501937
[159]	validation_0-logloss:0.501315
[160]	validation_0-logloss:0.500727
[161]	validation_0-logloss:0.500085
[162]	validation_0-logloss:0.499573
[163]	validation_0-logloss:0.499091
[164]	validation_0-logloss:0.498559
[165]	validation_0-logloss:0.498042
[166]	validation_0-logloss:0.497430
[167]	validation_0-logloss:0.496843
[168]	validation_0-logloss:0.496227
[169]	validation_0-logloss:0.495637
[170]	validation_0-logloss:0.495057
[171]	validation_0-logloss:0.494460
[172]	validation_0-logloss:0.493889
[173]	validation_0-logloss:0.493257
[174]	validation_0-logloss:0.492735
[175]	validation_0-logloss:0.492302
[176]	validation_0-logloss:0.491849
[177]	validation_0-logloss:0.491397
[178]	validation_0-logloss:0.490867
[179]	validation_0-logloss:0.490297
[180]	validation_0-logloss:0.489705
[181]	validation_0-logloss:0.489164
[182]	validation_0-logloss:0.488551
[183]	validation_0-logloss:0.488076
[184]	validation_0-logloss:0.487492
[185]	validation_0-logloss:0.486955
[186]	validation_0-logloss:0.486481
[187]	validation_0-logloss:0.486039
[188]	validation_0-logloss:0.485548
[189]	validation_0-logloss:0.484955
[190]	validation_0-logloss:0.484428
[191]	validation_0-logloss:0.483897
[192]	validation_0-logloss:0.483509
[193]	validation_0-logloss:0.483073
[194]	validation_0-logloss:0.482693
[195]	validation_0-logloss:0.482230
[196]	validation_0-logloss:0.481669
[197]	validation_0-logloss:0.481254
[198]	validation_0-logloss:0.480775
[199]	validation_0-logloss:0.480354
[200]	validation_0-logloss:0.479959
[201]	validation_0-logloss:0.479513
[202]	validation_0-logloss:0.479088
[203]	validation_0-logloss:0.478664
[204]	validation_0-logloss:0.478288
[205]	validation_0-logloss:0.477832
[206]	validation_0-logloss:0.477421
[207]	validation_0-logloss:0.476910
[208]	validation_0-logloss:0.476493
[209]	validation_0-logloss:0.475954
[210]	validation_0-logloss:0.475502
[211]	validation_0-logloss:0.474960
[212]	validation_0-logloss:0.474516
[213]	validation_0-logloss:0.474091
[214]	validation_0-logloss:0.473725
[215]	validation_0-logloss:0.473272
[216]	validation_0-logloss:0.472796
[217]	validation_0-logloss:0.472392
[218]	validation_0-logloss:0.472043
[219]	validation_0-logloss:0.471680
[220]	validation_0-logloss:0.471346
[221]	validation_0-logloss:0.471060
[222]	validation_0-logloss:0.470603
[223]	validation_0-logloss:0.470237
[224]	validation_0-logloss:0.469859
[225]	validation_0-logloss:0.469539
[226]	validation_0-logloss:0.469208
[227]	validation_0-logloss:0.468812
[228]	validation_0-logloss:0.468396
[229]	validation_0-logloss:0.468021
[230]	validation_0-logloss:0.467550
[231]	validation_0-logloss:0.467279
[232]	validation_0-logloss:0.466974
[233]	validation_0-logloss:0.466560
[234]	validation_0-logloss:0.466126
[235]	validation_0-logloss:0.465656
[236]	validation_0-logloss:0.465369
[237]	validation_0-logloss:0.465145
[238]	validation_0-logloss:0.464626
[239]	validation_0-logloss:0.464266
[240]	validation_0-logloss:0.463928
[241]	validation_0-logloss:0.463625
[242]	validation_0-logloss:0.463306
[243]	validation_0-logloss:0.462862
[244]	validation_0-logloss:0.462461
[245]	validation_0-logloss:0.462106
[246]	validation_0-logloss:0.461835
[247]	validation_0-logloss:0.461601
[248]	validation_0-logloss:0.461301
[249]	validation_0-logloss:0.460945
[250]	validation_0-logloss:0.460670
[251]	validation_0-logloss:0.460416
[252]	validation_0-logloss:0.460094
[253]	validation_0-logloss:0.459751
[254]	validation_0-logloss:0.459489
[255]	validation_0-logloss:0.459157
[256]	validation_0-logloss:0.458864
[257]	validation_0-logloss:0.458475
[258]	validation_0-logloss:0.458113
[259]	validation_0-logloss:0.457857
[260]	validation_0-logloss:0.457561
[261]	validation_0-logloss:0.457191
[262]	validation_0-logloss:0.456937
[263]	validation_0-logloss:0.456657
[264]	validation_0-logloss:0.456290
[265]	validation_0-logloss:0.455874
[266]	validation_0-logloss:0.455587
[267]	validation_0-logloss:0.455249
[268]	validation_0-logloss:0.454918
[269]	validation_0-logloss:0.454704
[270]	validation_0-logloss:0.454432
[271]	validation_0-logloss:0.454126
[272]	validation_0-logloss:0.453874
[273]	validation_0-logloss:0.453592
[274]	validation_0-logloss:0.453262
[275]	validation_0-logloss:0.453010
[276]	validation_0-logloss:0.452756
[277]	validation_0-logloss:0.452446
[278]	validation_0-logloss:0.452108
[279]	validation_0-logloss:0.451785
[280]	validation_0-logloss:0.451508
[281]	validation_0-logloss:0.451238
[282]	validation_0-logloss:0.450868
[283]	validation_0-logloss:0.450539
[284]	validation_0-logloss:0.450339
[285]	validation_0-logloss:0.450109
[286]	validation_0-logloss:0.449794
[287]	validation_0-logloss:0.449540
[288]	validation_0-logloss:0.449281
[289]	validation_0-logloss:0.449085
[290]	validation_0-logloss:0.448792
[291]	validation_0-logloss:0.448554
[292]	validation_0-logloss:0.448314
[293]	validation_0-logloss:0.448056
[294]	validation_0-logloss:0.447731
[295]	validation_0-logloss:0.447488
[296]	validation_0-logloss:0.447218
[297]	validation_0-logloss:0.446891
[298]	validation_0-logloss:0.446631
[299]	validation_0-logloss:0.446413
[300]	validation_0-logloss:0.446100
[301]	validation_0-logloss:0.445835
[302]	validation_0-logloss:0.445610
[303]	validation_0-logloss:0.445393
[304]	validation_0-logloss:0.445104
[305]	validation_0-logloss:0.444893
[306]	validation_0-logloss:0.444651
[307]	validation_0-logloss:0.444392
[308]	validation_0-logloss:0.444166
[309]	validation_0-logloss:0.443853
[310]	validation_0-logloss:0.443648
[311]	validation_0-logloss:0.443383
[312]	validation_0-logloss:0.443272
[313]	validation_0-logloss:0.443081
[314]	validation_0-logloss:0.442818
[315]	validation_0-logloss:0.442642
[316]	validation_0-logloss:0.442342
[317]	validation_0-logloss:0.442165
[318]	validation_0-logloss:0.441931
[319]	validation_0-logloss:0.441612
[320]	validation_0-logloss:0.441397
[321]	validation_0-logloss:0.441185
[322]	validation_0-logloss:0.440956
[323]	validation_0-logloss:0.440694
[324]	validation_0-logloss:0.440509
[325]	validation_0-logloss:0.440358
[326]	validation_0-logloss:0.440162
[327]	validation_0-logloss:0.439944
[328]	validation_0-logloss:0.439753
[329]	validation_0-logloss:0.439586
[330]	validation_0-logloss:0.439342
[331]	validation_0-logloss:0.439134
[332]	validation_0-logloss:0.439034
[333]	validation_0-logloss:0.438812
[334]	validation_0-logloss:0.438627
[335]	validation_0-logloss:0.438415
[336]	validation_0-logloss:0.438221
[337]	validation_0-logloss:0.437971
[338]	validation_0-logloss:0.437722
[339]	validation_0-logloss:0.437545
[340]	validation_0-logloss:0.437369
[341]	validation_0-logloss:0.437145
[342]	validation_0-logloss:0.436939
[343]	validation_0-logloss:0.436737
[344]	validation_0-logloss:0.436547
[345]	validation_0-logloss:0.436415
[346]	validation_0-logloss:0.436192
[347]	validation_0-logloss:0.435960
[348]	validation_0-logloss:0.435816
[349]	validation_0-logloss:0.435737
[350]	validation_0-logloss:0.435480
[351]	validation_0-logloss:0.435398
[352]	validation_0-logloss:0.435213
[353]	validation_0-logloss:0.435033
[354]	validation_0-logloss:0.434827
[355]	validation_0-logloss:0.434670
[356]	validation_0-logloss:0.434543
[357]	validation_0-logloss:0.434320
[358]	validation_0-logloss:0.434059
[359]	validation_0-logloss:0.433919
[360]	validation_0-logloss:0.433827
[361]	validation_0-logloss:0.433650
[362]	validation_0-logloss:0.433474
[363]	validation_0-logloss:0.433286
[364]	validation_0-logloss:0.433124
[365]	validation_0-logloss:0.433054
[366]	validation_0-logloss:0.432878
[367]	validation_0-logloss:0.432755
[368]	validation_0-logloss:0.432630
[369]	validation_0-logloss:0.432424
[370]	validation_0-logloss:0.432267
[371]	validation_0-logloss:0.432084
[372]	validation_0-logloss:0.431956
[373]	validation_0-logloss:0.431751
[374]	validation_0-logloss:0.431660
[375]	validation_0-logloss:0.431533
[376]	validation_0-logloss:0.431330
[377]	validation_0-logloss:0.431146
[378]	validation_0-logloss:0.430994
[379]	validation_0-logloss:0.430791
[380]	validation_0-logloss:0.430611
[381]	validation_0-logloss:0.430503
[382]	validation_0-logloss:0.430343
[383]	validation_0-logloss:0.430227
[384]	validation_0-logloss:0.430122
[385]	validation_0-logloss:0.429972
[386]	validation_0-logloss:0.429768
[387]	validation_0-logloss:0.429586
[388]	validation_0-logloss:0.429464
[389]	validation_0-logloss:0.429384
[390]	validation_0-logloss:0.429225
[391]	validation_0-logloss:0.429103
[392]	validation_0-logloss:0.428946
[393]	validation_0-logloss:0.428758
[394]	validation_0-logloss:0.428607
[395]	validation_0-logloss:0.428483
[396]	validation_0-logloss:0.428363
[397]	validation_0-logloss:0.428198
[398]	validation_0-logloss:0.427991
[399]	validation_0-logloss:0.427815
[400]	validation_0-logloss:0.427734
[401]	validation_0-logloss:0.427590
[402]	validation_0-logloss:0.427448
[403]	validation_0-logloss:0.427240
[404]	validation_0-logloss:0.427135
[405]	validation_0-logloss:0.426969
[406]	validation_0-logloss:0.426869
[407]	validation_0-logloss:0.426775
[408]	validation_0-logloss:0.426736
[409]	validation_0-logloss:0.426605
[410]	validation_0-logloss:0.426464
[411]	validation_0-logloss:0.426345
[412]	validation_0-logloss:0.426155
[413]	validation_0-logloss:0.425935
[414]	validation_0-logloss:0.425830
[415]	validation_0-logloss:0.425703
[416]	validation_0-logloss:0.425568
[417]	validation_0-logloss:0.425484
[418]	validation_0-logloss:0.425424
[419]	validation_0-logloss:0.425289
[420]	validation_0-logloss:0.425142
[421]	validation_0-logloss:0.424979
[422]	validation_0-logloss:0.424846
[423]	validation_0-logloss:0.424679
[424]	validation_0-logloss:0.424555
[425]	validation_0-logloss:0.424427
[426]	validation_0-logloss:0.424458
[427]	validation_0-logloss:0.424348
[428]	validation_0-logloss:0.424235
[429]	validation_0-logloss:0.424103
[430]	validation_0-logloss:0.423880
[431]	validation_0-logloss:0.423842
[432]	validation_0-logloss:0.423729
[433]	validation_0-logloss:0.423689
[434]	validation_0-logloss:0.423622
[435]	validation_0-logloss:0.423483
[436]	validation_0-logloss:0.423410
[437]	validation_0-logloss:0.423235
[438]	validation_0-logloss:0.423136
[439]	validation_0-logloss:0.423022
[440]	validation_0-logloss:0.422901
[441]	validation_0-logloss:0.422906
[442]	validation_0-logloss:0.422766
[443]	validation_0-logloss:0.422707
[444]	validation_0-logloss:0.422612
[445]	validation_0-logloss:0.422498
[446]	validation_0-logloss:0.422413
[447]	validation_0-logloss:0.422204
[448]	validation_0-logloss:0.422097
[449]	validation_0-logloss:0.422010
[450]	validation_0-logloss:0.421911
[451]	validation_0-logloss:0.421823
[452]	validation_0-logloss:0.421728
[453]	validation_0-logloss:0.421638
[454]	validation_0-logloss:0.421542
[455]	validation_0-logloss:0.421450
[456]	validation_0-logloss:0.421286
[457]	validation_0-logloss:0.421127
[458]	validation_0-logloss:0.421100
[459]	validation_0-logloss:0.421030
[460]	validation_0-logloss:0.420916
[461]	validation_0-logloss:0.420866
[462]	validation_0-logloss:0.420766
[463]	validation_0-logloss:0.420709
[464]	validation_0-logloss:0.420643
[465]	validation_0-logloss:0.420545
[466]	validation_0-logloss:0.420456
[467]	validation_0-logloss:0.420439
[468]	validation_0-logloss:0.420327
[469]	validation_0-logloss:0.420216
[470]	validation_0-logloss:0.420071
[471]	validation_0-logloss:0.420019
[472]	validation_0-logloss:0.419945
[473]	validation_0-logloss:0.420001
[474]	validation_0-logloss:0.419889
[475]	validation_0-logloss:0.419758
[476]	validation_0-logloss:0.419649
[477]	validation_0-logloss:0.419572
[478]	validation_0-logloss:0.419444
[479]	validation_0-logloss:0.419354
[480]	validation_0-logloss:0.419186
[481]	validation_0-logloss:0.419047
[482]	validation_0-logloss:0.419009
[483]	validation_0-logloss:0.419017
[484]	validation_0-logloss:0.418913
[485]	validation_0-logloss:0.418774
[486]	validation_0-logloss:0.418653
[487]	validation_0-logloss:0.418540
[488]	validation_0-logloss:0.418466
[489]	validation_0-logloss:0.418377
[490]	validation_0-logloss:0.418371
[491]	validation_0-logloss:0.418278
[492]	validation_0-logloss:0.418186
[493]	validation_0-logloss:0.418162
[494]	validation_0-logloss:0.418131
[495]	validation_0-logloss:0.417995
[496]	validation_0-logloss:0.417918
[497]	validation_0-logloss:0.417851
[498]	validation_0-logloss:0.417754
[499]	validation_0-logloss:0.417709
[500]	validation_0-logloss:0.417722
[501]	validation_0-logloss:0.417722
[502]	validation_0-logloss:0.417658
[503]	validation_0-logloss:0.417510
[504]	validation_0-logloss:0.417441
[505]	validation_0-logloss:0.417249
[506]	validation_0-logloss:0.417261
[507]	validation_0-logloss:0.417162
[508]	validation_0-logloss:0.417128
[509]	validation_0-logloss:0.417056
[510]	validation_0-logloss:0.416950
[511]	validation_0-logloss:0.416870
[512]	validation_0-logloss:0.416793
[513]	validation_0-logloss:0.416744
[514]	validation_0-logloss:0.416698
[515]	validation_0-logloss:0.416655
[516]	validation_0-logloss:0.416535
[517]	validation_0-logloss:0.416390
[518]	validation_0-logloss:0.416361
[519]	validation_0-logloss:0.416410
[520]	validation_0-logloss:0.416336
[521]	validation_0-logloss:0.416260
[522]	validation_0-logloss:0.416136
[523]	validation_0-logloss:0.416093
[524]	validation_0-logloss:0.416084
[525]	validation_0-logloss:0.416063
[526]	validation_0-logloss:0.415940
[527]	validation_0-logloss:0.415929
[528]	validation_0-logloss:0.415846
[529]	validation_0-logloss:0.415779
[530]	validation_0-logloss:0.415636
[531]	validation_0-logloss:0.415583
[532]	validation_0-logloss:0.415627
[533]	validation_0-logloss:0.415521
[534]	validation_0-logloss:0.415420
[535]	validation_0-logloss:0.415405
[536]	validation_0-logloss:0.415429
[537]	validation_0-logloss:0.415347
[538]	validation_0-logloss:0.415352
[539]	validation_0-logloss:0.415368
[540]	validation_0-logloss:0.415293
[541]	validation_0-logloss:0.415235
[542]	validation_0-logloss:0.415192
[543]	validation_0-logloss:0.415143
[544]	validation_0-logloss:0.415115
[545]	validation_0-logloss:0.415080
[546]	validation_0-logloss:0.415053
[547]	validation_0-logloss:0.414947
[548]	validation_0-logloss:0.414930
[549]	validation_0-logloss:0.414879
[550]	validation_0-logloss:0.414802
[551]	validation_0-logloss:0.414734
[552]	validation_0-logloss:0.414670
[553]	validation_0-logloss:0.414594
[554]	validation_0-logloss:0.414522
[555]	validation_0-logloss:0.414443
[556]	validation_0-logloss:0.414336
[557]	validation_0-logloss:0.414257
[558]	validation_0-logloss:0.414211
[559]	validation_0-logloss:0.414135
[560]	validation_0-logloss:0.414146
[561]	validation_0-logloss:0.414136
[562]	validation_0-logloss:0.414114
[563]	validation_0-logloss:0.414090
[564]	validation_0-logloss:0.414013
[565]	validation_0-logloss:0.414049
[566]	validation_0-logloss:0.413974
[567]	validation_0-logloss:0.413899
[568]	validation_0-logloss:0.413847
[569]	validation_0-logloss:0.413836
[570]	validation_0-logloss:0.413775
[571]	validation_0-logloss:0.413738
[572]	validation_0-logloss:0.413716
[573]	validation_0-logloss:0.413633
[574]	validation_0-logloss:0.413531
[575]	validation_0-logloss:0.413386
[576]	validation_0-logloss:0.413317
[577]	validation_0-logloss:0.413221
[578]	validation_0-logloss:0.413139
[579]	validation_0-logloss:0.413101
[580]	validation_0-logloss:0.413123
[581]	validation_0-logloss:0.413096
[582]	validation_0-logloss:0.412988
[583]	validation_0-logloss:0.412958
[584]	validation_0-logloss:0.412986
[585]	validation_0-logloss:0.412978
[586]	validation_0-logloss:0.413020
[587]	validation_0-logloss:0.413014
[588]	validation_0-logloss:0.412929
[589]	validation_0-logloss:0.412897
[590]	validation_0-logloss:0.412796
[591]	validation_0-logloss:0.412669
[592]	validation_0-logloss:0.412562
[593]	validation_0-logloss:0.412548
[594]	validation_0-logloss:0.412554
[595]	validation_0-logloss:0.412462
[596]	validation_0-logloss:0.412434
[597]	validation_0-logloss:0.412359
[598]	validation_0-logloss:0.412320
[599]	validation_0-logloss:0.412235
[600]	validation_0-logloss:0.412189
[601]	validation_0-logloss:0.412232
[602]	validation_0-logloss:0.412237
[603]	validation_0-logloss:0.412240
[604]	validation_0-logloss:0.412276
[605]	validation_0-logloss:0.412227
[606]	validation_0-logloss:0.412205
[607]	validation_0-logloss:0.412239
[608]	validation_0-logloss:0.412225
[609]	validation_0-logloss:0.412133
[610]	validation_0-logloss:0.412109
[611]	validation_0-logloss:0.412083
[612]	validation_0-logloss:0.411995
[613]	validation_0-logloss:0.411958
[614]	validation_0-logloss:0.411848
[615]	validation_0-logloss:0.411844
[616]	validation_0-logloss:0.411892
[617]	validation_0-logloss:0.411885
[618]	validation_0-logloss:0.411949
[619]	validation_0-logloss:0.411913
[620]	validation_0-logloss:0.411869
[621]	validation_0-logloss:0.411856
[622]	validation_0-logloss:0.411824
[623]	validation_0-logloss:0.411860
[624]	validation_0-logloss:0.411770
[625]	validation_0-logloss:0.411743
[626]	validation_0-logloss:0.411671
[627]	validation_0-logloss:0.411642
[628]	validation_0-logloss:0.411634
[629]	validation_0-logloss:0.411556
[630]	validation_0-logloss:0.411503
[631]	validation_0-logloss:0.411507
[632]	validation_0-logloss:0.411484
[633]	validation_0-logloss:0.411416
[634]	validation_0-logloss:0.411292
[635]	validation_0-logloss:0.411274
[636]	validation_0-logloss:0.411209
[637]	validation_0-logloss:0.411207
[638]	validation_0-logloss:0.411209
[639]	validation_0-logloss:0.411293
[640]	validation_0-logloss:0.411330
[641]	validation_0-logloss:0.411352
[642]	validation_0-logloss:0.411287
[643]	validation_0-logloss:0.411270
[644]	validation_0-logloss:0.411176
[645]	validation_0-logloss:0.411194
[646]	validation_0-logloss:0.411068
[647]	validation_0-logloss:0.410997
[648]	validation_0-logloss:0.411013
[649]	validation_0-logloss:0.410974
[650]	validation_0-logloss:0.411002
[651]	validation_0-logloss:0.411012
[652]	validation_0-logloss:0.410967
[653]	validation_0-logloss:0.410919
[654]	validation_0-logloss:0.410833
[655]	validation_0-logloss:0.410836
[656]	validation_0-logloss:0.410707
[657]	validation_0-logloss:0.410591
[658]	validation_0-logloss:0.410584
[659]	validation_0-logloss:0.410626
[660]	validation_0-logloss:0.410604
[661]	validation_0-logloss:0.410510
[662]	validation_0-logloss:0.410441
[663]	validation_0-logloss:0.410395
[664]	validation_0-logloss:0.410429
[665]	validation_0-logloss:0.410404
[666]	validation_0-logloss:0.410282
[667]	validation_0-logloss:0.410230
[668]	validation_0-logloss:0.410145
[669]	validation_0-logloss:0.410136
[670]	validation_0-logloss:0.410114
[671]	validation_0-logloss:0.410054
[672]	validation_0-logloss:0.410036
[673]	validation_0-logloss:0.410058
[674]	validation_0-logloss:0.409975
[675]	validation_0-logloss:0.409920
[676]	validation_0-logloss:0.409880
[677]	validation_0-logloss:0.409909
[678]	validation_0-logloss:0.409909
[679]	validation_0-logloss:0.409883
[680]	validation_0-logloss:0.409939
[681]	validation_0-logloss:0.409953
[682]	validation_0-logloss:0.409943
[683]	validation_0-logloss:0.409880
[684]	validation_0-logloss:0.409865
[685]	validation_0-logloss:0.409922
[686]	validation_0-logloss:0.409935
[687]	validation_0-logloss:0.409869
[688]	validation_0-logloss:0.409850
[689]	validation_0-logloss:0.409797
[690]	validation_0-logloss:0.409804
[691]	validation_0-logloss:0.409753
[692]	validation_0-logloss:0.409718
[693]	validation_0-logloss:0.409730
[694]	validation_0-logloss:0.409619
[695]	validation_0-logloss:0.409568
[696]	validation_0-logloss:0.409596
[697]	validation_0-logloss:0.409563
[698]	validation_0-logloss:0.409557
[699]	validation_0-logloss:0.409498
[700]	validation_0-logloss:0.409501
[701]	validation_0-logloss:0.409487
[702]	validation_0-logloss:0.409450
[703]	validation_0-logloss:0.409453
[704]	validation_0-logloss:0.409407
[705]	validation_0-logloss:0.409419
[706]	validation_0-logloss:0.409393
[707]	validation_0-logloss:0.409350
[708]	validation_0-logloss:0.409286
[709]	validation_0-logloss:0.409267
[710]	validation_0-logloss:0.409185
[711]	validation_0-logloss:0.409128
[712]	validation_0-logloss:0.409057
[713]	validation_0-logloss:0.408981
[714]	validation_0-logloss:0.409018
[715]	validation_0-logloss:0.408994
[716]	validation_0-logloss:0.408947
[717]	validation_0-logloss:0.408929
[718]	validation_0-logloss:0.408961
[719]	validation_0-logloss:0.408903
[720]	validation_0-logloss:0.408948
[721]	validation_0-logloss:0.408957
[722]	validation_0-logloss:0.408911
[723]	validation_0-logloss:0.408846
[724]	validation_0-logloss:0.408857
[725]	validation_0-logloss:0.408868
[726]	validation_0-logloss:0.408823
[727]	validation_0-logloss:0.408780
[728]	validation_0-logloss:0.408796
[729]	validation_0-logloss:0.408829
[730]	validation_0-logloss:0.408886
[731]	validation_0-logloss:0.408778
[732]	validation_0-logloss:0.408740
[733]	validation_0-logloss:0.408756
[734]	validation_0-logloss:0.408660
[735]	validation_0-logloss:0.408602
[736]	validation_0-logloss:0.408567
[737]	validation_0-logloss:0.408539
[738]	validation_0-logloss:0.408602
[739]	validation_0-logloss:0.408557
[740]	validation_0-logloss:0.408571
[741]	validation_0-logloss:0.408494
[742]	validation_0-logloss:0.408440
[743]	validation_0-logloss:0.408462
[744]	validation_0-logloss:0.408435
[745]	validation_0-logloss:0.408408
[746]	validation_0-logloss:0.408392
[747]	validation_0-logloss:0.408404
[748]	validation_0-logloss:0.408402
[749]	validation_0-logloss:0.408367
[750]	validation_0-logloss:0.408365
[751]	validation_0-logloss:0.408247
-----------------------
  logloss train: 0.43208
  logloss valid: 0.40631
-----------------------

Model parameters...
{'reg_alpha': 0, 'colsample_bytree': 0.8, 'silent': True, 'colsample_bylevel': 1, 'scale_pos_weight': 1, 'learning_rate': 0.005, 'missing': None, 'max_delta_step': 0, 'nthread': -1, 'base_score': 0.5, 'n_estimators': 1500, 'subsample': 0.9, 'reg_lambda': 1, 'seed': 2100, 'min_child_weight': 3, 'objective': 'binary:logistic', 'max_depth': 3, 'gamma': 0.3}
[752]	validation_0-logloss:0.408198
[753]	validation_0-logloss:0.408142
[754]	validation_0-logloss:0.408108
[755]	validation_0-logloss:0.408085
[756]	validation_0-logloss:0.408114
[757]	validation_0-logloss:0.408100
[758]	validation_0-logloss:0.408112
[759]	validation_0-logloss:0.408151
[760]	validation_0-logloss:0.408139
[761]	validation_0-logloss:0.408058
[762]	validation_0-logloss:0.408073
[763]	validation_0-logloss:0.408031
[764]	validation_0-logloss:0.407997
[765]	validation_0-logloss:0.407922
[766]	validation_0-logloss:0.407933
[767]	validation_0-logloss:0.407884
[768]	validation_0-logloss:0.407892
[769]	validation_0-logloss:0.407831
[770]	validation_0-logloss:0.407818
[771]	validation_0-logloss:0.407773
[772]	validation_0-logloss:0.407824
[773]	validation_0-logloss:0.407839
[774]	validation_0-logloss:0.407871
[775]	validation_0-logloss:0.407848
[776]	validation_0-logloss:0.407846
[777]	validation_0-logloss:0.407834
[778]	validation_0-logloss:0.407837
[779]	validation_0-logloss:0.407814
[780]	validation_0-logloss:0.407821
[781]	validation_0-logloss:0.407869
[782]	validation_0-logloss:0.407897
[783]	validation_0-logloss:0.407933
[784]	validation_0-logloss:0.407976
[785]	validation_0-logloss:0.407976
[786]	validation_0-logloss:0.407942
[787]	validation_0-logloss:0.407904
[788]	validation_0-logloss:0.407816
[789]	validation_0-logloss:0.407856
[790]	validation_0-logloss:0.407833
[791]	validation_0-logloss:0.407810
[792]	validation_0-logloss:0.407843
[793]	validation_0-logloss:0.407689
[794]	validation_0-logloss:0.407579
[795]	validation_0-logloss:0.407517
[796]	validation_0-logloss:0.407453
[797]	validation_0-logloss:0.407447
[798]	validation_0-logloss:0.407354
[799]	validation_0-logloss:0.407230
[800]	validation_0-logloss:0.407171
[801]	validation_0-logloss:0.407280
[802]	validation_0-logloss:0.407298
[803]	validation_0-logloss:0.407317
[804]	validation_0-logloss:0.407331
[805]	validation_0-logloss:0.407296
[806]	validation_0-logloss:0.407253
[807]	validation_0-logloss:0.407210
[808]	validation_0-logloss:0.407110
[809]	validation_0-logloss:0.407154
[810]	validation_0-logloss:0.407161
[811]	validation_0-logloss:0.407143
[812]	validation_0-logloss:0.407152
[813]	validation_0-logloss:0.407130
[814]	validation_0-logloss:0.407123
[815]	validation_0-logloss:0.407117
[816]	validation_0-logloss:0.407136
[817]	validation_0-logloss:0.407139
[818]	validation_0-logloss:0.407075
[819]	validation_0-logloss:0.407099
[820]	validation_0-logloss:0.407130
[821]	validation_0-logloss:0.407123
[822]	validation_0-logloss:0.407101
[823]	validation_0-logloss:0.407030
[824]	validation_0-logloss:0.407056
[825]	validation_0-logloss:0.407081
[826]	validation_0-logloss:0.407074
[827]	validation_0-logloss:0.407059
[828]	validation_0-logloss:0.407128
[829]	validation_0-logloss:0.407087
[830]	validation_0-logloss:0.407114
[831]	validation_0-logloss:0.407126
[832]	validation_0-logloss:0.407108
[833]	validation_0-logloss:0.407101
[834]	validation_0-logloss:0.407159
[835]	validation_0-logloss:0.407155
[836]	validation_0-logloss:0.407126
[837]	validation_0-logloss:0.407070
[838]	validation_0-logloss:0.407058
[839]	validation_0-logloss:0.407010
[840]	validation_0-logloss:0.407044
[841]	validation_0-logloss:0.407128
[842]	validation_0-logloss:0.407151
[843]	validation_0-logloss:0.407135
[844]	validation_0-logloss:0.407132
[845]	validation_0-logloss:0.407148
[846]	validation_0-logloss:0.407139
[847]	validation_0-logloss:0.407204
[848]	validation_0-logloss:0.407223
[849]	validation_0-logloss:0.407260
[850]	validation_0-logloss:0.407229
[851]	validation_0-logloss:0.407232
[852]	validation_0-logloss:0.407238
[853]	validation_0-logloss:0.407210
[854]	validation_0-logloss:0.407200
[855]	validation_0-logloss:0.407215
[856]	validation_0-logloss:0.407179
[857]	validation_0-logloss:0.407072
[858]	validation_0-logloss:0.407021
[859]	validation_0-logloss:0.407009
[860]	validation_0-logloss:0.407025
[861]	validation_0-logloss:0.407078
[862]	validation_0-logloss:0.407050
[863]	validation_0-logloss:0.406954
[864]	validation_0-logloss:0.406938
[865]	validation_0-logloss:0.406922
[866]	validation_0-logloss:0.406871
[867]	validation_0-logloss:0.406842
[868]	validation_0-logloss:0.406834
[869]	validation_0-logloss:0.406871
[870]	validation_0-logloss:0.406899
[871]	validation_0-logloss:0.406891
[872]	validation_0-logloss:0.406893
[873]	validation_0-logloss:0.406839
[874]	validation_0-logloss:0.406793
[875]	validation_0-logloss:0.406819
[876]	validation_0-logloss:0.406813
[877]	validation_0-logloss:0.406766
[878]	validation_0-logloss:0.406736
[879]	validation_0-logloss:0.406776
[880]	validation_0-logloss:0.406807
[881]	validation_0-logloss:0.406789
[882]	validation_0-logloss:0.406773
[883]	validation_0-logloss:0.406745
[884]	validation_0-logloss:0.406762
[885]	validation_0-logloss:0.406798
[886]	validation_0-logloss:0.406706
[887]	validation_0-logloss:0.406679
[888]	validation_0-logloss:0.406699
[889]	validation_0-logloss:0.406723
[890]	validation_0-logloss:0.406719
[891]	validation_0-logloss:0.406708
[892]	validation_0-logloss:0.406726
[893]	validation_0-logloss:0.406684
[894]	validation_0-logloss:0.406696
[895]	validation_0-logloss:0.406612
[896]	validation_0-logloss:0.406585
[897]	validation_0-logloss:0.406559
[898]	validation_0-logloss:0.406518
[899]	validation_0-logloss:0.406421
[900]	validation_0-logloss:0.406405
[901]	validation_0-logloss:0.406411
[902]	validation_0-logloss:0.406409
[903]	validation_0-logloss:0.406438
[904]	validation_0-logloss:0.406342
[905]	validation_0-logloss:0.406404
[906]	validation_0-logloss:0.406353
[907]	validation_0-logloss:0.406323
[908]	validation_0-logloss:0.406313
[909]	validation_0-logloss:0.406334
[910]	validation_0-logloss:0.406289
[911]	validation_0-logloss:0.406286
[912]	validation_0-logloss:0.406287
[913]	validation_0-logloss:0.406199
[914]	validation_0-logloss:0.406234
[915]	validation_0-logloss:0.406255
[916]	validation_0-logloss:0.406255
[917]	validation_0-logloss:0.406176
[918]	validation_0-logloss:0.406228
[919]	validation_0-logloss:0.406231
[920]	validation_0-logloss:0.406259
[921]	validation_0-logloss:0.406207
[922]	validation_0-logloss:0.406292
[923]	validation_0-logloss:0.406296
[924]	validation_0-logloss:0.406287
[925]	validation_0-logloss:0.406291
[926]	validation_0-logloss:0.406298
[927]	validation_0-logloss:0.406321
[928]	validation_0-logloss:0.406325
[929]	validation_0-logloss:0.406330
[930]	validation_0-logloss:0.406393
[931]	validation_0-logloss:0.406375
[932]	validation_0-logloss:0.406408
[933]	validation_0-logloss:0.406391
[934]	validation_0-logloss:0.406415
[935]	validation_0-logloss:0.406383
[936]	validation_0-logloss:0.406430
[937]	validation_0-logloss:0.406408
[938]	validation_0-logloss:0.406388
[939]	validation_0-logloss:0.406411
[940]	validation_0-logloss:0.406477
[941]	validation_0-logloss:0.406464
[942]	validation_0-logloss:0.406458
[943]	validation_0-logloss:0.406527
[944]	validation_0-logloss:0.406573
[945]	validation_0-logloss:0.406572
[946]	validation_0-logloss:0.406635
[947]	validation_0-logloss:0.406605
[948]	validation_0-logloss:0.406626
[949]	validation_0-logloss:0.406616
[950]	validation_0-logloss:0.406663
[951]	validation_0-logloss:0.406725
[952]	validation_0-logloss:0.406741
[953]	validation_0-logloss:0.406764
[954]	validation_0-logloss:0.406800
[955]	validation_0-logloss:0.406800
[956]	validation_0-logloss:0.406920
[957]	validation_0-logloss:0.406892
[958]	validation_0-logloss:0.406942
[959]	validation_0-logloss:0.406914
[960]	validation_0-logloss:0.406946
[961]	validation_0-logloss:0.406959
[962]	validation_0-logloss:0.406946
[963]	validation_0-logloss:0.406979
[964]	validation_0-logloss:0.406875
[965]	validation_0-logloss:0.406922
[966]	validation_0-logloss:0.406912
[967]	validation_0-logloss:0.406910
[968]	validation_0-logloss:0.406944
[969]	validation_0-logloss:0.406924
[970]	validation_0-logloss:0.406926
[971]	validation_0-logloss:0.406821
[972]	validation_0-logloss:0.406803
[973]	validation_0-logloss:0.406793
[974]	validation_0-logloss:0.406768
[975]	validation_0-logloss:0.406738
[976]	validation_0-logloss:0.406762
[977]	validation_0-logloss:0.406800
[978]	validation_0-logloss:0.406873
[979]	validation_0-logloss:0.406954
[980]	validation_0-logloss:0.406944
[981]	validation_0-logloss:0.406920
[982]	validation_0-logloss:0.406977
[983]	validation_0-logloss:0.406994
[984]	validation_0-logloss:0.407003
[985]	validation_0-logloss:0.407013
[986]	validation_0-logloss:0.407001
[987]	validation_0-logloss:0.406978
[988]	validation_0-logloss:0.406983
[989]	validation_0-logloss:0.406959
[990]	validation_0-logloss:0.406947
[991]	validation_0-logloss:0.406965
[992]	validation_0-logloss:0.406982
[993]	validation_0-logloss:0.406981
[994]	validation_0-logloss:0.406938
[995]	validation_0-logloss:0.406884
[996]	validation_0-logloss:0.406841
[997]	validation_0-logloss:0.406831
[998]	validation_0-logloss:0.406817
[999]	validation_0-logloss:0.406739
[1000]	validation_0-logloss:0.406708
[1001]	validation_0-logloss:0.406659
[1002]	validation_0-logloss:0.406603
[1003]	validation_0-logloss:0.406558
[1004]	validation_0-logloss:0.406580
[1005]	validation_0-logloss:0.406578
[1006]	validation_0-logloss:0.406517
[1007]	validation_0-logloss:0.406542
[1008]	validation_0-logloss:0.406567
[1009]	validation_0-logloss:0.406603
[1010]	validation_0-logloss:0.406597
[1011]	validation_0-logloss:0.406570
[1012]	validation_0-logloss:0.406512
[1013]	validation_0-logloss:0.406477
[1014]	validation_0-logloss:0.406465
[1015]	validation_0-logloss:0.406522
[1016]	validation_0-logloss:0.406567
[1017]	validation_0-logloss:0.406567
[1018]	validation_0-logloss:0.406596
[1019]	validation_0-logloss:0.406600
[1020]	validation_0-logloss:0.406612
[1021]	validation_0-logloss:0.406603
[1022]	validation_0-logloss:0.406597
[1023]	validation_0-logloss:0.406618
[1024]	validation_0-logloss:0.406651
[1025]	validation_0-logloss:0.406694
[1026]	validation_0-logloss:0.406644
[1027]	validation_0-logloss:0.406660
[1028]	validation_0-logloss:0.406636
[1029]	validation_0-logloss:0.406627
[1030]	validation_0-logloss:0.406582
[1031]	validation_0-logloss:0.406573
[1032]	validation_0-logloss:0.406581
[1033]	validation_0-logloss:0.406543
[1034]	validation_0-logloss:0.406538
[1035]	validation_0-logloss:0.406512
[1036]	validation_0-logloss:0.406533
[1037]	validation_0-logloss:0.406551
[1038]	validation_0-logloss:0.406490
[1039]	validation_0-logloss:0.406545
[1040]	validation_0-logloss:0.406507
[1041]	validation_0-logloss:0.406520
[1042]	validation_0-logloss:0.406486
[1043]	validation_0-logloss:0.406479
[1044]	validation_0-logloss:0.406483
[1045]	validation_0-logloss:0.406484
[1046]	validation_0-logloss:0.406479
[1047]	validation_0-logloss:0.406368
[1048]	validation_0-logloss:0.406389
[1049]	validation_0-logloss:0.406446
[1050]	validation_0-logloss:0.406439
[1051]	validation_0-logloss:0.406522
[1052]	validation_0-logloss:0.406422
[1053]	validation_0-logloss:0.406437
[1054]	validation_0-logloss:0.406409
[1055]	validation_0-logloss:0.406379
[1056]	validation_0-logloss:0.406395
[1057]	validation_0-logloss:0.406424
[1058]	validation_0-logloss:0.406407
[1059]	validation_0-logloss:0.406393
[1060]	validation_0-logloss:0.406446
[1061]	validation_0-logloss:0.406411
[1062]	validation_0-logloss:0.406309
[1063]	validation_0-logloss:0.406318
[1064]	validation_0-logloss:0.406289
[1065]	validation_0-logloss:0.406302
[1066]	validation_0-logloss:0.406268
[1067]	validation_0-logloss:0.406307
Stopping. Best iteration:
[917]	validation_0-logloss:0.406176


In [13]:
#print y_pred
y_pred= clf.predict_proba(test)[:,1]

submission = pd.DataFrame({"":id_test, "Made Donation in March 2007":y_pred})
submission.to_csv("submission_xgboost.csv", index=False)

In [14]:
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation
from keras.optimizers import Adam
from keras.utils.np_utils import to_categorical


nn = Sequential()
nn.add(Dense(175, input_dim=4, init='uniform'))
nn.add(Dropout(0.5))
nn.add(Activation('sigmoid'))
nn.add(Dense(2, init='uniform'))
nn.add(Activation('softmax'))

opt = Adam(lr=1e-4)
nn.compile(loss='sparse_categorical_crossentropy', optimizer=opt)
#X_fit, y_fit, early_stopping_rounds=150,  eval_metric="logloss", eval_set=[(X_eval, y_eval)
hist = nn.fit(X_fit.values, y_fit.values, nb_epoch=63, verbose=0,validation_data=(X_eval.values, y_eval.values))


Using Theano backend.

In [15]:
y_pred= nn.predict_proba(test.values, verbose=0)[:,1]

submission = pd.DataFrame({"":id_test, "Made Donation in March 2007":y_pred})
submission.to_csv("submission_NN.csv", index=False)

In [16]:
%matplotlib inline

plt.plot(hist.history['loss'][0:])
plt.plot(hist.history['val_loss'][0:])
plt.legend(['Train loss', 'Validation loss'])


Out[16]:
<matplotlib.legend.Legend at 0x7f65465491d0>

In [17]:
clf1_p = rf.predict_proba(X_eval)[:,1]

#Logreg
clf7_p = lrCV.predict_proba(X_eval)[:,1]

#xgb
clf8_p = clf.predict_proba(X_eval)[:,1]

# #NN
clf3_p = nn.predict_proba(X_eval.values, verbose = 0)[:,1]

In [18]:
classifiers = [clf1_p, 
               clf8_p, 
               clf3_p]

predictions = pd.DataFrame(classifiers[0:2]).T

for classif in classifiers:
    print(log_loss(y_eval, classif))


0.430018365833
0.40630695956
0.420360229567

In [19]:
print(np.corrcoef(classifiers))


[[ 1.          0.9373986   0.72588806]
 [ 0.9373986   1.          0.7829662 ]
 [ 0.72588806  0.7829662   1.        ]]

In [20]:
Ps = np.array(classifiers).T
def ensemble_logloss(w):
    return log_loss(y_eval, (Ps*w).sum(1).T/np.sum(w))

In [21]:
ensemble_logloss(np.ones(len(classifiers)))


Out[21]:
0.40818553776718286

In [22]:
def ensemble_roc_auc(w):
    return roc_auc_score(y_eval, (Ps*w).sum(1).T/np.sum(w))

In [23]:
ensemble_roc_auc(np.ones(len(classifiers)))


Out[23]:
0.78655462184873948

In [24]:
from scipy.optimize import minimize

opt = minimize(ensemble_logloss, x0=np.ones(len(classifiers)))
print("Function result:", opt.fun)
print("Array:", opt.x)


('Function result:', 0.4058665515428579)
('Array:', array([ 0.05570982,  2.50483474,  0.43416609]))

In [25]:
w = opt.x/opt.x.sum()
w


Out[25]:
array([ 0.01860274,  0.83641962,  0.14497764])

In [26]:
ensebmle_prob_validation = np.zeros(len(clf1_p))
for i in range(len(classifiers)):
    ensebmle_prob_validation += np.array(classifiers[i]) * w[i]

In [27]:
print log_loss(y_eval, ensebmle_prob_validation), roc_auc_score(y_eval, ensebmle_prob_validation)


0.405866552072 0.787394957983

In [28]:
def optimal(values):
    optimal_classifiers = []
    for i in range(len(values)):
        if values[i] > 0:
            print("Classifier", i+1, "is good")
            optimal_classifiers.append(classifiers[i])
    return optimal_classifiers

In [29]:
def full_negative_elimination(weights):
    global classifiers, Ps
    while sum(weights<0) > 0:
        opt = minimize(ensemble_logloss, x0=np.ones(len(classifiers)))
        print("Function result:", opt.fun)
        classifiers = optimal(opt.x)
        Ps = np.array(classifiers).T
        weights = opt.x/opt.x.sum()
        print("Current weights:", weights)
        print('=======')
    return weights

In [30]:
w = full_negative_elimination(w)

In [31]:
dtest = xgb.DMatrix(test)
p1 = rf.predict_proba(test)[:,1]

#Logreg
p7 = lrCV.predict_proba(test)[:,1]

#xgb
p8 = clf.predict_proba(test)[:,1]

p3 = nn.predict_proba(test.values, verbose = 0)[:,1]

test_predictions = [p1,  p8, p3]

In [32]:
ensebmle_prob_test = np.zeros(len(p1))
for i in range(len(test_predictions)):
    ensebmle_prob_test += np.array(test_predictions[i]) * w[i]

In [33]:
pd.DataFrame(ensebmle_prob_validation).hist()


Out[33]:
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7f64d34d4350>]], dtype=object)

In [34]:
pd.DataFrame(y).hist()


Out[34]:
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7f64d4c88c50>]], dtype=object)

In [35]:
submission = pd.DataFrame({"":id_test, "Made Donation in March 2007":ensebmle_prob_test})
submission.to_csv("submission_ansemble.csv", index=False)

In [ ]: