本博客记录一下自己的Kaggle入门题目——Titanic。只弄了一天,特征工程做得比较草率,结果只有0.76+,不过主要是为了体验一下Kaggle竞赛的流程,以及熟悉一下Kaggle的使用。

目录

  • 1.题目相关
  • 2.特征工程
  • 3.随机森林+调参
  • 4.逻辑回归
  • 5.其他模型

1.题目相关

原题地址:https://www.kaggle.com/c/titanic/overview
数据:https://www.kaggle.com/c/titanic/data,数据的介绍页面上已经十分详尽,本博客就不赘述。
原题数据介绍中提到的特征工程处理我觉得挺好的(虽然我并没有完全采纳0-0),地址在这里:https://triangleinequality.wordpress.com/2013/09/08/basic-feature-engineering-with-the-titanic-data/
除此之外可以浏览一下kernels :https://www.kaggle.com/c/titanic/kernels,kernels是我认为Kaggle最亮眼的地方,可以在这里收到很多小tips的启发。
博主代码地址:https://github.com/AlannahYYL/titanic_mine

2.特征工程

正常情况下要先把数据可视化下看下每一列的和生还结果的相关性,已经进行数据分布分析。但是我大都省略了0-0,以下是我的特征处理:
首先合并train和test,方便获取一些列的统计信息。然后对数据进行初步观测,包括查看空值情况,方便后续填充。

train_csv = pd.read_csv(train_csv_path)
test_csv = pd.read_csv(test_csv_path)
#合并csv文件,进行数据清洗
total_csv = [train_csv,test_csv]
total_csv = pd.concat(total_csv)
total_csv.to_csv(total_csv_path,index=None)
#初步分析及填充
print(train_csv.info()) #打印摘要
print(train_csv.describe()) #打印描述性统计信息
print(train_csv.isnull().sum())#打印train空值数量
print(test_csv.isnull().sum())#打印test空值数量 Fare有1个空值
age_mode = float(total_csv['Age'].dropna().mode())#年龄众数 #24
embarked_mode = str(total_csv['Embarked'].dropna().mode())# 启航港 S
fare_mean = float(total_csv['Fare'].dropna().mean()) #旅客票价平均数 #33.29

接下来对要使用的特征进行处理:
Sex:

接下来对要使用的特征进行处理:
Sex:
def replace_Sex(x):if x=="male":return 0else:return 1
train_df['Sex'] = train_df['Sex'].apply(replace_Sex)
test_df['Sex'] = test_df['Sex'].apply(replace_Sex)

Age:

def replace_Age(x):if x == 'NA':x= age_modeif float(x

Kaggle入门——Titanic+随机森林(调参)+逻辑回归相关推荐

  1. Kaggle竞赛PetFinder日记,第2天:随机森林,调参

    使用随机森林,调参,类似这样,找到最大点,结果稍微提高了一两个百分点,Train内测试都在4.0以上了. 由于xgboost在我机器上跑的慢,所以,不再选用. 加上网上找来的各省人口,人均GDP数据 ...

  2. 随机森林调参 - python

    文章目录 1.一般的模型调参原则 2.随机森林的随机性体现在哪几个方面? 2.1 数据集的随机选取 2.2 待选特征的随机选取 3.为什么使用随机森林? 4.随机森林的构建过程 5.随机森林优缺点总结 ...

  3. 机器学习sklearn实战-----随机森林调参乳腺癌分类预测

    机器学习sklearn随机森林乳腺癌分类预测 机器学习中调参的基本思想: 1)非常正确的调参思路和方法 2)对模型评估指标有深入理解 3)对数据的感觉和经验 文章目录 机器学习sklearn随机森林乳 ...

  4. 随机森林原理_机器学习(29):随机森林调参实战(信用卡欺诈预测)

    点击"机器学习研习社","置顶"公众号 重磅干货,第一时间送达 回复[大礼包]送你机器学习资料与笔记 回顾 推荐收藏>机器学习文章集合:1-20 机器学习 ...

  5. 基于scikit-learn的随机森林调参实战

    写在前面 在之前一篇机器学习算法总结之Bagging与随机森林中对随机森林的原理进行了介绍.还是老套路,学习完理论知识需要实践来加深印象.在scikit-learn中,RF的分类类是RandomFor ...

  6. python 随机森林调参_Python机器学习实践:随机森林算法训练及调参-附代码

    原标题:Python机器学习实践:随机森林算法训练及调参-附代码 文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 来源 | 博客园 作者 | 战争热诚 ...

  7. sklearn随机森林调参小结

    转自:https://www.cnblogs.com/pinard/p/6160412.html 在Bagging与随机森林算法原理小结中,我们对随机森林(Random Forest, 以下简称RF) ...

  8. python 随机森林调参_python的随机森林模型调参

    一.一般的模型调参原则 1.调参前提:模型调参其实是没有定论,需要根据不同的数据集和不同的模型去调.但是有一些调参的思想是有规律可循的,首先我们可以知道,模型不准确只有两种情况:一是过拟合,而是欠拟合 ...

  9. 随机森林调参_机器学习-模型调参利器 gridSearchCV(网格搜索)

    在机器学习模型中,需要人工选择的参数称为超参数.比如随机森林中决策树的个数,人工神经网络模型中隐藏层层数和每层的节点个数,正则项中常数大小等等,他们都需要事先指定.超参数选择不恰当,就会出现欠拟合或者 ...

  10. scikit-learn随机森林调参小结

    https://www.cnblogs.com/pinard/p/6160412.html

最新文章

  1. Windows下删除Kafka中某个Group
  2. 《HTML5 Canvas开发详解》——1.7 2D上下文及其当前状态
  3. 深度探秘 Java 8 函数式编程(下)
  4. win下php5.4安装ffmpeg-php扩展
  5. require 动态加载_require,exports,module.exports和import,export,export default
  6. Eclipse对类固醇的重构
  7. mac java 版本_Mac 下 Java 多版本切换
  8. async和await用法
  9. oracle中的函数
  10. php中文网是什么需要框架,框架是什么?
  11. 强烈推荐:9 款用起来超爽的编程字体!
  12. 推荐一个app,收纳杭州最全登山地图!附亲测过的亲子徒步路线推荐
  13. python — 二手房
  14. 对给git配置邮箱和用户名的理解
  15. WLAN与WiFi的区别和联系
  16. 健康小贴士之缓解眼睛疲劳的方法
  17. 所以小学把基础的数理逻辑和ZFC集论,基数序数超滤模型论学好,大有裨益…...
  18. 将一个文件夹下的MP4文件合并为一个
  19. 为知笔记 | 快速收集有价值的网页,微博,邮件!
  20. Zeal--一款支持207个离线文档的浏览器

热门文章

  1. GSM的PVT Fail
  2. 怎么就这么喜欢测软件呢?—— Google Calendar农历问题
  3. 高可用架构设计——深入剖析分布式高可用架构的关键技术和实战经验
  4. DC-6 靶机渗透测试-activity-monitor插件漏洞_nmap提权等
  5. openpose实时多人2D姿态估计
  6. 收银技术周刊第二期硬件篇--各大收银软件流畅运行最低硬件配置一览表
  7. FOXBORO P0926KP控制器
  8. android+仿ios毛玻璃,【iOS 开发】实现毛玻璃(高斯模糊)效果
  9. float32转float16
  10. SHGetFileInfo()获取系统图标方法