機器學習-CatBoost

參考書籍:《機器學習-公式推導和代碼實現》

官方文檔提供的原生接口代碼參考書籍的P187~P188

簡介

全稱是Categorical + Boosting,由俄羅斯搜索引擎巨頭Yandex于2017年提出。突出的優勢是在于可以高效地處理數據中的類別特征

ML中對類別特征的處理方法

硬編碼

  • 對類別特征進行數值映射,有多少類別就有多少數值。適用于類別特征取值有明顯的“順序性”,如學歷特征取值為“高中”、“本科”、“碩士研究生”和“博士研究生”

one-hot編碼

類別特征的取值較多的話,特征會比較稀疏,增加訓練負擔。折中的方式:將類別數目進行重新歸類,降低類別數目后再進行one-hot編碼

目標變量統計(target statistics,TS)

計算每個類別對于目標變量的期望值,并將類別特征轉換為新的數值特征。CatBoost在常規TS的基礎上做了改進。

模型詳解

分為處理類別變量的目標變量統計、特征組合和排序提升算法、其它這4個緯度進行介紹

目標變量統計

維度內容
目標更好地處理類別特征
思路常規的TS算法:對類別對應的標簽平均值進行替換。缺點:訓練集、測試集會因為數據分布不一樣而產生條件偏移問題CatBoost:增加先驗項,用以減少噪聲、低頻類別型數據對數據分布的影響。提供的方法有holdout TS、leave-one-out TS、ordered TS等幾種改進的TS算法

類別特征組合

維度內容
目標對類別特征之間的組合進行篩選,避免類別特征數量稱指數及增長,而且避免了聯合信息的丟失。比如,考慮用戶ID、廣告主題之間的聯合信息
思路采用貪心的策略考慮特征的組合將當前樹的所有組合、類別特征與數據集中的所有類別特征相結合,并將新的類別組合型特征動態地轉換為數值特征

    排序提升算法(order boosting)

    維度內容
    目標解決預測偏移(predict shift)
    相關概念預測偏移:訓練樣本的分布和測試樣本的分布之間產生的偏移
    思路采用基于ordered TS的排序提升算法

    其它

    基分類器

    相比于GBDT、XGBoost、LightGBM,采用對稱樹作為基分類器

    1. 對稱樹:在樹同一層,分裂標準相同,具有平衡、不宜過擬合、大大縮短測試時間特點

    多GPU訓練

    提供多GPU訓練加速支持

    結尾

    親愛的讀者朋友:感謝您在繁忙中駐足閱讀本期內容!您的到來是對我們最大的支持??

    正如古語所言:"當局者迷,旁觀者清"。您獨到的見解與客觀評價,恰似一盞明燈💡,能幫助我們照亮內容盲區,讓未來的創作更加貼近您的需求。

    若此文給您帶來啟發或收獲,不妨通過以下方式為彼此搭建一座橋梁: ? 點擊右上角【點贊】圖標,讓好內容被更多人看見 ? 滑動屏幕【收藏】本篇,便于隨時查閱回味 ? 在評論區留下您的真知灼見,讓我們共同碰撞思維的火花

    我始終秉持匠心精神,以鍵盤為犁鏵深耕知識沃土💻,用每一次敲擊傳遞專業價值,不斷優化內容呈現形式,力求為您打造沉浸式的閱讀盛宴📚。

    有任何疑問或建議?評論區就是我們的連心橋!您的每一條留言我都將認真研讀,并在24小時內回復解答📝。

    愿我們攜手同行,在知識的雨林中茁壯成長🌳,共享思想綻放的甘甜果實。下期相遇時,期待看到您智慧的評論與閃亮的點贊身影?!

    萬分感謝🙏🙏您的點贊👍👍、收藏?🌟、評論💬🗯?、關注??💚~?


    自我介紹:一線互聯網大廠資深算法研發(工作6年+),4年以上招聘面試官經驗(一二面面試官,面試候選人400+),深諳崗位專業知識、技能雷達圖,已累計輔導15+求職者順利入職大中型互聯網公司。熟練掌握大模型、NLP、搜索、推薦、數據挖掘算法和優化,提供面試輔導、專業知識入門到進階輔導等定制化需求等服務,助力您順利完成學習和求職之旅(有需要者可私信聯系)

    友友們,自己的知乎賬號為“快樂星球”,定期更新技術文章,敬請關注!???

    本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
    如若轉載,請注明出處:http://www.pswp.cn/diannao/89904.shtml
    繁體地址,請注明出處:http://hk.pswp.cn/diannao/89904.shtml
    英文地址,請注明出處:http://en.pswp.cn/diannao/89904.shtml

    如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

    相關文章

    MPLS 多協議標簽交換

    前言: 多協議標簽交換MPLS(Multiprotocol Label Switching)是一種IP(Internet Protocol)骨干網技術。MPLS在無連接的IP網絡上引入面向連接的標簽交換概念,將第三層路由技術和第二層交換技術相結合&#xf…

    CTF Web PHP弱類型比較與布爾值判斷

    題目源碼與注釋 <?php show_source("index.php"); // 顯示自身源碼&#xff0c;方便分析 include("flag.php"); // 包含flag變量 $a $_GET[a]; // 獲取GET參數a&#xff0c;抑制報錯// 關鍵判斷 if($a 0 and $a){echo $flag; …

    AntV G6動態連線

    完整代碼如下 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>AntV G6 動態連線</titl…

    puppeteerSharp html轉pdf

    部屬到linux 上報錯&#xff1a; Failed to launch browser! /wwwroots/xxx/Chrome/Linux-138.0.7204.92/chrome-linux64/chrome: error while loading shared libraries: libatk-1.0.so.0: cannot open shared object file: No such file or directory 問題服務包缺少依賴&…

    springBoot接口層時間參數JSON序列化問題,兼容處理

    背景&#xff1a;解決前端傳入時間參數格式不固定場景&#xff0c;避免接收參數報錯時間格式不能序列化。一、概述在 Java 后端開發中&#xff0c;處理 JSON 數據時&#xff0c;經常需要對日期時間字段進行反序列化。Java 中常用的日期時間類型是 java.time.LocalDateTime&…

    List、Set、Map三者之間的關系

    1、數據結構與核心特性接口數據結構順序性唯一性鍵值對null 元素List動態數組/鏈表有序&#xff08;插入順序&#xff09;允許重復否允許多個 nullSet哈希表 / 紅黑樹無序&#xff08;HashSet&#xff09;有序&#xff08;LinkedHashSet/TreeSet&#xff09;不允許重復否僅 Has…

    進程控制----進程終止

    一、進程終止的核心場景正常終止&#xff08;代碼完整運行完畢&#xff09;成功&#xff1a;進程執行到main函數結束或調用exit()&#xff0c;返回退出碼 0&#xff08;約定為執行成功&#xff09;。失敗&#xff1a;代碼執行完畢但結果異常&#xff0c;返回非零退出碼&#xf…

    Milvus docker-compose 部署

    文章目錄 前言Milvus docker-compose 部署1. 下載2. 修改配置3. 啟動4. 測試 前言 如果您覺得有用的話&#xff0c;記得給博主點個贊&#xff0c;評論&#xff0c;收藏一鍵三連啊&#xff0c;寫作不易啊^ _ ^。 ??而且聽說點贊的人每天的運氣都不會太差&#xff0c;實在白嫖的…

    EveryThing搜索具體路徑下文件中的內容

    1.打開EveryThing 2.點擊搜索&#xff0c;選擇高級搜索 3.選擇需要搜索的文件的路徑以及文件中需要包含的內容 4.之后就可以搜索到對應的目標文件

    【算法】寬度優先遍歷BFS

    二叉樹的寬搜 429、N叉樹的層序遍歷 題解 BFS核心思想 二叉樹的寬搜一般都是借助隊列來實現的&#xff0c;實現的原理為首先將根節點進行放入隊列中&#xff0c;然后將根節點進行彈出的時候&#xff0c;將這個節點的孩子節點進行放入隊列中&#xff0c;然后繼續彈出隊頭的元…

    【STM32】通用定時器基本原理

    STM32 通用定時器基本原理&#xff08;基于 STM32F1&#xff09;參考資料&#xff1a;STM32F1xx官方資料&#xff1a;《STM32中文參考手冊V10》-第14章通用定時器STM32 定時器分類 STM32F103 系列共有三類定時器&#xff1a;&#x1f50e; 通用定時器&#xff08;TIM2~TIM5&…

    【Go語言-Day 14】深入解析 map:創建、增刪改查與“鍵是否存在”的奧秘

    Langchain系列文章目錄 01-玩轉LangChain&#xff1a;從模型調用到Prompt模板與輸出解析的完整指南 02-玩轉 LangChain Memory 模塊&#xff1a;四種記憶類型詳解及應用場景全覆蓋 03-全面掌握 LangChain&#xff1a;從核心鏈條構建到動態任務分配的實戰指南 04-玩轉 LangChai…

    Vue腳手架搭建項目+基礎知識

    1. 使用腳手架創建項目1.1 準備工作winR&#xff0c;在彈出的數據框中輸入cmd&#xff0c;數據命令查看node以及npm版本 下載vue cli1.2 創建項目1.2.1 創建一個英文目錄文件夾&#xff0c;cmd打開命令命令提示符1.2.2 vue ui命令打開控制臺1.2.3 創建項目創建成功1.3 項目結構…

    微信小程序下單頁—地址列表頁—新增地址頁 頁面交互

    新增地址流程&#xff1a; 下單頁 → 地址列表頁 (1次跳轉)地址列表頁 → 新增地址頁 (1次跳轉)保存地址 → 返回地址列表頁 (1次返回&#xff0c;自動刷新列表) 選擇地址流程&#xff1a; 地址列表頁 → 選中地址 → 返回下單頁 (1次返回) 更換地址&#xff1a; 下單頁 → 地址…

    JVM與JMM

    為了更清晰地對比JVM和JMM&#xff0c;我們可以采用表格形式&#xff0c;從定義、功能、結構、與多線程關系等方面進行詳細比較&#xff1a; 對比項JVM&#xff08;Java Virtual Machine&#xff09;JMM&#xff08;Java Memory Model&#xff09;定義一種虛構的計算機&#x…

    【Docker基礎】Docker數據卷管理:docker volume rm及其參數詳解

    目錄 1 引言&#xff1a;Docker Volume 的生命周期管理 2 docker volume rm命令基礎 2.1 命令作用 2.2 命令語法 3 參數深度解析 3.1 基礎參數表 3.2 高級參數詳解 3.2.1 --force&#xff08;-f&#xff09; 4 Volume刪除前置條件 4.1 可刪除狀態判斷 4.2 常見報錯處…

    嵌入式系統內核鏡像相關(十)

    文章目錄 前言一、點亮多個led燈的基礎實驗以及其中的問題1.1 基礎流程1.1.1 alinx教程的問題1.1.1.1 驅動程序中的亮/滅邏輯修改&#xff01;1.1.1.1.1 邏輯錯誤的修改1.1.1.1.2 多燈亮/滅 1.1.1.2 驅動程序中引腳的問題以及與裸機開發的區別&#xff08;重要&#xff09;1.1.…

    Word和Excel批量轉PDF新方法,操作簡單

    PDF是一種跨平臺的文檔格式&#xff0c;無論在任何設備上查看&#xff0c;其排版、字體和圖像都不會發生變化。這確保了文檔的一致性&#xff0c;避免了由于不同軟件版本或操作系統引起的顯示問題。這款小巧的工具大小不到2MB&#xff0c;使用起來異常簡單。只需要把需要轉換的…

    AI搜索 MCP最佳實踐

    背景 那些 LLM 不知道的事 嘗試直接詢問LLM“今天天氣如何”時&#xff0c;會發現LLM無法回答——它既不知道“今天”是哪天&#xff0c;也無法獲取地理位置信息。這揭示了LLM的局限&#xff1a;缺乏與外部工具和實時數據的交互能力。 為解決這一問題&#xff0c;MCP&#x…

    JVM 簡介與作用

    &#x1f680; JVM 簡介與作用 &#x1f4da; 深入理解 Java 虛擬機的核心概念與重要作用 &#x1f4d6; 目錄 &#x1f914; 什么是 Java 虛擬機&#xff08;JVM&#xff09;&#x1f310; JVM 在 Java 生態中的核心地位&#x1f500; JVM 跨平臺原理剖析&#x1f4dd; 總結 …