学习连接:Titanic Tutorial | Kaggle
women=train.loc[train.Sex=='female']
women=train.loc[train.Sex=='female']['Survived']
第一个是过滤原表,只保留sex=female的所有行。列数不变,变的是行数减少了。
第二个是在原来的基础上,只保留Survived这列。
os.getcwd()
os.listdir()
os这个module 会经常用到,涉及到文件 或目录。
women.count()
len(women)
两个命令返回相同结果。
count()用来查询一共有多少非null值的行
rate_women=sum(women)/len(women)
前面women返回的是为0或1的记录,用sum()算出为1的数量。
之所以不用women.count() 而用sum(women),因为count会把值为0的记录也包括在内。
features=["Pclass", "Sex", "SibSp", "Parch"]
X=pd.get_dummies(train[features])
# 不可以:
X=pd.get_dummies(train.features)
# 也不可以
X=pd.get_dummies(train.loc[features])
# 都可以
output=pd.DataFrame({'PassengerId:train.PassengerId})
output=pd.DataFrame({'PassengerId:train['PassengerId']})
print('the percentage of women survival is:', women_rate)
X=pd.get_dummies(data[features])
pd.get_dummies: Convert categorical variable into dummy/indicator variables.
# model: 首先,注明model
# model.fit() 然后,用train data 的 X y 训练模型
# model.predict() 最后,用test data 的 X predict output
model=RandomForestClassifier(n_estimators=100, max_depth=5, random_state=1)
model.fit(X,y)
predictions=model.predict(X_test)
# 生成 prediction output
output = pd.DataFrame({'PassengerId': test_data.PassengerId, 'Survived': predictions})
# 保存output
output.to_csv('submission.csv', index=False)