当前位置: 首页 > wzjs >正文

中国建设监理业协会网站百度销售岗位怎么样

中国建设监理业协会网站,百度销售岗位怎么样,wordpress编码,嘉兴网站开发📌 机器学习基本模型项目实战:预测泰坦尼克号乘客的生存概率 🚢 项目背景 1912 年 4 月 15 日,泰坦尼克号在处女航中撞上冰山沉没,船上 2224 名乘客和船员中,仅有约 710 人生还。 哪些因素决定了生还几率&…

📌 机器学习基本模型项目实战:预测泰坦尼克号乘客的生存概率

🚢 项目背景

1912 年 4 月 15 日,泰坦尼克号在处女航中撞上冰山沉没,船上 2224 名乘客和船员中,仅有约 710 人生还。
哪些因素决定了生还几率? 年龄?性别?船舱等级?
作为数据科学家,你的任务是分析数据并建立模型,预测某位乘客是否能生还

本项目将贯穿 数据清理 → 可视化分析 → 机器学习建模 → 预测生存概率,让你从零开始完成一个完整的数据科学项目!🚀


📌 1. 获取数据

数据来源

  • 我们使用 Kaggle 泰坦尼克号数据集
  • 下载地址:Titanic - Machine Learning from Disaster
  • 文件train.csv

📌 安装所需工具

pip install pandas numpy seaborn matplotlib scikit-learn

Pandas、NumPy、Seaborn、Matplotlib 是 Python 进行数据分析 & 可视化最常用的四个库,适用于数据处理、统计计算、图表绘制等。

主要用途常见功能
Pandas数据处理读写 CSV、数据清理、数据分析
NumPy数值计算矩阵运算、随机数生成
Seaborn高级可视化统计图表、热图
Matplotlib基础绘图折线图、柱状图、散点图

sklearn(Scikit-learn)是 Python 里最流行的机器学习库,用于构建、训练和评估机器学习模型。它基于 NumPy 和 pandas,提供了数据预处理、分类、回归、聚类、降维等功能。

为什么使用 sklearn?
✅ 封装了常见机器学习算法,只需几行代码即可完成训练和预测
✅ 支持数据预处理(填充缺失值、特征缩放、类别编码等)
✅ 提供超参数调优工具(如 GridSearchCV)
✅ 可用于分类、回归、聚类、降维等各种任务
✅ 与 pandas、matplotlib、seaborn 兼容,易于分析和可视化

📌 导入库

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import RandomForestClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score, confusion_matrix

📌 加载数据

df = pd.read_csv("train.csv")# 查看数据结构
print(df.head())

数据示例

   PassengerId  Survived  Pclass   Sex   Age  SibSp  Parch     Fare  Embarked
0            1        0       3  male  22.0      1      0   7.2500        S
1            2        1       1  female 38.0      1      0  71.2833        C

📌 字段解释

  • Survived:是否生还(0=未生还,1=生还)
  • Pclass:船舱等级(1=头等舱,2=二等舱,3=三等舱)
  • Sex:性别
  • Age:年龄
  • SibSp:兄弟姐妹/配偶数量
  • Parch:父母/子女数量
  • Fare:票价
  • Embarked:登船港口(C = Cherbourg, Q = Queenstown, S = Southampton)

📌 2. 数据清理

📌 查看缺失值

print(df.isnull().sum())

可能发现

Age         177
Cabin       687
Embarked      2

📌 处理缺失值

df["Age"] = df["Age"].fillna(df["Age"].median())  # 用中位数填充年龄
df["Embarked"] = df["Embarked"].fillna(df["Embarked"].mode()[0])  # 用最常见的港口填充
df.drop(columns=["Cabin", "PassengerId", "Name", "Ticket"], inplace=True)  # 删除无关列

📌 3. 数据可视化

📌 乘客生还率

plt.figure(figsize=(6,4))
sns.countplot(x="Survived", data=df, palette="Set1")
plt.title("泰坦尼克号生还 vs. 未生还人数")
plt.show()

观察:生还人数远少于未生还人数。
在这里插入图片描述

📌 不同性别的生还率

plt.figure(figsize=(6,4))
sns.barplot(x="Sex", y="Survived", data=df, palette="pastel")
plt.title("性别 vs. 生还率")
plt.show()

观察女性生还率显著高于男性(“女士优先”)。
在这里插入图片描述

📌 不同船舱的生还率

plt.figure(figsize=(6,4))
sns.barplot(x="Pclass", y="Survived", data=df, palette="muted")
plt.title("船舱等级 vs. 生还率")
plt.show()

观察:头等舱乘客生还率最高,三等舱最低。
在这里插入图片描述


📌 4. 特征工程

特征工程是数据科学和机器学习中的关键步骤,目的是优化数据,使机器学习模型能更好地理解和学习数据的模式。

📌 简单来说:

  • 数据本身无法直接用于机器学习模型,需要进行转换和优化
  • 特征工程是将原始数据转换为更有意义、更能帮助模型学习的形式
  • 好的特征工程可以极大提升模型的准确率

📌 总结
✅ 数据清理 = 确保数据质量,不让模型崩溃
✅ 特征工程 = 提供更有用的数据,提升模型表现

📌 处理类别变量

df["Sex"] = df["Sex"].map({"male": 0, "female": 1})
df["Embarked"] = df["Embarked"].map({"C": 0, "Q": 1, "S": 2})

📌 划分训练集和测试集

X = df.drop("Survived", axis=1)  # 特征 #删除 Survived 列,保留所有特征列
y = df["Survived"]  # 目标值X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

📌 作用:
train_test_split 是 scikit-learn(sklearn)库中的方法,用于拆分训练集和测试集。
将 X 和 y 拆分为训练集(80%)和测试集(20%)。
test_size=0.2 表示 20% 数据作为测试集,80% 用于训练模型。
random_state=42 保证每次拆分结果相同,方便实验对比。

📌为什么要拆分训练集和测试集
训练集(X_train, y_train)
用于训练机器学习模型
模型从训练数据中学习规律
测试集(X_test, y_test)
用于评估模型的泛化能力
不能用训练数据评估,否则会过拟合!
📌 举例
如果用训练数据评估模型,可能会得到 99% 准确率,但这只是“记住”了数据,并无法对新数据进行准确预测(过拟合)。
使用测试数据可以真正衡量模型是否能推广到新数据上。


📌 5. 训练不同模型

在 sklearn 中,我们可以使用 不同的机器学习模型 来训练数据:

📌 逻辑回归

适用场景

  • 逻辑回归适用于二分类任务(如生还 vs. 未生还)
  • 适用于数据线性可分的情况
  • 解释性强,可以提供各个特征对结果的影响权重

✅ 逻辑回归能提供较快、稳定的分类,但可能无法捕捉复杂的非线性关系。

model_lr = LogisticRegression()
model_lr.fit(X_train, y_train)
y_pred_lr = model_lr.predict(X_test)accuracy_lr = accuracy_score(y_test, y_pred_lr)
print(f"逻辑回归准确率: {accuracy_lr:.2f}")

输出示例:

逻辑回归准确率: 0.81

📌 决策树

适用场景

  • 决策树适用于非线性数据(如不同等级船舱对生还率的影响可能是非线性的)
  • 具有可解释性,可以绘制树状图来分析决策过程
  • 但容易过拟合,深度太大会记住训练数据,而泛化能力下降
model_dt = DecisionTreeClassifier(max_depth=4)
model_dt.fit(X_train, y_train)
y_pred_dt = model_dt.predict(X_test)accuracy_dt = accuracy_score(y_test, y_pred_dt)
print(f"决策树准确率: {accuracy_dt:.2f}")

输出示例:

决策树准确率: 0.80

📌 随机森林

适用场景

  • 随机森林是集成学习方法,使用多棵决策树进行预测
  • 对抗过拟合:相比单个决策树,随机森林更稳定,泛化能力更强
  • 适用于高维度数据,能自动选择重要特征

✅ 随机森林通常比单一决策树更稳健,适用于大部分分类任务!

model_rf = RandomForestClassifier(n_estimators=100, random_state=42)
model_rf.fit(X_train, y_train)
y_pred_rf = model_rf.predict(X_test)accuracy_rf = accuracy_score(y_test, y_pred_rf)
print(f"随机森林准确率: {accuracy_rf:.2f}")

输出示例:

随机森林准确率: 0.82

模型对比

模型准确率
逻辑回归0.81
决策树0.80
随机森林0.82

📌 哪个模型表现最好?


📌 6. 结果分析

📌 查看随机森林模型的混淆矩阵

cm = confusion_matrix(y_test, y_pred_rf)
sns.heatmap(cm, annot=True, cmap="Blues", fmt="d")
plt.xlabel("预测值")
plt.ylabel("真实值")
plt.title("随机森林混淆矩阵")
plt.show()

在这里插入图片描述

解释

  • 左上角 TN(True Negative)= 90:真实类别是 0,模型也预测为 0(正确分类)
  • 右上角 FP(False Positive)= 15:真实类别是 0,但模型错误地预测成 1(误报)
  • 左下角 FN(False Negative)= 18:真实类别是 1,但模型错误地预测成 0(漏报)
  • 右下角 TP(True Positive)= 56:真实类别是 1,模型也预测为 1(正确分类)

📌后续可以对混淆矩阵作进一步分析!


📌 7. 总结

📌 你学到了什么?
数据清理:处理缺失值、转换类别变量
可视化分析:不同因素(性别、船舱)对生还率的影响
机器学习模型训练:逻辑回归、决策树、随机森林
模型对比:哪个模型最适合生存预测?

http://www.dtcms.com/wzjs/201998.html

相关文章:

  • 南昌网站建设费用百度关键词推广公司
  • 国外做ae模板网站大全网站seo排名优化
  • 江苏省住房和城乡建设委员会官方网站长沙网站se0推广优化公司
  • 建网站手机软件淘宝摄影培训推荐
  • windows 做网站服务器吗在百度上怎么打广告
  • 怎样设计网站模板百度pc网页版登录入口
  • 车子网站旺道seo推广有用吗
  • 哈尔滨seo网站排名网站的优化公司
  • 装修公司展厅布置方案谷歌seo是什么意思
  • 天河手机网站建设百度地图导航
  • 有域名有网站怎么解决办法谷歌引擎搜索
  • 内蒙建设信息网站常州网络推广哪家好
  • 仁怀网站建设不好出手英文外链平台
  • 跟业务合作做网站给多少提成免费域名申请网站
  • 电商网站开发的目的是中国职业培训在线官网
  • 深圳网站优化计划菏泽地网站seo
  • 温州网站建设费用品牌宣传策略有哪些
  • 下载空间大的网站建设如何制作网页最简单的方法
  • wordpress博客一直发布失败厦门seo推广
  • 襄阳网站定制谷歌外贸
  • 单页网站 html岳阳网站设计
  • 做国外产品描述的网站青岛网站建设策划
  • 做基因互作的网站网上交易平台
  • 网站开发技术考试题百度网站链接
  • 百度打网站名称就显示 如何做百度快照下载
  • 用织梦做网站费用近日发生的重大新闻
  • 东莞网站优化一般多少钱百度投诉中心24人工客服电话
  • wordpress企业站制作广州抖音推广公司
  • 网站建设很简单广告优化师发展前景
  • 网站建设手机端是什么意思企业文化是什么