pandas结合Sklearn实现泰坦尼克存活率预测

pandas结合Sklearn实现泰坦尼克存活率预测

实例目标:实现泰坦尼克存活预测
处理步骤
1、输入数据:使用Pandas读取训练数据(历史数据,特点是已经知道了这个人最后有没有活下来)
2、训练模型:使用Sklearn训练模型
3、使用模型:对于一个新的不知道存活的人,预估他存活的概率

import pandas as pd
from sklearn.linear_model import LogisticRegression

df_train = pd.read_csv("./pandas/ant-learn-pandas/datas/titanic/titanic_train.csv",
                   engine="python")
print(df_train.head())
'''
   PassengerId  Survived  Pclass    ...        Fare Cabin  Embarked
0            1         0       3    ...      7.2500   NaN         S
1            2         1       1    ...     71.2833   C85         C
2            3         1       3    ...      7.9250   NaN         S
3            4         1       1    ...     53.1000  C123         S
4            5         0       3    ...      8.0500   NaN         S
'''
# 其中,Survived==1代表这个人活下来了、==0代表没活下来;其他的都是这个人的信息和当时的仓位、票务情况
# 我们只挑选两列,作为预测需要的特征
feature_cols = ['Pclass', 'Parch']
X = df_train.loc[:, feature_cols]
print(X.head())

# 单独提取是否存活的列,作为预测的目标
y = df_train.Survived
print(y.head())

训练模型

# 训练模型
# 创建模型对象
logreg = LogisticRegression()

# 实现模型训练
logreg.fit(X, y)
# 这两列的存活概率
print(logreg.score(X, y))
'''0.6879910213243546'''

# 对于未知数据使用模型
# 找一个历史数据中不存在的数据,(按照这两列去重)
res = X.drop_duplicates().sort_values(by=["Pclass", "Parch"])
print(res)
'''
     Pclass  Parch
1         1      0
54        1      1
27        1      2
438       1      4
9         2      0
98        2      1
43        2      2
437       2      3
0         3      0
7         3      1
8         3      2
86        3      3
167       3      4
13        3      5
678       3      6
'''
# 发现2,4是没有的
# 预测这个数据是否存活
res1 = logreg.predict([[2, 4]])
print(res1)
'''[1],表示存活'''
# # 预测这个数据存活的概率
res2 = logreg.predict_proba([[2, 4]])
print(res2)
'''
[[0.35053893 0.64946107]]
代表存活的概率是0.64946107,死亡的概率是0.35053893
'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值