网站首页 > 技术文章 正文
上次讲了利用Python实现波士顿房价预测的回归模型,这时小明一脸懵逼,心想回归模型是什么鬼??
(咳咳,敲黑板~科普一下,在机器学习中,根据目标变量(因变量)是否是连续值可以分为回归和分类两种模型)本次就进行一个简单的二分类模型介绍——泰坦尼克号乘客生存预测。
首先还是先导入接下来要用到的Python包
然后导入数据集,因为本次用到的数据集我已预保存到本地电脑,直接读取数据进来即可(数据集下载链接https://www.kaggle.com/c/titanic/data),同样先查看训练集数据长什么样
PassengerId 乘客编号 Survived 是否幸存 Pclass 船票等级 Name 乘客姓名 Sex 乘客性别 Age 乘客年龄 SibSp 兄弟姐妹/配偶数量 Parch 父母/子女数量 Ticket 船票号码 Fare 船票价格 Cabin 船舱 Embarked 登录港口
因为Titanic这个数据集在下载前已经分好了训练集与测试集,我们一起来看下数据的整体情况以便后面做相应处理。
可以看到这次两个数据集存在缺失值(肿么办,老shi我好方)不用怕~可以看到训练集是年龄和船舱两个特征有缺失值,测试集是年龄、船舱和船票价格三个特征存在缺失值,均无异常值。
我们先把训练集和测试集合并起来,方便后面一起做数据处理和特征工程
数据合并完毕,我们看下目标变量Survived数据分布情况,分析正负样本平衡性
0 表示未获救,1 表示获救
可以看到正负样本不是十分平衡,但在这里问题也不大。然后我们再看下各特征数据分布情况,这里只显示了数值型变量
看各特征相关性,这里默认采用皮尔逊相关系数,分类变量的相关性这里也没显示出来
接下来进行缺失值处理,首先对年龄Age进行缺失值填充,这里我们暂时用所有乘客的年龄中位数去填充
登陆港口Embarked用众数填充
而船票价格Fare一般来说与船票等级和登录港口有关,这里我们暂时用按这两者分组后的船票均值来填充
最后是船舱,因为前面我们看到这个特征缺失值占比50%以上,不好处理,所以这里先不填充后面直接剔除处理(老shi你这是不是太简单粗暴了一点~是的!)
接下来是特征工程,首先我们简单分析下各特征发现,SibSp兄弟姐妹/配偶数量与Parch父母/子女数量这两个特征比较相近,可以合并得到一个新变量,即家庭成员数量,另外在西方一般可以根据姓名称呼来判断其社会地位高低,所以我们可以对Name姓名这个特征做一个简单的分类处理,得到一个新特征替换原来特征,这样可能对获救乘客的影响比原来的特征强(老shi,你怎么这么机智又逗逼,让我好嫉妒啊,哈哈~)
然后我们把没有用的特征先剔除再对分类特征数值化后再喂到模型中去
到此数据预处理及特征工程已经简单处理完毕,我们来看下处理后的数据情况
可以看到数据中已经没有缺失值且各特征值均已实现数值化(这里比个,王祖蓝完美兰花指,脑补)接下来我们还是按照一开始的方式进行数据划分,前面891条是训练集,最后418条是测试集
终于到最鸡冻的时刻啦,我们把数据喂到逻辑回归模型(虽然叫回归,但其实是个分类模型,挂羊头卖狗肉懂吗?!)然后我们一起来看看最后的模型结果。
0.96!可以说这个结果很不错了!哈哈,有兴趣可以一起来试下哦
猜你喜欢
- 2025-05-30 跟我一起玩儿转Python之机器学习线性回归实践
- 2025-05-30 小白学习《python编程从入门到实践》,需要注意的点
- 2025-05-30 Python匿名函数详解:从概念到实践
- 2025-05-30 零基础:用 Unsloth 在 Colab 上光速微调 Llama 3.2 模型|小白也能看懂
- 2025-05-30 用Docker打包Python应用的关键要点与实践
- 2025-05-30 Python + Flask 项目开发实践系列《一》
- 2025-05-30 Python资料全家桶—网络爬虫入门到实践,共计4.2G
- 2025-05-30 Python文件读写最佳实践:关键操作的异常处理
- 2025-05-30 python文件读写操作最佳实践——处理大文件时使用迭代或内存映射
- 2025-05-30 你真的用对了吗?7个常被误用的Python内置函数及最佳实践
- 261℃Python短文,Python中的嵌套条件语句(六)
- 261℃python笔记:for循环嵌套。end=""的作用,图形打印
- 260℃PythonNet:实现Python与.Net代码相互调用!
- 255℃Python实现字符串小写转大写并写入文件
- 254℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 110℃原来2025是完美的平方年,一起探索六种平方的算吧
- 94℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 87℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)