您的位置:首页 > 其它

kaggle titanic 入门实例 基于性别的预测

2016-01-07 10:19 281 查看
#coding:utf-8
#https://www.kaggle.com/c/titanic/details/getting-started-with-python

import csv as csv 
import numpy as np

csv_file_object = csv.reader(open('./csv/train.csv', 'rb')) 
header = csv_file_object.next() 
data = []                          
for row in csv_file_object:      
    data.append(row)             
data = np.array(data)     
#print data[0::,1] #第二列的全部
women_only_stats = data[0::,4] == "female" 
men_only_stats = data[0::,4] != "female"  
women_onboard = data[women_only_stats,1].astype(np.float)     
men_onboard = data[men_only_stats,1].astype(np.float)
proportion_women_survived = \
                       np.sum(women_onboard) / np.size(women_onboard)  
proportion_men_survived = \
                       np.sum(men_onboard) / np.size(men_onboard) 
print 'Proportion of women who survived is %s' % proportion_women_survived
print 'Proportion of men who survived is %s' % proportion_men_survived

test_file = open('./csv/test.csv', 'rb')
test_file_object = csv.reader(test_file)
header = test_file_object.next()

prediction_file = open("genderbasedmodel.csv", "wb")
prediction_file_object = csv.writer(prediction_file)

prediction_file_object.writerow(["PassengerId", "Survived"])
for row in test_file_object:       # For each row in test.csv
    if row[3] == 'female':         # is it a female, if yes then                                       
        prediction_file_object.writerow([row[0],'1'])    # predict 1
    else:                              # or else if male,       
        prediction_file_object.writerow([row[0],'0'])    # predict 0
test_file.close()
prediction_file.close()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: