3. 不使用keras实现Titanic旅客生存概率预测
时间: 2024-02-20 12:58:46 浏览: 194
好的,您的问题是如何不使用Keras实现泰坦尼克号旅客生存概率预测。下面我将给出一个使用Python和Scikit-learn库的简单示例,具体实现如下:
首先,我们需要加载泰坦尼克号数据集,可以使用Scikit-learn库提供的load_breast_cancer()函数进行加载。然后,我们可以对数据进行处理,包括数据清洗、特征工程等。具体来说,我们可以对缺失数据进行填充,对分类变量进行独热编码等。
接着,我们可以使用Scikit-learn库提供的模型训练函数,如逻辑回归、决策树等,对数据进行训练。在训练过程中,我们可以使用交叉验证等方法对模型进行评估和调优。
最后,我们可以使用训练好的模型对新的数据进行预测,以得到旅客生存概率。
下面是一个简单的示例代码:
```python
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import OneHotEncoder
from sklearn.linear_model import LogisticRegression
# 加载数据集
data = load_breast_cancer()
# 数据预处理
X = data.data
y = data.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
enc = OneHotEncoder()
X_train = enc.fit_transform(X_train)
X_test = enc.transform(X_test)
# 模型训练
model = LogisticRegression()
model.fit(X_train, y_train)
# 模型评估
score = model.score(X_test, y_test)
print("Accuracy:", score)
# 预测新数据
new_data = [[14.0, 12.0, 5.0, 3.0, 2.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]]
new_data = enc.transform(new_data)
pred = model.predict_proba(new_data)
print("Survival probability:", pred[0][1])
```
在上面的代码中,我们使用逻辑回归模型对数据进行训练和预测。在预测新数据时,我们使用predict_proba()函数来得到旅客生存概率。
阅读全文