import pandas as pd
from sklearn import svm
from sklearn.cross_validation import cross_val_score
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.ensemble import AdaBoostClassifier
from sklearn.cross_validation import train_test_split
from sklearn.ensemble import RandomForestClassifier
# The competition datafiles are in the directory ../input
# Read competition data files:
train = pd.read_csv("../input/train.csv")
test  = pd.read_csv("../input/test.csv")

# Write to the log:
print("Training set has {0[0]} rows and {0[1]} columns".format(train.shape))
print("Test set has {0[0]} rows and {0[1]} columns".format(test.shape))
# Any files you write to the current directory get shown as outputs

def getData():
    train_X=train.drop('label',axis=1)
    train_Y=train['label']
    return train_X,train_Y
def testClasifier(trainX,trainY,classifier):
    tx, cvx, ty, cvy = train_test_split(trainX, trainY, test_size=0.33)
    clf = classifier()
    clf = clf.fit(tx, ty)
    print (clf.score(cvx, cvy))
    clfr=classifier().fit(trainX,trainY)
    return clfr

trainX,trainY=getData()
clfr=testClasifier(trainX,trainY,RandomForestClassifier)
res=clfr.predict(test)
res=pd.DataFrame(res)
res.columns=['Label']
res['ImageId']=res.index+1
res=res.set_index(res.ImageId)
res=res.drop('ImageId',axis=1)
res.to_csv('resRandomFroest.csv')