使用通用的单变量选择特征选择提高Kaggle分数
Kaggle 是全球首屈一指的数据科学网,Kaggle 现在每月提供表格竞赛,为像我这样的新手提供提高该领域技能的机会。因为 Kaggle 提供了一个很好的机会来提高我的数据科学技能,所以我总是期待着这些每月的比赛,并在时间允许的情况下参加。虽然有些人为了获胜而参加每月的比赛,但不幸的是我没有时间投入到一场比赛中,所以我通过这些比赛来编写整洁的代码并提高我的编程技能。
在这篇文章中,我将讨论我如何使用 sklearn 的 GenericUnivariateSelect 函数来提高我最初获得的分数。 GenericUnivariateSelect 是 sklearn 的特征选择工具之一,具有可配置的策略。此函数使用超参数搜索估计器执行单变量特征选择。在这篇文章中,GenericUnivariateSelect 将执行一个测试,只执行最好的十个特征。该函数将以评分函数作为输入并返回单变量分数和 p 函数。
2021 年 8 月表格比赛的问题陈述如下:-
我使用 Kaggle 的免费在线 Jupyter Notebook 为这次比赛创建了程序。 创建程序后,我导入了执行程序所需的库。 我通常只在需要时导入库,但我最初导入的库是 numpy、pandas、os、sklearn、matplotlib 和 seaborn。 Numpy 用于计算代数公式,pandas 用于创建数据帧并对其进行操作,os 进入操作系统以检索程序中使用的文件,sklearn 包含大量机器学习函数,matplotlib 和 seaborn 将数据点转换为 图形表示的数据框:-
导入库并检索程序中使用的文件后,我将这三个文件用 Pandas 读入程序,并将它们命名为train、test和submit:-
然后我分析了目标,发现我正在处理一个回归问题:-
我在训练数据中定义了目标列 loss。 然后我从训练数据中将其删除:-
此时,train和test大小相同,所以我添加了test到train,并把他们合并成一个df:
然后我从combi中删除了id列,因为它不需要执行预测:
现在我通过将每个数据点转换为0到1之间的值来规范化数据,因为这将更容易让模型做出预测:-
当combi经过预处理后,定义自变量和因变量,分别为X和y。y变量由之前定义的目标组成。X变量由combi数据帧到数据帧的长度train组成。
一旦定义了因变量和自变量,我就使用sklearn的GenericUnivariateSelect函数来选择10个最好的列或特性。这样做的原因是,在100列数据上进行训练在计算上是很费力的,因为系统中存在潜在的噪声,以及可以删除的大量冗余数据
一旦数据集的特性被裁剪为10个最好的列,sklearn的train_test_split函数将数据集分割为训练集和验证集:-
现在是选择模型的时候了,在这个例子中,我决定使用sklearn的线性回归进行第一个尝试,训练和拟合数据到这个模型:-
然后在验证集上预测:-
一旦对验证集进行了预测,我就会评估这些预测:-
然后我将验证集的实际值与预测值进行比较:-
然后,我绘制了一张图,将验证集的实际值与预测值进行对比,这张图揭示了一些有趣的结果:-
然后我在测试集上预测:-
预测完成就要提交给Kaggle进行评分的预测。
然后我将提交的数据转换为csv文件
当我将提交的csv文件提交给Kaggle打分时,我的分数达到了7.97分,这比我之前的分数稍好一些
总之,当我尝试不同的特征选择技术时,能稍微提高我的分数。诀窍就是在这场比赛中尝试尽可能多的技巧来获得胜利。还有一些其他的技巧我可以使用,如果时间允许,我可能会尝试一下,看看我是否可以提高分数一点点。
这个程序的代码可以在我的个人GitHub账户中找到,链接在这里:- https://www.kaggle.com/tracyporter/aug-21-genunivariateselect?scriptVersionId=69573546
本文作者:Tracyrenee
使用通用的单变量选择特征选择提高Kaggle分数相关推荐
- 单变量特征选择:Univariate feature selection
sklearn中的单变量特征选择 单变量的特征选择是通过基于一些单变量的统计度量方法来选择最好的特征,比如卡方检测等.Scikit-learn 将单变量特征选择的学习器作为实现了 transform方 ...
- 单变量线性回归模型_了解如何为单变量模型选择效果最好的线性回归
单变量线性回归模型 by Björn Hartmann 比约恩·哈特曼(BjörnHartmann) 找出哪种线性回归模型最适合您的数据 (Find out which linear regressi ...
- 咋筛选变量进入多因素回归 纳入变量 变量选择 类似机器学习的特征选择 cox回归分析cox多因素
在前期推送的内容中,我们介绍了构建多因素回归模型,探讨对结局指标有独立作用的影响因素,就好比侦探破案找出真凶的过程.我们作为研究人员,就像是一名侦探,通过统计学方法及专业知识,在众多的嫌疑人中一一排查 ...
- 光谱特征选择---随机蛙跳变量选择RF
我们已经连续好几期在讲特征变量选择算法,这其中一个很重要的一个原因是:光谱数据的高维冗余性和目标值与少数解释变量之间的相关性,也就是特征解释问题.如何从实际测量的高维光谱数据中选择具有解释能力(特征变 ...
- 特征选取之单变量统计、基于模型选择、迭代选择
目录 单变量统计 方差分析 代码实现 SelectKBest特征选取 递归特征消除(RFE)
- 信用卡评分模型(数据获取+数据预处理+探索分析+变量选择+模型开发+模型评估+信用评分+建立评分系统)
最近两次遇到关于信用卡评分的题目,遂了解一波. Reference: 基于python的信用卡评分模型(超详细!!!) https://www.jianshu.com/p/f931a4df202c h ...
- JavaScript - JavaScript通用表单验证函数(实例)
Check.js JS函数文件 /* *--------------- 客户端表单通用验证CheckForm(oForm) ----------------- * 功能:通用验证所有的表单元素. ...
- 数模笔记_单变量最优化
Date: 2_19 Name: Guo Yehao Theme: Optimality with one variable Reference: 数学建模方法与分析(华章) 从单变量最优化重谈问题分 ...
- 吴恩达《机器学习》学习笔记四——单变量线性回归(梯度下降法)代码
吴恩达<机器学习>学习笔记四--单变量线性回归(梯度下降法)代码 一.问题介绍 二.解决过程及代码讲解 三.函数解释 1. pandas.read_csv()函数 2. DataFrame ...
最新文章
- swift设置启动图不现实_如何通过装饰房屋来开始在Swift中使用增强现实
- java中的几种对象(PO,VO,DAO,BO,POJO)
- 函数参数传递常用的三种方式
- Spring boot 各种入门及问题
- JavaScript中split() 使用方法
- 信足球vs.信上帝——从全球疯世界杯谈起
- argmax函数_Python科学计算库numpy——统计函数
- 用一道面试题考察对闭包的理解
- 雷达数据处理及应用第三版 pdf_数字阵列雷达:零中频接收机的优缺点
- 05 基本数据类型+五大数据类型
- 腾讯qq的授权管理查看页面
- Windows驱动的加载顺序
- long型和int型的区别
- 中国神童13岁免试上大学,极端荣耀后却选择出家为僧!
- 关于C++vector容器内使用reserve函数预留能否被覆盖的问题
- html英文起名字,牛宝宝洋气大方的英文名大全
- SAR成像系列:【9】合成孔径雷达(SAR)成像算法-波数域(omega-K)成像算法[也叫距离徙动(RM)算法](附Matlab代码)
- STM32CubeMX——循迹传感器TCRT5000的使用
- ECMAScript2020 可选链操作符(?.)的应用
- mysql 删除表数据_主外键关联表的数据删除策略
热门文章
- 【网络与系统安全实验】拒绝服务攻击及防御
- Redis对于过期key的处理
- Redis:09-Redis_Jedis实现手机验证码功能
- 任何时候都要保持清醒的头脑
- java println()中_java中system.out.println()是什么意思
- 【运筹优化】ACO蚁群算法求解TSP问题(Java实现)
- java -c_JAVAC 命令使用方法
- 固定收款码是什么,如何开通,聚合支付是什么东西
- 网约车行业格局加速重构 T3出行如何打开增长新通道?
- 英国数学家宣布证明黎曼猜想