import numpy as np
import pandas as pd

from sklearn import linear_model
from sklearn import preprocessing

#Preprocessing 

#Print you can execute arbitrary python code
train = pd.read_csv("../input/train.csv", dtype={"Age": np.float64}, )
test = pd.read_csv("../input/test.csv", dtype={"Age": np.float64}, )

#Fill in NaN ages with median age
train['Age'].fillna(train['Age'].median(), inplace=True)

encoder = preprocessing.LabelEncoder()
sex = encoder.fit_transform(train["Sex"])
pclass = encoder.fit_transform(train["Pclass"])

model = linear_model.LogisticRegression()

features = pd.DataFrame([pclass, sex, train["Age"]]).T
model.fit(X = features, y = train["Survived"])



test['Age'].fillna(test['Age'].median(), inplace=True)
test_sex = encoder.fit_transform(test["Sex"])
test_pclass = encoder.fit_transform(test["Pclass"])

test_features = pd.DataFrame([test_pclass, test_sex, test["Age"]]).T

prediction = model.predict(X = test_features)


submission = pd.DataFrame({"PassengerId":test["PassengerId"],
                           "Survived":prediction})
                           
submission.to_csv("predLogClassSexAge.csv", index=False)