Python实现:利用GBDT产生新特征(GBDT+Linear Regression)

斯坦福CS229机器学习课程2026版:从理论推导到代码实现的完整学习指南 机器学习作为人工智能的核心技术,其本质是通过算法让计算机从数据中学习规律并做出预测。其原理基于统计学、优化理论和概率论,通过构建模型最小化预测误差来实现智能决策。这项技术的价值在于能够处理海量数据、发现复杂模式,广泛应用于推荐系统、自然语言处理、计算机视觉等领域。对于希望深入理解算法本质而非仅停留在调包层面的开发者而言,掌握模型背后的数学推导与实现能力至关重要。斯坦福大学的CS229课程正是为此设计的经典理论课程,它系统覆盖从线性模型、支持向量机到神经网络等核心算法,强调通过公式推导和代码实践来构建扎实的机 阅读详情

Python实现:利用GBDT产生新特征(GBDT+Linear Regression)


最近实习接了个任务,利用GBDT产生新特征,加入到已有特征中,再训练线性模型,预测价格。


算法思想:

训练集上,用已有特征训练GBDT模型,然后利用GBDT模型学习到的树来构造新特征,最后把这些新特征加入原有特征一起训练模型。构造的新特征向量是取值0/1的,向量的每个元素对应于GBDT模型中树的叶子结点。当一个样本点通过某棵树最终落在这棵树的一个叶子结点上,那么在新特征向量中这个叶子结点对应的元素值为1,而这棵树的其他叶子结点对应的元素值为0。新特征向量的长度等于GBDT模型里所有树包含的叶子结点数之和。

画图说明一下:

 

虚线区域为x经过GBDT模型输出的新特征。


Python实现:

算法的难点在于如何获得GBDT模型每个叶子节点的输出状况,而这可以通过sklearn包中GradientBoostingRegressor的apply函数实现,其原理如下:

 

上面为GBDT模型下的三棵树,红色部分为某一样本x经过GBDT模型apply函数后的输出,为一个数组(4,7,6),但是(4,7,6)这样的数字是不能直接作为特征作为线性模型的输入的,因为这些数字只是一个位置的信息,并没有量的含义,所以需要用sklearn中的onehot编码(pandas中是dummy数据)将其转化为01码。


代码:

import numpy as np
import pandas as pd
from sklearn import linear_model
from sklearn.preprocessing import OneHotEncoder
from sklearn.ensemble import GradientBoostingRegressor
gbr=GradientBoostingRegressor()#x[i0]为训练样本输入,y[i0]为训练样本输出
gbr.fit(x[i0], y[i0])#训练GBDT模型
enc = OneHotEncoder()
enc.fit(gbr.apply(x[i0]))#将位置码转化为01码
new_feature_train=enc.transform(gbr.apply(x[i0]))
new_feature_train=new_feature_train.toarray()#将转化后的新特征转化为np数组形式
new_train=np.concatenate([x[i0],new_feature_train],axis=1)#与原特征拼接
#x[i1]和y[i1]为测试的输入和输出
new_feature_test=enc.transform(gbr.apply(x[i1]))#产生测试集对应的新特征
new_feature_test=new_feature_test.toarray()
new_test=np.concatenate([x[i1],new_feature_test],axis=1)
 
lr = linear_model.Ridge(alpha=1.5)
lr.fit(new_train, y[i0])#训练线性模型
print (abs(lr.predict(new_train) - y[i0])/y[i0]).mean()#计算mae
print (abs(lr.predict(new_test) - y[i1])/y[i1]).mean()

机器学习入门:四大基石算法原理与Python实战 最近在辅导几位研一的同学入门机器学习,发现一个普遍问题:面对吴恩达课程、西瓜书和各种开源项目,大家容易陷入“学了很多,但不知道核心是什么”的困境。机器学习算法繁多,但研一阶段时间有限,更重要的是建立对模型“从数据到决策”这一核心过程的直觉理解,并为后续的深度学习打下坚实基础。 本文基于个人学习和项目经验,提炼出机器学习中四个最核心、最具代表性的算法。掌握它们,你不仅能应对大部分课程作业和基础竞赛,更能深刻理解模型工作的通用范式。我们将用约10小时的集中学习,通过Python代码实战,彻底吃透这四大算法,并清 阅读详情

相关推荐

心力衰竭预测:证据关联特征工程Pipeline实战

机器学习建模中,特征工程是决定模型上限的关键步骤,而Pipeline则通过固化数据处理流程,从源头避免训练与预测不一致带来的数据泄露。在医疗数据分析场景下,如何让特征工程既有临床依据又能工程化落地?心力衰竭预测任务给出了经典范例:基于医学证据构造低钠、肾功能异常及射血分数分型等特征,再借助Scikit-learn Pipeline与ColumnTransformer实现标准化、编码与建模的自动串联。这一思路不仅提升了模型的可解释性与可复现性,也为小样本医学数据的风险预测提供了可审计的工程方案。本文围绕证据关

weixin_30667649的博客 422

转:利用GBDT模型构造新特征

说明:转载自https://breezedeus.github.io/2014/11/19/breezedeus-feature-mining-gbdt.html 实际问题中,可直接用于机器学习模型的特征往往并不多。能否从“混乱”的原始log中挖掘到有用的特征,将会决定机器学习模型效果的好坏。引用下面一句流行的话: 特征决定了所有算法效果的上限,而不同的算法只是离这个上限的距离不同

cht5600的博客 1830

最小化均方误差(MSE)与频繁主义建模实战指南

最小化均方误差(MSE)是预测建模中最基础且广泛应用的优化目标,其核心在于通过平方误差量化预测偏差,兼顾对大错误的敏感性与数学可解性;在频繁主义框架下,MSE估计具有无偏性、有效性与一致性等严格统计保障,适用于需稳定复现与可验证结果的工程场景;该方法天然适配高斯噪声假设,并与最大似然估计一致,广泛用于线性回归、传感器校准、风险评估与实时决策系统;本文结合正规方程推导、偏差-方差分解、正则化调优及生产监控,系统呈现从理论原理到工业级落地的完整技术链条。

weixin_34323858的博客 393

python回归模型_线性回归模型(Linear Regression)及Python实现

标签:线性回归模型(Linear Regression)及Python实现1.模型对于一份数据,它有两个变量,分别是Petal.Width和Sepal.Length,画出它们的散点图。我们希望可以构建一个函数去预测Sepal.Length,当我们输入Petal.Width时,可以返回一个预测的Sepal.Length。从散点图可以发现,可以用一条直线去拟合,这时我们可以构建一元线性回归模型:hθ(...

weixin_39765796的博客 338

房屋售价预测在房地产估价与风控中的应用

房价预测是数据科学中的经典回归问题,Kaggle的"House Prices"竞赛为此提供了理想的学习平台。该竞赛要求基于79项房屋特征预测售价,采用RMSLE评估指标,重点关注相对误差而非绝对金额差异。数据集包含数值型、分类型等多种特征,适合从简单基准到复杂模型的多种方法探索:统计基准建立底线,线性模型强调可解释性,而树模型(如XGBoost)能自动处理非线性关系。该竞赛不仅训练回归建模能力,更培养将机器学习应用于实际商业问题的完整思维,其方法论可扩展至各类资产估价场景。

Mr数据杨 520

MTK平台LCD驱动开发实战:从零开始点亮你的Android屏幕

本文详细介绍了在MTK平台进行Android LCD驱动开发的完整流程。从理解LK与Kernel双核驱动框架入手,手把手讲解驱动结构体、屏幕参数配置、初始化序列编写以及PLL_CLOCK计算等核心步骤,并提供了系统集成配置与实用的调试避坑指南,帮助开发者高效点亮新屏幕。

terraform7cloud的博客 292

吴恩达机器学习作业-Linear Regression(Python实现)

第一次开始接触机器学习,加油鸭!!!

你来看我啦! 2215

YOLOv8损失函数升级:从CIoU到Wise-IoU v3的实战调优与避坑指南

本文详细介绍了如何将YOLOv8的损失函数从CIoU升级到Wise-IoU v3,以提升目标检测性能,特别是在小目标检测和样本不均衡场景下的表现。通过实战调优步骤和避坑指南,帮助开发者有效应用Wise-IoU v3的动态聚焦机制和单调性控制,显著提升模型精度和训练稳定性。

weixin_33737774的博客 590

Python机器学习线性回归模型LinearRegression()

from sklearn import linear_model # 线性模型 前提准备好数据,推荐糖尿病数据集,但本案例是关于金融数据集,同样具有强相关性。 数据处理再次不多解释,然后选择切片训练集和测试集,一般数据量巨大9:1,数据量少8:2 # 训练集与测试集 # Split the data into training/testing sets data_X_train = data_X[:-20] data_X_test = data_X[-20:] # Split the targe.

qq_39154864的博客 2858

特征提取 Features Extraction

介绍了特征提取的基本概念,从分类变量,文本信息和图片信息中进行特征提取的方法,以及实现特征提取的类库

JasonH2021的博客 1万+

uniapp:人脸识别功能,已测试,直接复制源码,支持H5,APP安卓。不依赖任何js,SDK。

uniapp人脸识别功能,已测试可直接复制源码,支持H5,APP安卓。不依赖任何js,SDK。 APP效果图:

sunluyi的博客 2226

线性回归 特征扩展的原理与python代码的实现

举个例子,多项式扩展可以将一个包含 n 个特征的样本向量 x 扩展为一个包含 k 个特征的样本向量,其中 k 可以是 n 的任意多项式。例如,如果我们使用二次多项式扩展,可以将样本向量[x1, x2]扩展为一个包含原始特征和交叉项的新特征向量,例如 [x1, x2, x1^2, x2^2, x1*x2]。在多项式扩展后,我们可以使用线性回归模型来拟合扩展后的数据,并计算模型的拟合误差来评估模型的性能。在线性回归中,多项式扩展是种比较常见的技术,可以通过增加特征的数量和多项式项的次数来提高模型的拟合能力。

Hello Word 1746

1、CUDA 编程基础

GPU计算的发展历程与重要性。首先回顾了计算机技术的发展,特别是摩尔定律的影响,强调了计算能力的快速提升。然而,随着晶体管尺寸的缩小和频率的停滞,单线程性能增长放缓。为了继续提升性能,多核处理器开始普及,促使软件开发者开始考虑并行计算。介绍了延迟导向设计和吞吐量导向设计的概念,CPU和GPU分别代表了这两种设计方法。GPU是吞吐量导向的,拥有众多弱小的ALU,通过流水线处理提高算术吞吐量。GPU的成功在于其高并行性和高吞吐量,以及能够分摊高昂的固定成本的大量销售额。

Justinyh的博客 580

林轩田 机器学习基石 作业4 岭回归(Regularization for linear regression) 15题 python2.7

林轩田 机器学习基石 作业4 岭回归(Regularization for linear regression) 15题 python2.7 其余几个涉及到代码的题目基本一样,这里就不在给出代码来了 同时在《机器学习实战》这本书中也有关于岭回归的代码,大家可以参考一下 训练集来自 https://www.csie.ntu.edu.tw/~htlin/mooc/datasets/mlfound_al...

The Circle 441

某瓜数据app 获取达人直播商品信息接口 Sign

某瓜数据app 获取达人直播商品列表接口 Sign

自成背后的博客 6039

2026年江苏省职业院校技能大赛高职组“软件测试”赛项智能体辅助测试参考答案

2026年江苏省职业院校技能大赛高职组“软件测试”赛项智能体辅助测试参考答案

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 1334

sklearn 常用 分类器皿

KNN Classifier from sklearn.neighbors import KNeighborsClassifier clf = KNeighborsClassifier() clf.fit(train_x, train_y) Logistic Regression Classifier from sklearn.linear_model import LogisticRegres...

qq_39871498的博客 172

基于Python的雪球网投资组合数据爬取与分析实战:从入门到精通

在当今数字化投资时代,数据已成为投资者最重要的资产之一。雪球网作为中国领先的投资社交平台,汇聚了大量优质的投资组合数据,这些数据对于量化投资研究和个人投资决策具有重要价值。本文将详细介绍如何使用Python最新技术栈构建一个高效、稳定的雪球网投资组合爬虫,并深入分析获取的数据。投资组合持仓明细及变动历史投资收益率曲线与风险指标投资者操作策略与调仓频率热门行业与个股关注度。

2201_76125261的博客 920

NetworkX 2.4 版本全解析:新算法矩阵、Python 3.8 支持与 pytest 测试迁移

NetworkX 2.4 是 2019 年 10 月发布的重要版本,它不仅是最后一个支持 Python 3.5 的发行版,也首次引入了大批沿用至今的核心算法:从 k-truss、onion decomposition 到 ISMAGS 子图同构、最小权重二分图完美匹配等。本文以官方发布说明为主线,结合当前仓库源码逐项验证这些新功能的实现位置与使用方式,帮助你理解这一版本为 NetworkX 生态带

gitblog_00647的博客 795

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

神经网络 python sklearn_Python-sklearn常用算法分类以及调用列表

总的来说,Sklearn可实现的函数或功能可分为以下几个方面:分类算法回归算法聚类算法降维算法文本挖掘算法模型优化数据预处理最后再说明一下可能不支持的算法(也可能是我没找到,但有其他模块可以实现)分类算法线性判别分析(LDA)>>> from sklearn.discriminant_analysis import LinearDiscriminantAnalysis >&...

weixin_39758953的博客 1104

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Python机器学习:从零基础到项目实战

当您翻开此书,您正踏入一场数据与智慧的修行。机器学习,并非冰冷的符码,而是机器模拟人类洞察世界的法门。本书将带您,以Python为舟,泛游于算法之海。我们不只传授“术”,更探求其后的“道”——从数据的生灭流转中观照规律,于模型的迭代演进里体悟得失。愿您合上书卷时,收获的不仅是驾驭数据的技能,更有一双洞悉复杂、化繁为简的“智慧之眼”。现在,让我们一同启程。

YunWisdom 968

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

用Llama-3.1做回归任务:LLM在住房价值评估中的工程实践

大语言模型(LLM)通常被用于文本生成、分类或问答,但其在结构化数值预测任务中同样具备独特优势。回归任务作为机器学习基础范式,核心在于建立输入特征与连续目标值之间的可解释映射关系;LLM凭借强大的上下文建模与多源信息融合能力,可天然处理结构化参数与非结构化文本混合的复杂输入。技术价值体现在突破传统规则引擎的嵌套爆炸瓶颈、消化维修单/勘查报告等自由文本,并同步输出分数与政策依据,满足‘人在环路’的业务可信要求。典型应用场景包括住房价值评估、保险精算定价、设备残值预测等需强合规性与可审计性的领域。本文聚焦LLM

cuanji3287的博客 430

机器学习集成学习完全手册:从 Bagging 到 XGBoost 的 10 大算法实战(12000字·24 段代码·11 张图表)

集成学习因其卓越的性能,在各类机器学习竞赛(如Kaggle)和工业界应用中占据统治地位。金融风控:随机森林、XGBoost常用于信用评分和欺诈检测,因其能有效处理非线性关系且结果相对可解释。推荐系统:GBDT系列算法能够很好地学习用户和物品的复杂特征交互,用于CTR预估。计算机视觉:虽然深度学习是主流,但在某些特征明确的场景(如医疗图像分析),集成方法仍作为强基线或融合手段。结构化数据挖掘:对于表格型数据,XGBoost、LightGBM通常是首选模型。总结。

热爱技术与前沿创新,深耕科技领域,在科创中精进自我;探索技术乐趣,分享技术干货与成长心得,以技术为伴,热爱生活,在科创与生活中双向成长。 554

少女Q的量化交易之路 #week6 之一

week4,week5忙成狗,做了差不多3个project,2个coding assignment, 信号系统期中考试,开了1300km去了趟新奥尔良。即使现在还是欠了一个due,下周还有个deep learning的考试。嘛…不过本来想做的职业就和学的很相关了,今天把STA5635 Applied Machine Learning按照作业过一遍再。 HW1 ...

某Q的博客 348

Logistic回归本质是分类模型:Sigmoid与最大似然的工程解构

Logistic回归虽名含‘回归’,实为经典的二分类算法,其核心在于通过线性组合构建预测器,再经Sigmoid函数映射为概率输出。该过程本质上是广义线性模型(GLM)在伯努利响应下的特例,损失函数由最大似然估计自然导出交叉熵,而非均方误差。技术价值体现在可解释性强、训练稳定、支持统计推断(如优势比、Wald检验),且与特征工程高度兼容。典型应用场景包括风控评分、医学诊断、点击率预估等需概率校准与业务归因的领域。本文聚焦于厘清命名误区,深入剖析Sigmoid函数的数值特性、最大似然估计的统计根基,以及从线性预

weixin_30855099的博客 430

岭回归与Lasso回归:解决过拟合与特征选择的实战指南

在机器学习与数据分析中,过拟合和多重共线性是线性模型常见的挑战,它们会导致模型在训练集上表现优异而在测试集上泛化能力差。正则化技术通过向损失函数添加惩罚项,在模型复杂度和拟合精度之间寻求平衡,从而提升模型的稳定性和可解释性。岭回归采用L2惩罚,使所有系数均匀收缩,擅长处理特征间多重共线性;Lasso回归采用L1惩罚,能将不重要特征的系数压缩至零,实现自动特征选择,尤其适用于高维数据。这两种方法的核心在于通过交叉验证优化超参数λ,以控制正则化强度。掌握岭回归和Lasso回归,不仅能有效应对过拟合问题,还能为特

weixin_34262482的博客 352
上一篇: 数据挖掘一般流程(数据清洗,特征提取,建模,调参)
西电校草
博客等级 码龄13年 246粉丝 19原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值