本文将介绍如何使用Kaggle提供的泰坦尼克数据集来预测乘客是否生还。数据集可以从Kaggle下载,但需要注册账号。如果你需要数据集,可以通过私信联系我获取。
这里将使用逻辑回归模型进行预测,逻辑回归是一种常用且简便的机器学习算法。
```python
""" 创建于 2020年3月4日 20:47:29 使用Kaggle上的泰坦尼克数据集预测生还情况 """
import pandas from sklearn.linear_model import LogisticRegression import statsmodels.api as sm
usecols = [0, 1, 2, 4, 6, 7, 9, 11] dataset = pandas.read_csv('train.csv', engine='python', usecols=usecols)
print(dataset.head()) print(dataset.describe(include='all'))
sexmapping = {'male': 1, 'female': 0} dataset['Sexmap'] = dataset['Sex'].map(sex_mapping)
fillembarked = dataset['Embarked'].fillna('4') dataset['Embarked'] = fillembarked embarkedmapping = {'S': 1, 'C': 2, 'Q': 3, '4': 4} dataset['Embarkedmap'] = dataset['Embarked'].map(embarked_mapping)
formula = "Survived ~ Pclass + Sexmap + SibSp + Parch + Fare + Embarkedmap" model = sm.Logit.from_formula(formula, data=dataset) result = model.fit() print(result.summary())
testcols = [0, 1, 3, 5, 6, 8, 10] testset = pandas.read_csv('test.csv', engine='python', usecols=testcols)
testset['Sexmap'] = testset['Sex'].map(sexmapping) testfillembarked = testset['Embarked'].fillna('4') testset['Embarked'] = testfillembarked testset['Embarkedmap'] = testset['Embarked'].map(embarkedmapping)
alpha = 0.5 testset["prob"] = result.predict(testset) print(testset)
testset["Survived"] = testset.apply(lambda x: 1 if x["prob"] > alpha else 0, axis=1)
testset.to_csv('/Users/c5298237/Desktop/Result1.csv', index=0) ```
希望以上内容对你有所帮助,如有需要可以私信联系我获取数据集。