CINXE.COM

<!doctype html><html><head> <script> var e=function(e,t,a){if(Math.ceil(100*Math.random())<=100*t){var o="491065",d="24814",n={ev_type:"batch",list:[{ev_type:"custom",payload:{name:"sdk_glue_load",type:"event",metrics:{},categories:{sdk_glue_load_status:e,sdk_glue_load_err_src:a,payload_bdms_aid:o,payload_bdms_page_id:d}},common:{context:{ctx_bdms_aid:o,ctx_bdms_page_id:d},bid:"web_bdms_cn",pid:window.location.pathname,view_id:"/_1",user_id:"",session_id:"0-a-1-2-c",release:"",env:"production",url:window.location.href,timestamp:+new Date,sdk_version:"1.6.1",sdk_name:"SDK_SLARDAR_WEB"}}]},i=new XMLHttpRequest;i.open("POST","https://mon.zijieapi.com/monitor_browser/collect/batch/?biz_id=web_bdms_cn",!0),i.setRequestHeader("Content-type","application/json"),i.send(JSON.stringify(n))}};e("before_load",.1,""),window.addEventListener("error",(function(t){var a=t.target||t.srcElement;a instanceof HTMLElement&&"SCRIPT"==a.nodeName&&(-1!=(a.src||"").indexOf("sdk-glue")&&e("load_error",1,a.src))}),!0);</script><script src="https://lf-headquarters-speed.yhgfb-cn-static.com/obj/rc-client-security/web/glue/1.0.0.38/sdk-glue.js"></script><script> ;(function (){ var sdkInfo = { csrf: { init: function (options) {window.secsdk.csrf.setOptions(options)}, isLoaded: function () { return !!window.secsdk }, srcList: ["https://lf1-cdn-tos.bytegoofy.com/obj/goofy/secsdk/secsdk-lastest.umd.js","https://lf3-cdn-tos.bytegoofy.com/obj/goofy/secsdk/secsdk-lastest.umd.js","https://lf6-cdn-tos.bytegoofy.com/obj/goofy/secsdk/secsdk-lastest.umd.js"] }, bdms: { init: function (options) {window.bdms.init(options)}, isLoaded: function () { return !!window.bdms }, srcList: ["https://lf-c-flwb.bytetos.com/obj/rc-client-security/web/stable/1.0.0.43/bdms.js","https://lf-headquarters-speed.yhgfb-cn-static.com/obj/rc-client-security/web/stable/1.0.0.43/bdms.js"], }, verifyCenter: { init: function (options) {window.verifySDK.init(options)}, isLoaded: function () { return !!window.verifySDK }, srcList: ["https://lf-rc1.yhgfb-cn-static.com/obj/rc-client-security/secsdk-captcha/2.28.11/captcha.js","https://lf-rc2.yhgfb-cn-static.com/obj/rc-client-security/secsdk-captcha/2.28.11/captcha.js"] }, }; var options = { bdms: {aid:491065,pageId:24814,paths:["/api/fe"],ddrt:3},self: {aid:491065,pageId:24814,} }; window._SdkGlueInit(options, sdkInfo); })()</script> <script>window.gfdatav1={"env":"prod","idc":"lf","ver":"1.0.1.922","canary":0,"envName":"prod","region":"cn","runtime":"workerV2","extra":{"canaryType":null}}</script><script>window._SERVER_DATA={"router":{"baseUrl":"/","params":{}}}</script><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no,viewport-fit=cover,minimum-scale=1,maximum-scale=1,user-scalable=no"><meta http-equiv="x-ua-compatible" content="ie=edge"><meta name="renderer" content="webkit"><meta name="layoutmode" content="standard"><meta name="imagemode" content="force"><meta name="wap-font-scale" content="no"><meta name="format-detection" content="telephone=no"><title data-react-helmet="true">一图胜千言:回归预测模型训练集与测试集的进阶可视化 - 文章 - 开发者社区 - 火山引擎</title><link rel="icon" href="//lf1-cdn-tos.bytegoofy.com/goofy/tech-fe/fav.png"/><link rel="apple-touch-icon" href="//lf1-cdn-tos.bytegoofy.com/goofy/tech-fe/logo193.png"/><meta name="referrer" content="always"><script>// Tea SDK 引导代码 (function (win, export_obj) { win['LogAnalyticsObject'] = export_obj; if (!win[export_obj]) { function _collect() { _collect.q.push(arguments); } _collect.q = _collect.q || []; win[export_obj] = _collect; } win[export_obj].l = +new Date(); })(window, 'collectEvent');</script><script>window.__assetPrefix__ = '//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325';</script><script>!function(){"use strict";var e,t,r,a,i,n,o,c={},f={};function s(e){var t=f[e];if(void 0!==t)return t.exports;var r=f[e]={id:e,loaded:!1,exports:{}};return c[e].call(r.exports,r,r.exports,s),r.loaded=!0,r.exports}s.m=c,e=[],s.O=function(t,r,a,i){if(!r){var n=1/0;for(d=0;d<e.length;d++){r=e[d][0],a=e[d][1],i=e[d][2];for(var o=!0,c=0;c<r.length;c++)(!1&i||n>=i)&&Object.keys(s.O).every((function(e){return s.O[e](r[c])}))?r.splice(c--,1):(o=!1,i<n&&(n=i));if(o){e.splice(d--,1);var f=a();void 0!==f&&(t=f)}}return t}i=i||0;for(var d=e.length;d>0&&e[d-1][2]>i;d--)e[d]=e[d-1];e[d]=[r,a,i]},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},r=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},s.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var i=Object.create(null);s.r(i);var n={};t=t||[null,r({}),r([]),r(r)];for(var o=2&a&&e;"object"==typeof o&&!~t.indexOf(o);o=r(o))Object.getOwnPropertyNames(o).forEach((function(t){n[t]=function(){return e[t]}}));return n.default=function(){return e},s.d(i,n),i},s.d=function(e,t){for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce((function(t,r){return s.f[r](e,t),t}),[]))},s.u=function(e){return"static/js/async/"+({572:"user/[id]/blog_moving/page",712:"user/[id]/draft/page",1225:"resource/[id]/page",1261:"user/edit/page",1687:"user/[id]/star/page",1826:"article/series/list/page",3180:"teams/[id]/articles/page",3487:"teams/page",4117:"mirror/page",4778:"articles/page",4786:"activity/[id]/page",4815:"user/[id]/qa/page",5400:"teams/[id]/page",5655:"teams/[id]/questions/page",5912:"user/[id]/page",6226:"questions/[id]/page",6242:"$",6480:"user/[id]/$",6772:"user/[id]/series/page",6827:"user/[id]/activity/page",6874:"articles/[id]/page",7281:"user/[id]/follow_list/page",7425:"resource/page",8079:"teams/[id]/layout",8138:"questions/page",8146:"user/$",8357:"user/page",8426:"article/series/detail/[id]/page",8528:"activities/[id]/page",8655:"team/[id]/page",8829:"activities/page",9130:"activity/page",9494:"team/page",9624:"user/[id]/articles/page",9768:"page",9844:"user/[id]/layout"}[e]||e)+"."+{407:"aefe6500",572:"88a5568c",585:"728b06d1",637:"32464f61",712:"dcdbbc36",756:"56e71d33",1008:"6f7bfd31",1094:"e7bbea48",1124:"830b6040",1225:"a6900ce3",1261:"b2e4a7dc",1289:"bf78b8e3",1687:"297ac6c9",1826:"4456d7f6",2057:"66169876",2128:"b6a13c1c",2417:"ae8d0598",2426:"48b8c954",2650:"28c0780d",3172:"b888ceda",3180:"034dce8a",3487:"e99070d3",3505:"fc596d93",3553:"27d193e6",4015:"0f26ce33",4117:"d449d71b",4211:"1803eb98",4433:"a0f3e45e",4778:"77241347",4786:"2be3f444",4815:"3258fa27",5086:"9c45d833",5092:"fc8ebe4d",5400:"2e7c6646",5435:"eccb96c2",5453:"b646a57c",5458:"9b8df362",5493:"c3044ac2",5505:"a3aa549d",5655:"49f52348",5777:"109859a7",5912:"cf73559a",5914:"1927ef78",5941:"59bcc29a",5998:"1d847129",6003:"48f9a706",6011:"22717107",6097:"8d0cacad",6226:"fceead16",6242:"8664c2ba",6336:"0ce21484",6480:"07b5287b",6637:"e866599a",6705:"a19b8e49",6772:"f9538e2d",6827:"c082f0a3",6874:"68d574c4",7056:"d6e157d4",7281:"8e9e57d5",7327:"9b4b3761",7425:"bf8f9096",7469:"24783622",7474:"4dbf3b1c",7518:"648426dd",7542:"a4ca3948",7644:"a5ed476c",7832:"cc5e6442",7921:"8b6f440c",8079:"1a309ced",8138:"55f1b21f",8146:"b9315b80",8357:"5acc5f96",8426:"98a6ffe6",8528:"befb1cc5",8626:"72051b87",8655:"b76ed95c",8829:"7bd373a2",8913:"3652e416",9107:"8db20dc7",9129:"69cb86a2",9130:"eb82bf48",9246:"633f6657",9404:"fa2c6b2f",9494:"ee37a04b",9624:"23bff0aa",9768:"fbf929cc",9791:"22e5ab4e",9844:"aafc33ee",9902:"ab79fd01"}[e]+".js"},s.miniCssF=function(e){return"static/css/async/"+({572:"user/[id]/blog_moving/page",712:"user/[id]/draft/page",1225:"resource/[id]/page",1261:"user/edit/page",1687:"user/[id]/star/page",1826:"article/series/list/page",3180:"teams/[id]/articles/page",3487:"teams/page",4117:"mirror/page",4778:"articles/page",4815:"user/[id]/qa/page",5400:"teams/[id]/page",5655:"teams/[id]/questions/page",5912:"user/[id]/page",6226:"questions/[id]/page",6242:"$",6772:"user/[id]/series/page",6827:"user/[id]/activity/page",6874:"articles/[id]/page",7281:"user/[id]/follow_list/page",7425:"resource/page",8079:"teams/[id]/layout",8138:"questions/page",8426:"article/series/detail/[id]/page",8528:"activities/[id]/page",8829:"activities/page",9624:"user/[id]/articles/page",9768:"page",9844:"user/[id]/layout"}[e]||e)+"."+{572:"5c7b055b",712:"72db1217",1225:"c771a8fa",1261:"556cf1b3",1687:"3de9a0fc",1826:"112c3666",2426:"01a02ce7",3180:"4fb2abd1",3487:"60e48adf",4117:"00b315f5",4778:"11c4f69f",4815:"06c5a7e1",5400:"43e4ce1a",5655:"4e016773",5912:"96b3cbfa",6226:"5c2bbaa5",6242:"6e3970d3",6772:"e6f14c09",6827:"f9a60515",6874:"68a000e0",7056:"365859d0",7281:"9b1d94e8",7425:"95aa4a33",7542:"f7fe289f",8079:"bc06c4c6",8138:"aed8f20f",8426:"00a692ef",8528:"7279aa4b",8829:"5f0e0daa",9107:"c4cafd96",9624:"96b3cbfa",9768:"394efaa3",9844:"9344d547"}[e]+".css"},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.hmd=function(e){return(e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a={},i="volc-developer-fe:",s.l=function(e,t,r,n){if(a[e])a[e].push(t);else{var o,c;if(void 0!==r)for(var f=document.getElementsByTagName("script"),d=0;d<f.length;d++){var u=f[d];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==i+r){o=u;break}}o||(c=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,s.nc&&o.setAttribute("nonce",s.nc),o.setAttribute("data-webpack",i+r),o.src=e,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous")),a[e]=[t];var l=function(t,r){o.onerror=o.onload=null,clearTimeout(p);var i=a[e];if(delete a[e],o.parentNode&&o.parentNode.removeChild(o),i&&i.forEach((function(e){return e(r)})),t)return t(r)},p=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},s.p="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/",n=function(e){return new Promise((function(t,r){var a=s.miniCssF(e),i=s.p+a;if(function(e,t){for(var r=document.getElementsByTagName("link"),a=0;a<r.length;a++){var i=(o=r[a]).getAttribute("data-href")||o.getAttribute("href");if("stylesheet"===o.rel&&(i===e||i===t))return o}var n=document.getElementsByTagName("style");for(a=0;a<n.length;a++){var o;if((i=(o=n[a]).getAttribute("data-href"))===e||i===t)return o}}(a,i))return t();!function(e,t,r,a){var i=document.createElement("link");i.rel="stylesheet",i.type="text/css",i.onerror=i.onload=function(n){if(i.onerror=i.onload=null,"load"===n.type)r();else{var o=n&&("load"===n.type?"missing":n.type),c=n&&n.target&&n.target.href||t,f=new Error("Loading CSS chunk "+e+" failed.\n("+c+")");f.code="CSS_CHUNK_LOAD_FAILED",f.type=o,f.request=c,i.parentNode.removeChild(i),a(f)}},i.href=t,0!==i.href.indexOf(window.location.origin+"/")&&(i.crossOrigin="anonymous"),document.head.appendChild(i)}(e,i,t,r)}))},o={6272:0},s.f.miniCss=function(e,t){o[e]?t.push(o[e]):0!==o[e]&&{572:1,712:1,1225:1,1261:1,1687:1,1826:1,2426:1,3180:1,3487:1,4117:1,4778:1,4815:1,5400:1,5655:1,5912:1,6226:1,6242:1,6772:1,6827:1,6874:1,7056:1,7281:1,7425:1,7542:1,8079:1,8138:1,8426:1,8528:1,8829:1,9107:1,9624:1,9768:1,9844:1}[e]&&t.push(o[e]=n(e).then((function(){o[e]=0}),(function(t){throw delete o[e],t})))},function(){var e={6272:0};s.f.j=function(t,r){var a=s.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(2426|6272|9107)$/.test(t))e[t]=0;else{var i=new Promise((function(r,i){a=e[t]=[r,i]}));r.push(a[2]=i);var n=s.p+s.u(t),o=new Error;s.l(n,(function(r){if(s.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var i=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;o.message="Loading chunk "+t+" failed.\n("+i+": "+n+")",o.name="ChunkLoadError",o.type=i,o.request=n,a[1](o)}}),"chunk-"+t,t)}},s.O.j=function(t){return 0===e[t]};var t=function(t,r){var a,i,n=r[0],o=r[1],c=r[2],f=0;if(n.some((function(t){return 0!==e[t]}))){for(a in o)s.o(o,a)&&(s.m[a]=o[a]);if(c)var d=c(s)}for(t&&t(r);f<n.length;f++)i=n[f],s.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return s.O(d)},r=self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))}()}();</script><script defer="defer" src="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/js/lib-arco.a74ce714.js" crossorigin="anonymous"></script><script defer="defer" src="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/js/lib-polyfill.e32e6eae.js" crossorigin="anonymous"></script><script defer="defer" src="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/js/lib-lodash.66bf9186.js" crossorigin="anonymous"></script><script defer="defer" src="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/js/lib-react.fc946b50.js" crossorigin="anonymous"></script><script defer="defer" src="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/js/lib-router.91ad9bff.js" crossorigin="anonymous"></script><script defer="defer" src="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/js/4316.6db4945c.js" crossorigin="anonymous"></script><script defer="defer" src="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/js/main.d3e44856.js" crossorigin="anonymous"></script><link href="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/css/lib-arco.2bbbdcb8.css" rel="stylesheet" crossorigin="anonymous"><link href="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/css/4316.27e0ba1f.css" rel="stylesheet" crossorigin="anonymous"><link href="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/css/main.ff1f8027.css" rel="stylesheet" crossorigin="anonymous"><link href="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/css/lib-arco.2bbbdcb8.css" rel="stylesheet" /><link href="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/css/async/2426.01a02ce7.css" rel="stylesheet" /><link href="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/css/async/9107.c4cafd96.css" rel="stylesheet" /><link href="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/css/async/articles/[id]/page.68a000e0.css" rel="stylesheet" /> <meta data-react-helmet="true" name="keywords" content="AI、向量数据库、大模型、机器学习"/><meta data-react-helmet="true" name="description" content="如果你对类似于这样的文章感兴趣。 欢迎关注、点赞、转发~"/> <script data-react-helmet="true" type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"一图胜千言:回归预测模型训练集与测试集的进阶可视化","image":["https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/f214052511b04c25909c0397b3654788~tplv-tlddhu82om-image.image?=&amp;rk3s=8031ce6d&amp;x-expires=1732821349&amp;x-signature=MkCQcPnNOsDb%2BmZpilvMZpXLBaw%3D"],"datePublished":"2024-11-22T07:44:15.000Z","dateModified":"2024-11-22T10:59:29.000Z","author":[{"@type":"Person","name":"Python机器学习AI","url":"https://developer.volcengine.com/user/358891265735203"}]}</script> </head><body><noscript>We're sorry but react app doesn't work properly without JavaScript enabled. Please enable it to continue.</noscript><div id="root"><div class="WFpVe NVl6r"><div class="yYbKk"><div class="gcUkQ"><a href="https://www.volcengine.com" target="_blank"><img src="https://lf1-cdn-tos.bytegoofy.com/goofy/tech-fe/assets/vocl_logo_dark.c678a292.svg" draggable="false"/></a></div><div class="rpPns"><a href="https://developer.volcengine.com" target="_blank"><img src="https://lf1-cdn-tos.bytegoofy.com/goofy/tech-fe/assets/community-logo-text-icon.4b9f2115.svg" draggable="false"/></a></div><div class="Q44pY"><div class="yYwDU"><div class="arco-input-group-wrapper arco-input-group-wrapper-default PqPNy"><span class="arco-input-group"><span class="arco-input-inner-wrapper arco-input-inner-wrapper-has-prefix arco-input-inner-wrapper-default"><span class="arco-input-group-prefix"><svg fill="none" stroke="currentColor" stroke-width="4" viewBox="0 0 48 48" aria-hidden="true" focusable="false" class="arco-icon arco-icon-search"><path d="M33.072 33.071c6.248-6.248 6.248-16.379 0-22.627-6.249-6.249-16.38-6.249-22.628 0-6.248 6.248-6.248 16.379 0 22.627 6.248 6.248 16.38 6.248 22.628 0Zm0 0 8.485 8.485"></path></svg></span><input placeholder="在社区搜文章/找答案" class="arco-input arco-input-size-default" value=""/></span></span></div><a href="https://www.volcengine.com/docs" target="blank">文档</a><a href="https://www.volcengine.com/beian" target="blank">备案</a><a href="https://console.volcengine.com/home" target="blank">控制台</a><a href="https://console.volcengine.com/auth/login?redirectURI=https%3A%2F%2Fdeveloper.volcengine.com%2Farticles%2F7440006179723935794">登录</a><a href="https://console.volcengine.com/auth/signup?redirectURI=https%3A%2F%2Fdeveloper.volcengine.com%2Farticles%2F7440006179723935794" class="arco-btn arco-btn-primary arco-btn-size-default arco-btn-shape-square arco-btn-link iqsRJ"><span>立即注册</span></a></div></div></div><div class="stbmn"><div class="ASi46"><div class="qZzL_"><a href="/" target="_blank" class="">首页</a><a href="/articles" target="_blank" class="">文章</a><a href="/questions" target="_blank" class="hide">问答</a><a href="/videos" target="_blank" class="hide">视频</a><a href="/activities" target="_blank" class="">活动</a><a href="/resource" target="_blank" class="hide">下载资源</a><a href="/teams" target="_blank" class="hide">团队号</a><a href="/mirror" target="_blank" class="">镜像站</a></div></div><div class="NugHr"><div class="CQeSf">发布</div></div></div></div><div class="gSJtT"><div class="NabeC" id="main"><h1 id="article_title" class="BeWCA">一图胜千言:回归预测模型训练集与测试集的进阶可视化</h1><div class="NSxaQ"><a href="/user/358891265735203" target="_blank"><div style="width:20px;height:20px;font-size:10px" class="arco-avatar arco-avatar-circle"><span class="arco-avatar-image"><img src="https://p26-passport.byteacctimg.com/img/user-avatar/e53c7cc448716f1b283e89b53519c4d5~300x300.image" alt="Python机器学习AI"/></span></div><div class="I2c0Q"><span>Python机器学习AI</span></div></a><div class="vCvrn"></div><div class="category"><a target="_blank" href="/articles?category=3">AI</a></div></div><div class="PN9l6"><span>向量数据库</span><span>大模型</span><span>机器学习</span></div><div class="uKIrB"><img src="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/image/rec-product.424eb1f0.png"/></div><article><div class="markdown-body"><p><img src="https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/5d5899a5ebe642beb1b3bfcd2ca7ca09~tplv-tlddhu82om-image.image?=&#x26;rk3s=8031ce6d&#x26;x-expires=1732821349&#x26;x-signature=Cd2WzCRDmypJaLzAHNtXGHnu6h4%3D" alt="picture.image"></p> <p><em><strong>背景</strong></em></p> <p>在前两篇文章中,已经深入探讨了回归预测模型的性能评估与数据可视化益处,第一篇文章中——<a href="http://mp.weixin.qq.com/s?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247486486&#x26;idx=1&#x26;sn=7798a4bffa7e5ba2962a8ab245b25aed&#x26;chksm=c3242084f453a992a3bc5192ede358721070b57da9f585359a2d2c70d0eab7abe5564f9c9717&#x26;scene=21#wechat_redirect">用图表说话:如何有效呈现回归预测模型结果</a>,讲解如何通过精美的图表(散点图+边缘柱状图)展现模型的训练和测试结果(针对于回归预测模型)</p> <p><img src="https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/8f6efceaa7134b8d9ae2690d80459a9a~tplv-tlddhu82om-image.image?=&#x26;rk3s=8031ce6d&#x26;x-expires=1732821349&#x26;x-signature=jBOSXVhKNcs%2BtkPpYMke2uV1cZk%3D" alt="picture.image"></p> <p>第二篇文章中——<a href="http://mp.weixin.qq.com/s?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487381&#x26;idx=1&#x26;sn=30eedf070eba6c052866392ca01eb392&#x26;chksm=c3242307f453aa11df072b756fa5ecb0e223b74acbb2bb2a2558ddcff55af628086595e0b6ca&#x26;scene=21#wechat_redirect">SCI图表复现:如何直观展示机器学习模型预测结果的准确性和一致性</a>,则通过散点图结合1:1线、最佳拟合线、置信区间及R²和MAE指标,全方位直观展示模型预测准确性、趋势拟合程度和不确定性</p> <p><img src="https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/983e1b5a62b04e93bf60fa7cec94c410~tplv-tlddhu82om-image.image?=&#x26;rk3s=8031ce6d&#x26;x-expires=1732821349&#x26;x-signature=wgtmS7nQcy9by88dUEJ3iGyUyr4%3D" alt="picture.image"></p> <p>然而,真实数据的分布与模型预测结果的差异往往隐藏在更复杂的图表中,为了更全面地呈现训练集与测试集之间的关系,并直观展示预测值的置信区间及边缘分布,本篇文章将带大家深入理解一套综合性的可视化方案,本文集成置信区间与边缘柱状图的新图表形式,直观展示模型的拟合效果,如下:</p> <p><img src="https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/9d1b9732bf2444519e297497e95610da~tplv-tlddhu82om-image.image?=&#x26;rk3s=8031ce6d&#x26;x-expires=1732821349&#x26;x-signature=5eUFj1OECSMu%2BOZJ%2FKzu%2FrWeRCA%3D" alt="picture.image"></p> <p><em><strong>代码实现</strong></em></p> <p><em><strong>数据读取</strong></em></p> <pre><code class="hljs language-python"> <span class="hljs-keyword">import</span> pandas <span class="hljs-keyword">as</span> pd <span class="hljs-keyword">import</span> numpy <span class="hljs-keyword">as</span> np <span class="hljs-keyword">import</span> matplotlib.pyplot <span class="hljs-keyword">as</span> plt <span class="hljs-keyword">import</span> seaborn <span class="hljs-keyword">as</span> sns <span class="hljs-keyword">from</span> sklearn <span class="hljs-keyword">import</span> metrics <span class="hljs-keyword">import</span> scipy.stats <span class="hljs-keyword">as</span> stats plt.rcParams[<span class="hljs-string">'font.family'</span>] = <span class="hljs-string">'Times New Roman'</span> plt.rcParams[<span class="hljs-string">'axes.unicode_minus'</span>] = <span class="hljs-literal">False</span> df_train = pd.read_excel(<span class="hljs-string">'GBDT_train.xlsx'</span>) df_test = pd.read_excel(<span class="hljs-string">'GBDT_test.xlsx'</span>) </code></pre> <p>从 Excel 文件中分别加载训练数据 (GBDT_train.xlsx) 和测试数据 (GBDT_test.xlsx) 到数据框 (df_train 和 df_test) 中,里面包含真实值以及预测值</p> <p><em><strong>模型性能计算</strong></em></p> <pre><code class="hljs language-ini"> from sklearn import metrics <span class="hljs-comment"># 真实</span> <span class="hljs-attr">y_train</span> = df_train[<span class="hljs-string">'Experimental value'</span>] <span class="hljs-attr">y_test</span> = df_test[<span class="hljs-string">'Experimental value'</span>] <span class="hljs-comment"># 预测</span> <span class="hljs-attr">y_pred_train</span> = df_train[<span class="hljs-string">'Predicted value'</span>] <span class="hljs-attr">y_pred_test</span> = df_test[<span class="hljs-string">'Predicted value'</span>] <span class="hljs-attr">y_pred_train_list</span> = y_pred_train.tolist() <span class="hljs-attr">y_pred_test_list</span> = y_pred_test.tolist() <span class="hljs-comment"># 计算训练集的指标</span> <span class="hljs-attr">mse_train</span> = metrics.mean_squared_error(y_train, y_pred_train_list) <span class="hljs-attr">rmse_train</span> = np.sqrt(mse_train) <span class="hljs-attr">mae_train</span> = metrics.mean_absolute_error(y_train, y_pred_train_list) <span class="hljs-attr">r2_train</span> = metrics.r2_score(y_train, y_pred_train_list) <span class="hljs-comment"># 计算测试集的指标</span> <span class="hljs-attr">mse_test</span> = metrics.mean_squared_error(y_test, y_pred_test_list) <span class="hljs-attr">rmse_test</span> = np.sqrt(mse_test) <span class="hljs-attr">mae_test</span> = metrics.mean_absolute_error(y_test, y_pred_test_list) <span class="hljs-attr">r2_test</span> = metrics.r2_score(y_test, y_pred_test_list) print("训练集评价指标:") print("均方误差 (MSE):", mse_train) print("均方根误差 (RMSE):", rmse_train) print("平均绝对误差 (MAE):", mae_train) print("拟合优度 (R-squared):", r2_train) print("\n测试集评价指标:") print("均方误差 (MSE):", mse_test) print("均方根误差 (RMSE):", rmse_test) print("平均绝对误差 (MAE):", mae_test) print("拟合优度 (R-squared):", r2_test) </code></pre> <p><img src="https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/65d9443a3ad448c48160def061b2c83a~tplv-tlddhu82om-image.image?=&#x26;rk3s=8031ce6d&#x26;x-expires=1732821349&#x26;x-signature=D0e8dt73uItPNsduGXDoAfvcC34%3D" alt="picture.image"></p> <p>从训练集和测试集的数据中提取真实值 (Experimental value) 和预测值 (Predicted value),计算模型在训练集和测试集上的回归性能指标</p> <p><em><strong>文章一可视化</strong></em></p> <pre><code class="hljs language-ini"> <span class="hljs-comment"># 创建一个包含训练集和测试集真实值与预测值的数据框</span> <span class="hljs-attr">data_train</span> = pd.DataFrame({ 'True': y_train, 'Predicted': y_pred_train, 'Data Set': 'Train' }) <span class="hljs-attr">data_test</span> = pd.DataFrame({ 'True': y_test, 'Predicted': y_pred_test, 'Data Set': 'Test' }) <span class="hljs-attr">data</span> = pd.concat([data_train, data_test]) <span class="hljs-comment"># 自定义调色板</span> <span class="hljs-attr">palette</span> = {<span class="hljs-string">'Train'</span>: <span class="hljs-string">'#b4d4e1'</span>, <span class="hljs-string">'Test'</span>: <span class="hljs-string">'#f4ba8a'</span>} <span class="hljs-comment"># 创建 JointGrid 对象</span> plt.figure(<span class="hljs-attr">figsize</span>=(<span class="hljs-number">8</span>, <span class="hljs-number">6</span>), dpi=<span class="hljs-number">1200</span>) <span class="hljs-attr">g</span> = sns.JointGrid(data=data, x=<span class="hljs-string">"True"</span>, y=<span class="hljs-string">"Predicted"</span>, hue=<span class="hljs-string">"Data Set"</span>, height=<span class="hljs-number">10</span>, palette=palette) <span class="hljs-comment"># 绘制中心的散点图</span> g.plot_joint(sns.scatterplot, <span class="hljs-attr">alpha</span>=<span class="hljs-number">0.5</span>) <span class="hljs-comment"># 添加训练集的回归线</span> sns.regplot(<span class="hljs-attr">data</span>=data_train, x=<span class="hljs-string">"True"</span>, y=<span class="hljs-string">"Predicted"</span>, scatter=<span class="hljs-literal">False</span>, ax=g.ax_joint, color=<span class="hljs-string">'#b4d4e1'</span>, label=<span class="hljs-string">'Train Regression Line'</span>) <span class="hljs-comment"># 添加测试集的回归线</span> sns.regplot(<span class="hljs-attr">data</span>=data_test, x=<span class="hljs-string">"True"</span>, y=<span class="hljs-string">"Predicted"</span>, scatter=<span class="hljs-literal">False</span>, ax=g.ax_joint, color=<span class="hljs-string">'#f4ba8a'</span>, label=<span class="hljs-string">'Test Regression Line'</span>) <span class="hljs-comment"># 添加边缘的柱状图</span> g.plot_marginals(sns.histplot, <span class="hljs-attr">kde</span>=<span class="hljs-literal">False</span>, element=<span class="hljs-string">'bars'</span>, multiple=<span class="hljs-string">'stack'</span>, alpha=<span class="hljs-number">0.5</span>) <span class="hljs-comment"># 添加拟合优度文本在右下角</span> <span class="hljs-attr">ax</span> = g.ax_joint ax.text(0.95, 0.1, f'Train $R^2$ = {r2_train:.3f}', <span class="hljs-attr">transform</span>=ax.transAxes, fontsize=<span class="hljs-number">12</span>, <span class="hljs-attr">verticalalignment</span>=<span class="hljs-string">'bottom'</span>, horizontalalignment=<span class="hljs-string">'right'</span>, bbox=dict(boxstyle=<span class="hljs-string">"round,pad=0.3"</span>, edgecolor=<span class="hljs-string">"black"</span>, facecolor=<span class="hljs-string">"white"</span>)) ax.text(0.95, 0.05, f'Test $R^2$ = {r2_test:.3f}', <span class="hljs-attr">transform</span>=ax.transAxes, fontsize=<span class="hljs-number">12</span>, <span class="hljs-attr">verticalalignment</span>=<span class="hljs-string">'bottom'</span>, horizontalalignment=<span class="hljs-string">'right'</span>, bbox=dict(boxstyle=<span class="hljs-string">"round,pad=0.3"</span>, edgecolor=<span class="hljs-string">"black"</span>, facecolor=<span class="hljs-string">"white"</span>)) <span class="hljs-comment"># 在左上角添加模型名称文本</span> ax.text(0.75, 0.99, '<span class="hljs-attr">Model</span> = GBDT<span class="hljs-string">', transform=ax.transAxes, fontsize=12, verticalalignment='</span>top<span class="hljs-string">', horizontalalignment='</span>left<span class="hljs-string">', bbox=dict(boxstyle="round,pad=0.3", edgecolor="black", facecolor="white")) # 添加中心线 ax.plot([data['</span><span class="hljs-literal">True</span><span class="hljs-string">'].min(), data['</span><span class="hljs-literal">True</span><span class="hljs-string">'].max()], [data['</span><span class="hljs-literal">True</span><span class="hljs-string">'].min(), data['</span><span class="hljs-literal">True</span><span class="hljs-string">'].max()], c="black", alpha=0.5, linestyle='</span>--<span class="hljs-string">', label='</span>x=y<span class="hljs-string">') ax.legend() plt.savefig("TrueFalse.pdf", format='</span>pdf<span class="hljs-string">', bbox_inches='</span>tight<span class="hljs-string">') plt.show() </span></code></pre> <p><img src="https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/6b0093beb81e43a895eff7d0291f47b3~tplv-tlddhu82om-image.image?=&#x26;rk3s=8031ce6d&#x26;x-expires=1732821349&#x26;x-signature=w2RrZGeAeA8%2FZnPG%2FF3rVrEmSuo%3D" alt="picture.image"></p> <p><em><strong>文章二基础可视化</strong></em></p> <pre><code class="hljs language-ini"> plt.figure(<span class="hljs-attr">figsize</span>=(<span class="hljs-number">8</span>, <span class="hljs-number">6</span>), dpi=<span class="hljs-number">1200</span>) plt.scatter(y_test, y_pred_test, <span class="hljs-attr">color</span>=<span class="hljs-string">'coral'</span>, label=<span class="hljs-string">"Predicted N₂O concentration"</span>, alpha=<span class="hljs-number">0.2</span>) <span class="hljs-comment"># 预测值散点图</span> plt.plot(y_test, y_test, <span class="hljs-attr">color</span>=<span class="hljs-string">'grey'</span>, alpha=<span class="hljs-number">0.6</span>, label=<span class="hljs-string">"1:1 Line"</span>) <span class="hljs-comment"># 1:1灰色虚线</span> <span class="hljs-comment"># 拟合线</span> <span class="hljs-attr">z</span> = np.polyfit(y_test, y_pred_test, <span class="hljs-number">1</span>) <span class="hljs-attr">p</span> = np.poly1d(z) plt.plot(y_test, p(y_test), <span class="hljs-attr">color</span>=<span class="hljs-string">'blue'</span>, alpha=<span class="hljs-number">0.6</span>, <span class="hljs-attr">label</span>=f<span class="hljs-string">"Line of Best Fit\n$R^2$ = {r2_test:.2f},MAE = {mae_test:.2f}"</span>) plt.title("GBDT Regression") plt.xlabel("Observed Values") plt.ylabel("Predicted Values") plt.legend(<span class="hljs-attr">loc</span>=<span class="hljs-string">"upper left"</span>) plt.savefig('1.pdf', <span class="hljs-attr">format</span>=<span class="hljs-string">'pdf'</span>, bbox_inches=<span class="hljs-string">'tight'</span>) plt.show() </code></pre> <p><img src="https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/5e404d9e729147929a206881a2c69f9f~tplv-tlddhu82om-image.image?=&#x26;rk3s=8031ce6d&#x26;x-expires=1732821349&#x26;x-signature=9yCJ0uJiLCl0m69TuKEa5v%2BdUho%3D" alt="picture.image"></p> <p><em><strong>集成置信区间与边缘柱状图</strong></em></p> <p><img src="https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/6d415a0656274a9098920f3b1eeeb039~tplv-tlddhu82om-image.image?=&#x26;rk3s=8031ce6d&#x26;x-expires=1732821349&#x26;x-signature=cvIGQpK1mAB3YouiTTBvxtzRrhs%3D" alt="picture.image"></p> <p>通过多项式拟合计算训练集和测试集的预测值,并利用置信区间公式估算预测结果的不确定性,分别绘制训练集和测试集的拟合曲线、95%置信区间、散点图以及误差分布直方图,此外添加对角线(1:1参考线)以显示预测值与真实值的理想匹配,最终生成一张包含主要信息和辅助分布图的可视化图表,<strong>代码与数据集获取:如需获取本文完整的源代码和数据集,请添加作者微信联系</strong></p> <p><em><strong>往期推荐</strong></em></p> <p><a href="http://mp.weixin.qq.com/s?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247486563&#x26;idx=1&#x26;sn=363ff2c27a09b74b197fb65f7e39e1f9&#x26;chksm=c32420f1f453a9e7076598bd507482d8844c53e6c53d1a93a2923b9902e9bccafb1ae14ad9bc&#x26;scene=21#wechat_redirect">SCI图表复现:整合数据分布与相关系数的高级可视化策略</a></p> <p><a href="http://mp.weixin.qq.com/s?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487265&#x26;idx=1&#x26;sn=fe82c7d9cf36c1929a21da8def8e780f&#x26;chksm=c32423b3f453aaa5c116fb0d2b5af7b998753e833055dba35e7c049b1c8af518bfa202a7e60e&#x26;scene=21#wechat_redirect">SCI图表:基于相关性和标准差的多模型评价——泰勒图解析</a></p> <p><a href="http://mp.weixin.qq.com/s?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487346&#x26;idx=1&#x26;sn=ebd3cf224c87529c75f72093d00b95b9&#x26;chksm=c32423e0f453aaf6388361b263280e8c1d1e1ad074e674024e6f026f0b32335f4784feab16cf&#x26;scene=21#wechat_redirect">期刊文章配图:基于分组折线图的多机器学习模型表现评估对比</a></p> <p><a href="http://mp.weixin.qq.com/s?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487074&#x26;idx=1&#x26;sn=4a75d7d7bfc8bbeb917be0f9f617883a&#x26;chksm=c32422f0f453abe6d79112737562d8afd6d85997a795debc5bcdd96cdaeca917ac0107261dbe&#x26;scene=21#wechat_redirect">复现SCI文章 SHAP 依赖图可视化以增强机器学习模型的可解释性</a></p> <p><a href="http://mp.weixin.qq.com/s?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247486652&#x26;idx=1&#x26;sn=fcff25ea69f710cbdbd4a48b8e5bb147&#x26;chksm=c324202ef453a93815417ac6e4e0ff31329929dfbf5319db42d6e9f79b9b117c01587ac08f1e&#x26;scene=21#wechat_redirect">SCI图表复现:优化SHAP特征贡献图展示更多模型细节</a></p> <p><a href="http://mp.weixin.qq.com/s?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487192&#x26;idx=1&#x26;sn=99fdc2ff3468c9218938081ca669e12d&#x26;chksm=c324224af453ab5c76040a5015ce0069b6dc71cb5c575913ac4f3d1a7dfc30731f427ee4570b&#x26;scene=21#wechat_redirect">复现 Nature 图表——基于PCA的高维数据降维与可视化实践及其扩展</a></p> <p><a href="http://mp.weixin.qq.com/s?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487365&#x26;idx=1&#x26;sn=9faaf80eb4df796479e9a7832fc3a08a&#x26;chksm=c3242317f453aa012ad3502853b7f281c38c0dccfe9721c27d205c7fd72e9aee095ba2ecfae3&#x26;scene=21#wechat_redirect">复现Nature图表——基于PCA降维与模型预测概率的分类效果可视化</a></p> <p><a href="http://mp.weixin.qq.com/s?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487132&#x26;idx=1&#x26;sn=711abe480e0650615d43fa6289b7c98a&#x26;chksm=c324220ef453ab18993fbf5e332a578aceb209160b73a09a4d9f7ccb0ed50c4d1b4c1827d839&#x26;scene=21#wechat_redirect">SCI图表复现:特征相关性气泡热图展示</a></p> <p><a href="http://mp.weixin.qq.com/s?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487381&#x26;idx=1&#x26;sn=30eedf070eba6c052866392ca01eb392&#x26;chksm=c3242307f453aa11df072b756fa5ecb0e223b74acbb2bb2a2558ddcff55af628086595e0b6ca&#x26;scene=21#wechat_redirect">SCI图表复现:如何直观展示机器学习模型预测结果的准确性和一致性</a></p> <p><a href="http://mp.weixin.qq.com/s?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487293&#x26;idx=1&#x26;sn=b9a70cbe5de5efa79486072b945f1118&#x26;chksm=c32423aff453aab9870b579775ba901a4266e743832f01f26530b66c770f311a375eda25ec2b&#x26;scene=21#wechat_redirect">期刊文章配图:基于雷达图的多机器学习模型表现评估对比</a></p> <p><a href="http://mp.weixin.qq.com/s?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487281&#x26;idx=1&#x26;sn=dfd5362c7b5c5d8bc2a7197e4168b76a&#x26;chksm=c32423a3f453aab59234f89329970df7463515e3a699c452461cd53b11ea048797bfb50d9bd4&#x26;scene=21#wechat_redirect">期刊文章配图:斯皮尔曼相关系数热图反应非线性变量相关性</a></p> <p><img src="https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/9b7c2a8b8c0b4fed9610d19a65126917~tplv-tlddhu82om-image.image?=&#x26;rk3s=8031ce6d&#x26;x-expires=1732821349&#x26;x-signature=HRddlB%2FreztoLG1PPyAsA9F5YrY%3D" alt="picture.image"></p> <p>如果你对类似于这样的文章感兴趣。</p> <p>欢迎关注、点赞、转发~</p> <p><em>个人观点,仅供参考</em></p></div></article><div class="pNjfy"><div class="lugd4"><svg fill="none" stroke="currentColor" stroke-width="4" viewBox="0 0 48 48" aria-hidden="true" focusable="false" style="font-size:16px" class="arco-icon arco-icon-eye"><path d="M24 37c6.627 0 12.627-4.333 18-13-5.373-8.667-11.373-13-18-13-6.627 0-12.627 4.333-18 13 5.373 8.667 11.373 13 18 13Z" clip-rule="evenodd"></path><path d="M29 24a5 5 0 1 1-10 0 5 5 0 0 1 10 0Z"></path></svg><span class="MRrY3">0</span></div><div class="lugd4"><svg fill="none" stroke="currentColor" stroke-width="4" viewBox="0 0 48 48" aria-hidden="true" focusable="false" style="font-size:16px" class="arco-icon arco-icon-thumb-up"><path d="M7 17v26m35.17-21.394-5.948 18.697a1 1 0 0 1-.953.697H14V19h3l9.403-12.223a1 1 0 0 1 1.386-.196l2.535 1.87a6 6 0 0 1 2.044 6.974L31 19h9.265a2 2 0 0 1 1.906 2.606Z"></path></svg><span class="MRrY3">0</span></div><div class="lugd4"><svg fill="none" stroke="currentColor" stroke-width="4" viewBox="0 0 48 48" aria-hidden="true" focusable="false" style="font-size:16px" class="arco-icon arco-icon-message"><path d="M15 20h18m-18 9h9M7 41h17.63C33.67 41 41 33.67 41 24.63V24c0-9.389-7.611-17-17-17S7 14.611 7 24v17Z"></path></svg><span class="MRrY3">0</span></div><div class="lugd4"><svg fill="none" stroke="currentColor" stroke-width="4" viewBox="0 0 48 48" aria-hidden="true" focusable="false" style="font-size:16px" class="arco-icon arco-icon-star"><path d="M22.552 6.908a.5.5 0 0 1 .896 0l5.02 10.17a.5.5 0 0 0 .376.274l11.224 1.631a.5.5 0 0 1 .277.853l-8.122 7.916a.5.5 0 0 0-.143.443l1.917 11.178a.5.5 0 0 1-.726.527l-10.038-5.278a.5.5 0 0 0-.466 0L12.73 39.9a.5.5 0 0 1-.726-.527l1.918-11.178a.5.5 0 0 0-.144-.443l-8.122-7.916a.5.5 0 0 1 .278-.853l11.223-1.63a.5.5 0 0 0 .376-.274l5.02-10.17Z"></path></svg><span class="MRrY3">0</span></div></div><div class="M6be4 article-action-warp"><div class="NEq5K"><button class="arco-btn arco-btn-secondary arco-btn-size-default arco-btn-shape-square" type="button"><svg fill="none" stroke="currentColor" stroke-width="4" viewBox="0 0 48 48" aria-hidden="true" focusable="false" class="arco-icon arco-icon-thumb-up"><path d="M7 17v26m35.17-21.394-5.948 18.697a1 1 0 0 1-.953.697H14V19h3l9.403-12.223a1 1 0 0 1 1.386-.196l2.535 1.87a6 6 0 0 1 2.044 6.974L31 19h9.265a2 2 0 0 1 1.906 2.606Z"></path></svg><span>点赞</span></button><button class="arco-btn arco-btn-secondary arco-btn-size-default arco-btn-shape-square" type="button"><svg fill="none" stroke="currentColor" stroke-width="4" viewBox="0 0 48 48" aria-hidden="true" focusable="false" class="arco-icon arco-icon-message"><path d="M15 20h18m-18 9h9M7 41h17.63C33.67 41 41 33.67 41 24.63V24c0-9.389-7.611-17-17-17S7 14.611 7 24v17Z"></path></svg><span>评论</span></button><button class="arco-btn arco-btn-secondary arco-btn-size-default arco-btn-shape-square" type="button"><svg fill="none" stroke="currentColor" stroke-width="4" viewBox="0 0 48 48" aria-hidden="true" focusable="false" class="arco-icon arco-icon-star"><path d="M22.552 6.908a.5.5 0 0 1 .896 0l5.02 10.17a.5.5 0 0 0 .376.274l11.224 1.631a.5.5 0 0 1 .277.853l-8.122 7.916a.5.5 0 0 0-.143.443l1.917 11.178a.5.5 0 0 1-.726.527l-10.038-5.278a.5.5 0 0 0-.466 0L12.73 39.9a.5.5 0 0 1-.726-.527l1.918-11.178a.5.5 0 0 0-.144-.443l-8.122-7.916a.5.5 0 0 1 .278-.853l11.223-1.63a.5.5 0 0 0 .376-.274l5.02-10.17Z"></path></svg><span>收藏</span></button></div></div></div><div class="ZZhEV"><div class="sgjEZ"><div class="jeBJ7">关于作者</div><div class="NSxaQ"><a href="/user/358891265735203" target="_blank"><div style="width:48px;height:48px;font-size:24px" class="arco-avatar arco-avatar-circle"><span class="arco-avatar-image"><img src="https://p26-passport.byteacctimg.com/img/user-avatar/e53c7cc448716f1b283e89b53519c4d5~300x300.image" alt="Python机器学习AI"/></span></div></a><div class="I2c0Q"><a href="/user/358891265735203" target="_blank">Python机器学习AI</a></div></div><div></div></div><div class="eDNOE"><div class="ZotsP">相关产品</div></div><div class="Ex5bA"><div class="ZotsP">推荐阅读</div><a class="gZFRc" href="/articles/7438245552280010802" target="_blank"><div class="yEtsM">Windsurf:这款全新免费的 AI IDE 击败了Cursor 吗?超强上下文感知 、AI代理和工作流支持</div><div class="TNweF"></div></a><a class="gZFRc" href="/articles/7437404845872840730" target="_blank"><div class="yEtsM">生产环境中AI调用的优化:AI网关高价值应用实践</div><div class="TNweF"></div></a><a class="gZFRc" href="/articles/7440006179671654427" target="_blank"><div class="yEtsM">揭秘“让Claude 3.5 像 OpenAI o1 那样思考”的小孩哥神级Prompt是怎么炼成的</div><div class="TNweF"></div></a><a class="gZFRc" href="/articles/7440006190232567818" target="_blank"><div class="yEtsM">WorkflowLLM:从RPA到APA,用LLM自动生成智能体工作流</div><div class="TNweF"></div></a><a class="gZFRc" href="/articles/7440006120536309797" target="_blank"><div class="yEtsM">用豆包MarsCode,半小时轻松学会搭建专业产品网站</div><div class="TNweF"></div></a></div></div><div id="comment-panel" class="cKKVV"><div class="oTXbe"><div class="oBFjQ">评论</div><div class="arco-comment Ly94D"><div class="arco-comment-avatar"><div style="width:32px;height:32px;font-size:16px" class="arco-avatar arco-avatar-circle"><span class="arco-avatar-text">未登录</span></div></div><div class="arco-comment-inner"><div class="arco-comment-inner-content"><div class="arco-comment-content"><div class="jAxwI"><textarea class="arco-textarea" placeholder="输入评论"></textarea><div class="lFZfU">看完啦,<span>登录</span>分享一下感受吧~</div></div></div><div class="arco-comment-actions arco-comment-actions-align-right"></div></div></div></div><div class="iJPOx"></div><div class="qks6h">暂无评论</div></div></div></div></div><script id="__LOADABLE_REQUIRED_CHUNKS__" type="application/json">[2649,2986,7991,8626,3505,7469,9246,9902,6874]</script><script id="__LOADABLE_REQUIRED_CHUNKS___ext" type="application/json">{"namedChunks":["articles/[id]/page"]}</script><script src="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/js/lib-arco.a74ce714.js" ></script><script src="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/js/lib-polyfill.e32e6eae.js" ></script><script src="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/js/lib-lodash.66bf9186.js" ></script><script src="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/js/async/8626.72051b87.js" ></script><script src="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/js/async/3505.fc596d93.js" ></script><script src="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/js/async/7469.24783622.js" ></script><script src="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/js/async/9246.633f6657.js" ></script><script src="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/js/async/9902.ab79fd01.js" ></script><script src="//portal.volccdn.com/obj/volcfe-scm/deploy/volc_developer_/42325/static/js/async/articles/[id]/page.68d574c4.js" ></script><script>window._SSR_DATA = {"data":{},"context":{"request":{"params":{},"query":{},"pathname":"\u002Farticles\u002F7440006179723935794","host":"developer.volcengine.com","url":"https:\u002F\u002Fdeveloper.volcengine.com\u002Farticles\u002F7440006179723935794"}},"renderLevel":2}</script> <script>window._ROUTER_DATA = {"loaderData":{"layout":{"err_no":401,"err_msg":"NotAuthorized"},"articles\u002Flayout":null,"articles\u002F[id]\u002Flayout":null,"articles\u002F[id]\u002Fpage":{"article":{"data":{"content":{"item_id":"7440006179723935794","item_type":2,"app_id":3569,"user_id":"358891265735203","version":1,"status":2,"create_time":1732261430,"update_time":1732273169,"publish_time":1732261455,"name":"一图胜千言:回归预测模型训练集与测试集的进阶可视化","abstract":"如果你对类似于这样的文章感兴趣。\r\n\r\n欢迎关注、点赞、转发~","cover_image":{"key":"","url":"https:\u002F\u002Fp6-volc-community-sign.byteimg.com\u002Ftos-cn-i-tlddhu82om\u002Ff214052511b04c25909c0397b3654788~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1732821349&x-signature=MkCQcPnNOsDb%2BmZpilvMZpXLBaw%3D","size":0,"mime_type":"","rid":""},"mime_type":"","content":"\u003Cp\u003E\u003Cimg src=\"https:\u002F\u002Fp6-volc-community-sign.byteimg.com\u002Ftos-cn-i-tlddhu82om\u002F5d5899a5ebe642beb1b3bfcd2ca7ca09~tplv-tlddhu82om-image.image?=&#x26;rk3s=8031ce6d&#x26;x-expires=1732821349&#x26;x-signature=Cd2WzCRDmypJaLzAHNtXGHnu6h4%3D\" alt=\"picture.image\"\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Cem\u003E\u003Cstrong\u003E背景\u003C\u002Fstrong\u003E\u003C\u002Fem\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E在前两篇文章中,已经深入探讨了回归预测模型的性能评估与数据可视化益处,第一篇文章中——\u003Ca href=\"http:\u002F\u002Fmp.weixin.qq.com\u002Fs?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247486486&#x26;idx=1&#x26;sn=7798a4bffa7e5ba2962a8ab245b25aed&#x26;chksm=c3242084f453a992a3bc5192ede358721070b57da9f585359a2d2c70d0eab7abe5564f9c9717&#x26;scene=21#wechat_redirect\"\u003E用图表说话:如何有效呈现回归预测模型结果\u003C\u002Fa\u003E,讲解如何通过精美的图表(散点图+边缘柱状图)展现模型的训练和测试结果(针对于回归预测模型)\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Cimg src=\"https:\u002F\u002Fp6-volc-community-sign.byteimg.com\u002Ftos-cn-i-tlddhu82om\u002F8f6efceaa7134b8d9ae2690d80459a9a~tplv-tlddhu82om-image.image?=&#x26;rk3s=8031ce6d&#x26;x-expires=1732821349&#x26;x-signature=jBOSXVhKNcs%2BtkPpYMke2uV1cZk%3D\" alt=\"picture.image\"\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E第二篇文章中——\u003Ca href=\"http:\u002F\u002Fmp.weixin.qq.com\u002Fs?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487381&#x26;idx=1&#x26;sn=30eedf070eba6c052866392ca01eb392&#x26;chksm=c3242307f453aa11df072b756fa5ecb0e223b74acbb2bb2a2558ddcff55af628086595e0b6ca&#x26;scene=21#wechat_redirect\"\u003ESCI图表复现:如何直观展示机器学习模型预测结果的准确性和一致性\u003C\u002Fa\u003E,则通过散点图结合1:1线、最佳拟合线、置信区间及R²和MAE指标,全方位直观展示模型预测准确性、趋势拟合程度和不确定性\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Cimg src=\"https:\u002F\u002Fp6-volc-community-sign.byteimg.com\u002Ftos-cn-i-tlddhu82om\u002F983e1b5a62b04e93bf60fa7cec94c410~tplv-tlddhu82om-image.image?=&#x26;rk3s=8031ce6d&#x26;x-expires=1732821349&#x26;x-signature=wgtmS7nQcy9by88dUEJ3iGyUyr4%3D\" alt=\"picture.image\"\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E然而,真实数据的分布与模型预测结果的差异往往隐藏在更复杂的图表中,为了更全面地呈现训练集与测试集之间的关系,并直观展示预测值的置信区间及边缘分布,本篇文章将带大家深入理解一套综合性的可视化方案,本文集成置信区间与边缘柱状图的新图表形式,直观展示模型的拟合效果,如下:\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Cimg src=\"https:\u002F\u002Fp6-volc-community-sign.byteimg.com\u002Ftos-cn-i-tlddhu82om\u002F9d1b9732bf2444519e297497e95610da~tplv-tlddhu82om-image.image?=&#x26;rk3s=8031ce6d&#x26;x-expires=1732821349&#x26;x-signature=5eUFj1OECSMu%2BOZJ%2FKzu%2FrWeRCA%3D\" alt=\"picture.image\"\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Cem\u003E\u003Cstrong\u003E代码实现\u003C\u002Fstrong\u003E\u003C\u002Fem\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Cem\u003E\u003Cstrong\u003E数据读取\u003C\u002Fstrong\u003E\u003C\u002Fem\u003E\u003C\u002Fp\u003E\n\u003Cpre\u003E\u003Ccode class=\"hljs language-python\"\u003E\n \n\u003Cspan class=\"hljs-keyword\"\u003Eimport\u003C\u002Fspan\u003E pandas \u003Cspan class=\"hljs-keyword\"\u003Eas\u003C\u002Fspan\u003E pd\n \n\u003Cspan class=\"hljs-keyword\"\u003Eimport\u003C\u002Fspan\u003E numpy \u003Cspan class=\"hljs-keyword\"\u003Eas\u003C\u002Fspan\u003E np\n \n\u003Cspan class=\"hljs-keyword\"\u003Eimport\u003C\u002Fspan\u003E matplotlib.pyplot \u003Cspan class=\"hljs-keyword\"\u003Eas\u003C\u002Fspan\u003E plt\n \n\u003Cspan class=\"hljs-keyword\"\u003Eimport\u003C\u002Fspan\u003E seaborn \u003Cspan class=\"hljs-keyword\"\u003Eas\u003C\u002Fspan\u003E sns\n \n\u003Cspan class=\"hljs-keyword\"\u003Efrom\u003C\u002Fspan\u003E sklearn \u003Cspan class=\"hljs-keyword\"\u003Eimport\u003C\u002Fspan\u003E metrics\n \n\u003Cspan class=\"hljs-keyword\"\u003Eimport\u003C\u002Fspan\u003E scipy.stats \u003Cspan class=\"hljs-keyword\"\u003Eas\u003C\u002Fspan\u003E stats\n \nplt.rcParams[\u003Cspan class=\"hljs-string\"\u003E'font.family'\u003C\u002Fspan\u003E] = \u003Cspan class=\"hljs-string\"\u003E'Times New Roman'\u003C\u002Fspan\u003E\n \nplt.rcParams[\u003Cspan class=\"hljs-string\"\u003E'axes.unicode_minus'\u003C\u002Fspan\u003E] = \u003Cspan class=\"hljs-literal\"\u003EFalse\u003C\u002Fspan\u003E\n \n\n \ndf_train = pd.read_excel(\u003Cspan class=\"hljs-string\"\u003E'GBDT_train.xlsx'\u003C\u002Fspan\u003E)\n \ndf_test = pd.read_excel(\u003Cspan class=\"hljs-string\"\u003E'GBDT_test.xlsx'\u003C\u002Fspan\u003E)\n \n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\n\u003Cp\u003E从 Excel 文件中分别加载训练数据 (GBDT_train.xlsx) 和测试数据 (GBDT_test.xlsx) 到数据框 (df_train 和 df_test) 中,里面包含真实值以及预测值\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Cem\u003E\u003Cstrong\u003E模型性能计算\u003C\u002Fstrong\u003E\u003C\u002Fem\u003E\u003C\u002Fp\u003E\n\u003Cpre\u003E\u003Ccode class=\"hljs language-ini\"\u003E\n \nfrom sklearn import metrics\n \n\u003Cspan class=\"hljs-comment\"\u003E# 真实\u003C\u002Fspan\u003E\n \n\u003Cspan class=\"hljs-attr\"\u003Ey_train\u003C\u002Fspan\u003E = df_train[\u003Cspan class=\"hljs-string\"\u003E'Experimental value'\u003C\u002Fspan\u003E]\n \n\u003Cspan class=\"hljs-attr\"\u003Ey_test\u003C\u002Fspan\u003E = df_test[\u003Cspan class=\"hljs-string\"\u003E'Experimental value'\u003C\u002Fspan\u003E]\n \n\u003Cspan class=\"hljs-comment\"\u003E# 预测\u003C\u002Fspan\u003E\n \n\u003Cspan class=\"hljs-attr\"\u003Ey_pred_train\u003C\u002Fspan\u003E = df_train[\u003Cspan class=\"hljs-string\"\u003E'Predicted value'\u003C\u002Fspan\u003E]\n \n\u003Cspan class=\"hljs-attr\"\u003Ey_pred_test\u003C\u002Fspan\u003E = df_test[\u003Cspan class=\"hljs-string\"\u003E'Predicted value'\u003C\u002Fspan\u003E]\n \n\n \n\u003Cspan class=\"hljs-attr\"\u003Ey_pred_train_list\u003C\u002Fspan\u003E = y_pred_train.tolist()\n \n\u003Cspan class=\"hljs-attr\"\u003Ey_pred_test_list\u003C\u002Fspan\u003E = y_pred_test.tolist()\n \n\n \n\u003Cspan class=\"hljs-comment\"\u003E# 计算训练集的指标\u003C\u002Fspan\u003E\n \n\u003Cspan class=\"hljs-attr\"\u003Emse_train\u003C\u002Fspan\u003E = metrics.mean_squared_error(y_train, y_pred_train_list)\n \n\u003Cspan class=\"hljs-attr\"\u003Ermse_train\u003C\u002Fspan\u003E = np.sqrt(mse_train)\n \n\u003Cspan class=\"hljs-attr\"\u003Emae_train\u003C\u002Fspan\u003E = metrics.mean_absolute_error(y_train, y_pred_train_list)\n \n\u003Cspan class=\"hljs-attr\"\u003Er2_train\u003C\u002Fspan\u003E = metrics.r2_score(y_train, y_pred_train_list)\n \n\n \n\u003Cspan class=\"hljs-comment\"\u003E# 计算测试集的指标\u003C\u002Fspan\u003E\n \n\u003Cspan class=\"hljs-attr\"\u003Emse_test\u003C\u002Fspan\u003E = metrics.mean_squared_error(y_test, y_pred_test_list)\n \n\u003Cspan class=\"hljs-attr\"\u003Ermse_test\u003C\u002Fspan\u003E = np.sqrt(mse_test)\n \n\u003Cspan class=\"hljs-attr\"\u003Emae_test\u003C\u002Fspan\u003E = metrics.mean_absolute_error(y_test, y_pred_test_list)\n \n\u003Cspan class=\"hljs-attr\"\u003Er2_test\u003C\u002Fspan\u003E = metrics.r2_score(y_test, y_pred_test_list)\n \n\n \nprint(\"训练集评价指标:\")\n \nprint(\"均方误差 (MSE):\", mse_train)\n \nprint(\"均方根误差 (RMSE):\", rmse_train)\n \nprint(\"平均绝对误差 (MAE):\", mae_train)\n \nprint(\"拟合优度 (R-squared):\", r2_train)\n \n\n \nprint(\"\\n测试集评价指标:\")\n \nprint(\"均方误差 (MSE):\", mse_test)\n \nprint(\"均方根误差 (RMSE):\", rmse_test)\n \nprint(\"平均绝对误差 (MAE):\", mae_test)\n \nprint(\"拟合优度 (R-squared):\", r2_test)\n \n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\n\u003Cp\u003E\u003Cimg src=\"https:\u002F\u002Fp6-volc-community-sign.byteimg.com\u002Ftos-cn-i-tlddhu82om\u002F65d9443a3ad448c48160def061b2c83a~tplv-tlddhu82om-image.image?=&#x26;rk3s=8031ce6d&#x26;x-expires=1732821349&#x26;x-signature=D0e8dt73uItPNsduGXDoAfvcC34%3D\" alt=\"picture.image\"\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E从训练集和测试集的数据中提取真实值 (Experimental value) 和预测值 (Predicted value),计算模型在训练集和测试集上的回归性能指标\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Cem\u003E\u003Cstrong\u003E文章一可视化\u003C\u002Fstrong\u003E\u003C\u002Fem\u003E\u003C\u002Fp\u003E\n\u003Cpre\u003E\u003Ccode class=\"hljs language-ini\"\u003E\n \n\u003Cspan class=\"hljs-comment\"\u003E# 创建一个包含训练集和测试集真实值与预测值的数据框\u003C\u002Fspan\u003E\n \n\u003Cspan class=\"hljs-attr\"\u003Edata_train\u003C\u002Fspan\u003E = pd.DataFrame({\n \n 'True': y_train,\n \n 'Predicted': y_pred_train,\n \n 'Data Set': 'Train'\n \n})\n \n\n \n\u003Cspan class=\"hljs-attr\"\u003Edata_test\u003C\u002Fspan\u003E = pd.DataFrame({\n \n 'True': y_test,\n \n 'Predicted': y_pred_test,\n \n 'Data Set': 'Test'\n \n})\n \n\n \n\u003Cspan class=\"hljs-attr\"\u003Edata\u003C\u002Fspan\u003E = pd.concat([data_train, data_test])\n \n\n \n\u003Cspan class=\"hljs-comment\"\u003E# 自定义调色板\u003C\u002Fspan\u003E\n \n\u003Cspan class=\"hljs-attr\"\u003Epalette\u003C\u002Fspan\u003E = {\u003Cspan class=\"hljs-string\"\u003E'Train'\u003C\u002Fspan\u003E: \u003Cspan class=\"hljs-string\"\u003E'#b4d4e1'\u003C\u002Fspan\u003E, \u003Cspan class=\"hljs-string\"\u003E'Test'\u003C\u002Fspan\u003E: \u003Cspan class=\"hljs-string\"\u003E'#f4ba8a'\u003C\u002Fspan\u003E}\n \n\n \n\u003Cspan class=\"hljs-comment\"\u003E# 创建 JointGrid 对象\u003C\u002Fspan\u003E\n \nplt.figure(\u003Cspan class=\"hljs-attr\"\u003Efigsize\u003C\u002Fspan\u003E=(\u003Cspan class=\"hljs-number\"\u003E8\u003C\u002Fspan\u003E, \u003Cspan class=\"hljs-number\"\u003E6\u003C\u002Fspan\u003E), dpi=\u003Cspan class=\"hljs-number\"\u003E1200\u003C\u002Fspan\u003E)\n \n\u003Cspan class=\"hljs-attr\"\u003Eg\u003C\u002Fspan\u003E = sns.JointGrid(data=data, x=\u003Cspan class=\"hljs-string\"\u003E\"True\"\u003C\u002Fspan\u003E, y=\u003Cspan class=\"hljs-string\"\u003E\"Predicted\"\u003C\u002Fspan\u003E, hue=\u003Cspan class=\"hljs-string\"\u003E\"Data Set\"\u003C\u002Fspan\u003E, height=\u003Cspan class=\"hljs-number\"\u003E10\u003C\u002Fspan\u003E, palette=palette)\n \n\n \n\u003Cspan class=\"hljs-comment\"\u003E# 绘制中心的散点图\u003C\u002Fspan\u003E\n \ng.plot_joint(sns.scatterplot, \u003Cspan class=\"hljs-attr\"\u003Ealpha\u003C\u002Fspan\u003E=\u003Cspan class=\"hljs-number\"\u003E0.5\u003C\u002Fspan\u003E)\n \n\u003Cspan class=\"hljs-comment\"\u003E# 添加训练集的回归线\u003C\u002Fspan\u003E\n \nsns.regplot(\u003Cspan class=\"hljs-attr\"\u003Edata\u003C\u002Fspan\u003E=data_train, x=\u003Cspan class=\"hljs-string\"\u003E\"True\"\u003C\u002Fspan\u003E, y=\u003Cspan class=\"hljs-string\"\u003E\"Predicted\"\u003C\u002Fspan\u003E, scatter=\u003Cspan class=\"hljs-literal\"\u003EFalse\u003C\u002Fspan\u003E, ax=g.ax_joint, color=\u003Cspan class=\"hljs-string\"\u003E'#b4d4e1'\u003C\u002Fspan\u003E, label=\u003Cspan class=\"hljs-string\"\u003E'Train Regression Line'\u003C\u002Fspan\u003E)\n \n\u003Cspan class=\"hljs-comment\"\u003E# 添加测试集的回归线\u003C\u002Fspan\u003E\n \nsns.regplot(\u003Cspan class=\"hljs-attr\"\u003Edata\u003C\u002Fspan\u003E=data_test, x=\u003Cspan class=\"hljs-string\"\u003E\"True\"\u003C\u002Fspan\u003E, y=\u003Cspan class=\"hljs-string\"\u003E\"Predicted\"\u003C\u002Fspan\u003E, scatter=\u003Cspan class=\"hljs-literal\"\u003EFalse\u003C\u002Fspan\u003E, ax=g.ax_joint, color=\u003Cspan class=\"hljs-string\"\u003E'#f4ba8a'\u003C\u002Fspan\u003E, label=\u003Cspan class=\"hljs-string\"\u003E'Test Regression Line'\u003C\u002Fspan\u003E)\n \n\u003Cspan class=\"hljs-comment\"\u003E# 添加边缘的柱状图\u003C\u002Fspan\u003E\n \ng.plot_marginals(sns.histplot, \u003Cspan class=\"hljs-attr\"\u003Ekde\u003C\u002Fspan\u003E=\u003Cspan class=\"hljs-literal\"\u003EFalse\u003C\u002Fspan\u003E, element=\u003Cspan class=\"hljs-string\"\u003E'bars'\u003C\u002Fspan\u003E, multiple=\u003Cspan class=\"hljs-string\"\u003E'stack'\u003C\u002Fspan\u003E, alpha=\u003Cspan class=\"hljs-number\"\u003E0.5\u003C\u002Fspan\u003E)\n \n\n \n\u003Cspan class=\"hljs-comment\"\u003E# 添加拟合优度文本在右下角\u003C\u002Fspan\u003E\n \n\u003Cspan class=\"hljs-attr\"\u003Eax\u003C\u002Fspan\u003E = g.ax_joint\n \nax.text(0.95, 0.1, f'Train $R^2$ = {r2_train:.3f}', \u003Cspan class=\"hljs-attr\"\u003Etransform\u003C\u002Fspan\u003E=ax.transAxes, fontsize=\u003Cspan class=\"hljs-number\"\u003E12\u003C\u002Fspan\u003E,\n \n \u003Cspan class=\"hljs-attr\"\u003Everticalalignment\u003C\u002Fspan\u003E=\u003Cspan class=\"hljs-string\"\u003E'bottom'\u003C\u002Fspan\u003E, horizontalalignment=\u003Cspan class=\"hljs-string\"\u003E'right'\u003C\u002Fspan\u003E, bbox=dict(boxstyle=\u003Cspan class=\"hljs-string\"\u003E\"round,pad=0.3\"\u003C\u002Fspan\u003E, edgecolor=\u003Cspan class=\"hljs-string\"\u003E\"black\"\u003C\u002Fspan\u003E, facecolor=\u003Cspan class=\"hljs-string\"\u003E\"white\"\u003C\u002Fspan\u003E))\n \nax.text(0.95, 0.05, f'Test $R^2$ = {r2_test:.3f}', \u003Cspan class=\"hljs-attr\"\u003Etransform\u003C\u002Fspan\u003E=ax.transAxes, fontsize=\u003Cspan class=\"hljs-number\"\u003E12\u003C\u002Fspan\u003E,\n \n \u003Cspan class=\"hljs-attr\"\u003Everticalalignment\u003C\u002Fspan\u003E=\u003Cspan class=\"hljs-string\"\u003E'bottom'\u003C\u002Fspan\u003E, horizontalalignment=\u003Cspan class=\"hljs-string\"\u003E'right'\u003C\u002Fspan\u003E, bbox=dict(boxstyle=\u003Cspan class=\"hljs-string\"\u003E\"round,pad=0.3\"\u003C\u002Fspan\u003E, edgecolor=\u003Cspan class=\"hljs-string\"\u003E\"black\"\u003C\u002Fspan\u003E, facecolor=\u003Cspan class=\"hljs-string\"\u003E\"white\"\u003C\u002Fspan\u003E))\n \n\u003Cspan class=\"hljs-comment\"\u003E# 在左上角添加模型名称文本\u003C\u002Fspan\u003E\n \nax.text(0.75, 0.99, '\u003Cspan class=\"hljs-attr\"\u003EModel\u003C\u002Fspan\u003E = GBDT\u003Cspan class=\"hljs-string\"\u003E', transform=ax.transAxes, fontsize=12,\n \n verticalalignment='\u003C\u002Fspan\u003Etop\u003Cspan class=\"hljs-string\"\u003E', horizontalalignment='\u003C\u002Fspan\u003Eleft\u003Cspan class=\"hljs-string\"\u003E', bbox=dict(boxstyle=\"round,pad=0.3\", edgecolor=\"black\", facecolor=\"white\"))\n \n\n \n# 添加中心线\n \nax.plot([data['\u003C\u002Fspan\u003E\u003Cspan class=\"hljs-literal\"\u003ETrue\u003C\u002Fspan\u003E\u003Cspan class=\"hljs-string\"\u003E'].min(), data['\u003C\u002Fspan\u003E\u003Cspan class=\"hljs-literal\"\u003ETrue\u003C\u002Fspan\u003E\u003Cspan class=\"hljs-string\"\u003E'].max()], [data['\u003C\u002Fspan\u003E\u003Cspan class=\"hljs-literal\"\u003ETrue\u003C\u002Fspan\u003E\u003Cspan class=\"hljs-string\"\u003E'].min(), data['\u003C\u002Fspan\u003E\u003Cspan class=\"hljs-literal\"\u003ETrue\u003C\u002Fspan\u003E\u003Cspan class=\"hljs-string\"\u003E'].max()], c=\"black\", alpha=0.5, linestyle='\u003C\u002Fspan\u003E--\u003Cspan class=\"hljs-string\"\u003E', label='\u003C\u002Fspan\u003Ex=y\u003Cspan class=\"hljs-string\"\u003E')\n \nax.legend()\n \nplt.savefig(\"TrueFalse.pdf\", format='\u003C\u002Fspan\u003Epdf\u003Cspan class=\"hljs-string\"\u003E', bbox_inches='\u003C\u002Fspan\u003Etight\u003Cspan class=\"hljs-string\"\u003E')\n \nplt.show()\n \n\u003C\u002Fspan\u003E\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\n\u003Cp\u003E\u003Cimg src=\"https:\u002F\u002Fp6-volc-community-sign.byteimg.com\u002Ftos-cn-i-tlddhu82om\u002F6b0093beb81e43a895eff7d0291f47b3~tplv-tlddhu82om-image.image?=&#x26;rk3s=8031ce6d&#x26;x-expires=1732821349&#x26;x-signature=w2RrZGeAeA8%2FZnPG%2FF3rVrEmSuo%3D\" alt=\"picture.image\"\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Cem\u003E\u003Cstrong\u003E文章二基础可视化\u003C\u002Fstrong\u003E\u003C\u002Fem\u003E\u003C\u002Fp\u003E\n\u003Cpre\u003E\u003Ccode class=\"hljs language-ini\"\u003E\n \nplt.figure(\u003Cspan class=\"hljs-attr\"\u003Efigsize\u003C\u002Fspan\u003E=(\u003Cspan class=\"hljs-number\"\u003E8\u003C\u002Fspan\u003E, \u003Cspan class=\"hljs-number\"\u003E6\u003C\u002Fspan\u003E), dpi=\u003Cspan class=\"hljs-number\"\u003E1200\u003C\u002Fspan\u003E)\n \nplt.scatter(y_test, y_pred_test, \u003Cspan class=\"hljs-attr\"\u003Ecolor\u003C\u002Fspan\u003E=\u003Cspan class=\"hljs-string\"\u003E'coral'\u003C\u002Fspan\u003E, label=\u003Cspan class=\"hljs-string\"\u003E\"Predicted N₂O concentration\"\u003C\u002Fspan\u003E, alpha=\u003Cspan class=\"hljs-number\"\u003E0.2\u003C\u002Fspan\u003E) \u003Cspan class=\"hljs-comment\"\u003E# 预测值散点图\u003C\u002Fspan\u003E\n \nplt.plot(y_test, y_test, \u003Cspan class=\"hljs-attr\"\u003Ecolor\u003C\u002Fspan\u003E=\u003Cspan class=\"hljs-string\"\u003E'grey'\u003C\u002Fspan\u003E, alpha=\u003Cspan class=\"hljs-number\"\u003E0.6\u003C\u002Fspan\u003E, label=\u003Cspan class=\"hljs-string\"\u003E\"1:1 Line\"\u003C\u002Fspan\u003E) \u003Cspan class=\"hljs-comment\"\u003E# 1:1灰色虚线\u003C\u002Fspan\u003E\n \n\n \n\u003Cspan class=\"hljs-comment\"\u003E# 拟合线\u003C\u002Fspan\u003E\n \n\u003Cspan class=\"hljs-attr\"\u003Ez\u003C\u002Fspan\u003E = np.polyfit(y_test, y_pred_test, \u003Cspan class=\"hljs-number\"\u003E1\u003C\u002Fspan\u003E)\n \n\u003Cspan class=\"hljs-attr\"\u003Ep\u003C\u002Fspan\u003E = np.poly1d(z)\n \nplt.plot(y_test, p(y_test), \u003Cspan class=\"hljs-attr\"\u003Ecolor\u003C\u002Fspan\u003E=\u003Cspan class=\"hljs-string\"\u003E'blue'\u003C\u002Fspan\u003E, alpha=\u003Cspan class=\"hljs-number\"\u003E0.6\u003C\u002Fspan\u003E, \n \n \u003Cspan class=\"hljs-attr\"\u003Elabel\u003C\u002Fspan\u003E=f\u003Cspan class=\"hljs-string\"\u003E\"Line of Best Fit\\n$R^2$ = {r2_test:.2f},MAE = {mae_test:.2f}\"\u003C\u002Fspan\u003E)\n \nplt.title(\"GBDT Regression\")\n \nplt.xlabel(\"Observed Values\")\n \nplt.ylabel(\"Predicted Values\")\n \nplt.legend(\u003Cspan class=\"hljs-attr\"\u003Eloc\u003C\u002Fspan\u003E=\u003Cspan class=\"hljs-string\"\u003E\"upper left\"\u003C\u002Fspan\u003E)\n \nplt.savefig('1.pdf', \u003Cspan class=\"hljs-attr\"\u003Eformat\u003C\u002Fspan\u003E=\u003Cspan class=\"hljs-string\"\u003E'pdf'\u003C\u002Fspan\u003E, bbox_inches=\u003Cspan class=\"hljs-string\"\u003E'tight'\u003C\u002Fspan\u003E)\n \nplt.show()\n \n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\n\u003Cp\u003E\u003Cimg src=\"https:\u002F\u002Fp6-volc-community-sign.byteimg.com\u002Ftos-cn-i-tlddhu82om\u002F5e404d9e729147929a206881a2c69f9f~tplv-tlddhu82om-image.image?=&#x26;rk3s=8031ce6d&#x26;x-expires=1732821349&#x26;x-signature=9yCJ0uJiLCl0m69TuKEa5v%2BdUho%3D\" alt=\"picture.image\"\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Cem\u003E\u003Cstrong\u003E集成置信区间与边缘柱状图\u003C\u002Fstrong\u003E\u003C\u002Fem\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Cimg src=\"https:\u002F\u002Fp6-volc-community-sign.byteimg.com\u002Ftos-cn-i-tlddhu82om\u002F6d415a0656274a9098920f3b1eeeb039~tplv-tlddhu82om-image.image?=&#x26;rk3s=8031ce6d&#x26;x-expires=1732821349&#x26;x-signature=cvIGQpK1mAB3YouiTTBvxtzRrhs%3D\" alt=\"picture.image\"\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E通过多项式拟合计算训练集和测试集的预测值,并利用置信区间公式估算预测结果的不确定性,分别绘制训练集和测试集的拟合曲线、95%置信区间、散点图以及误差分布直方图,此外添加对角线(1:1参考线)以显示预测值与真实值的理想匹配,最终生成一张包含主要信息和辅助分布图的可视化图表,\u003Cstrong\u003E代码与数据集获取:如需获取本文完整的源代码和数据集,请添加作者微信联系\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Cem\u003E\u003Cstrong\u003E往期推荐\u003C\u002Fstrong\u003E\u003C\u002Fem\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Ca href=\"http:\u002F\u002Fmp.weixin.qq.com\u002Fs?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247486563&#x26;idx=1&#x26;sn=363ff2c27a09b74b197fb65f7e39e1f9&#x26;chksm=c32420f1f453a9e7076598bd507482d8844c53e6c53d1a93a2923b9902e9bccafb1ae14ad9bc&#x26;scene=21#wechat_redirect\"\u003ESCI图表复现:整合数据分布与相关系数的高级可视化策略\u003C\u002Fa\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Ca href=\"http:\u002F\u002Fmp.weixin.qq.com\u002Fs?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487265&#x26;idx=1&#x26;sn=fe82c7d9cf36c1929a21da8def8e780f&#x26;chksm=c32423b3f453aaa5c116fb0d2b5af7b998753e833055dba35e7c049b1c8af518bfa202a7e60e&#x26;scene=21#wechat_redirect\"\u003ESCI图表:基于相关性和标准差的多模型评价——泰勒图解析\u003C\u002Fa\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Ca href=\"http:\u002F\u002Fmp.weixin.qq.com\u002Fs?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487346&#x26;idx=1&#x26;sn=ebd3cf224c87529c75f72093d00b95b9&#x26;chksm=c32423e0f453aaf6388361b263280e8c1d1e1ad074e674024e6f026f0b32335f4784feab16cf&#x26;scene=21#wechat_redirect\"\u003E期刊文章配图:基于分组折线图的多机器学习模型表现评估对比\u003C\u002Fa\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Ca href=\"http:\u002F\u002Fmp.weixin.qq.com\u002Fs?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487074&#x26;idx=1&#x26;sn=4a75d7d7bfc8bbeb917be0f9f617883a&#x26;chksm=c32422f0f453abe6d79112737562d8afd6d85997a795debc5bcdd96cdaeca917ac0107261dbe&#x26;scene=21#wechat_redirect\"\u003E复现SCI文章 SHAP 依赖图可视化以增强机器学习模型的可解释性\u003C\u002Fa\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Ca href=\"http:\u002F\u002Fmp.weixin.qq.com\u002Fs?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247486652&#x26;idx=1&#x26;sn=fcff25ea69f710cbdbd4a48b8e5bb147&#x26;chksm=c324202ef453a93815417ac6e4e0ff31329929dfbf5319db42d6e9f79b9b117c01587ac08f1e&#x26;scene=21#wechat_redirect\"\u003ESCI图表复现:优化SHAP特征贡献图展示更多模型细节\u003C\u002Fa\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Ca href=\"http:\u002F\u002Fmp.weixin.qq.com\u002Fs?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487192&#x26;idx=1&#x26;sn=99fdc2ff3468c9218938081ca669e12d&#x26;chksm=c324224af453ab5c76040a5015ce0069b6dc71cb5c575913ac4f3d1a7dfc30731f427ee4570b&#x26;scene=21#wechat_redirect\"\u003E复现 Nature 图表——基于PCA的高维数据降维与可视化实践及其扩展\u003C\u002Fa\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Ca href=\"http:\u002F\u002Fmp.weixin.qq.com\u002Fs?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487365&#x26;idx=1&#x26;sn=9faaf80eb4df796479e9a7832fc3a08a&#x26;chksm=c3242317f453aa012ad3502853b7f281c38c0dccfe9721c27d205c7fd72e9aee095ba2ecfae3&#x26;scene=21#wechat_redirect\"\u003E复现Nature图表——基于PCA降维与模型预测概率的分类效果可视化\u003C\u002Fa\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Ca href=\"http:\u002F\u002Fmp.weixin.qq.com\u002Fs?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487132&#x26;idx=1&#x26;sn=711abe480e0650615d43fa6289b7c98a&#x26;chksm=c324220ef453ab18993fbf5e332a578aceb209160b73a09a4d9f7ccb0ed50c4d1b4c1827d839&#x26;scene=21#wechat_redirect\"\u003ESCI图表复现:特征相关性气泡热图展示\u003C\u002Fa\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Ca href=\"http:\u002F\u002Fmp.weixin.qq.com\u002Fs?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487381&#x26;idx=1&#x26;sn=30eedf070eba6c052866392ca01eb392&#x26;chksm=c3242307f453aa11df072b756fa5ecb0e223b74acbb2bb2a2558ddcff55af628086595e0b6ca&#x26;scene=21#wechat_redirect\"\u003ESCI图表复现:如何直观展示机器学习模型预测结果的准确性和一致性\u003C\u002Fa\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Ca href=\"http:\u002F\u002Fmp.weixin.qq.com\u002Fs?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487293&#x26;idx=1&#x26;sn=b9a70cbe5de5efa79486072b945f1118&#x26;chksm=c32423aff453aab9870b579775ba901a4266e743832f01f26530b66c770f311a375eda25ec2b&#x26;scene=21#wechat_redirect\"\u003E期刊文章配图:基于雷达图的多机器学习模型表现评估对比\u003C\u002Fa\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Ca href=\"http:\u002F\u002Fmp.weixin.qq.com\u002Fs?__biz=Mzk0NDM4OTYyOQ==&#x26;mid=2247487281&#x26;idx=1&#x26;sn=dfd5362c7b5c5d8bc2a7197e4168b76a&#x26;chksm=c32423a3f453aab59234f89329970df7463515e3a699c452461cd53b11ea048797bfb50d9bd4&#x26;scene=21#wechat_redirect\"\u003E期刊文章配图:斯皮尔曼相关系数热图反应非线性变量相关性\u003C\u002Fa\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Cimg src=\"https:\u002F\u002Fp6-volc-community-sign.byteimg.com\u002Ftos-cn-i-tlddhu82om\u002F9b7c2a8b8c0b4fed9610d19a65126917~tplv-tlddhu82om-image.image?=&#x26;rk3s=8031ce6d&#x26;x-expires=1732821349&#x26;x-signature=HRddlB%2FreztoLG1PPyAsA9F5YrY%3D\" alt=\"picture.image\"\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E如果你对类似于这样的文章感兴趣。\u003C\u002Fp\u003E\n\u003Cp\u003E欢迎关注、点赞、转发~\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Cem\u003E个人观点,仅供参考\u003C\u002Fem\u003E\u003C\u002Fp\u003E","resource":{},"extra":{"source":{"app_id":3569,"name":"","author":""},"html_content":""},"parent_id":"0","parent_type":0,"last_version":1,"last_status":2,"last_create_time":1732261430,"last_update_time":1732261455,"status_tags":[],"create_user_id":"0","item_source":"2","arcosite_id":"","text_url":""},"user":{"user_id":"358891265735203","user_type":14,"name":"Python机器学习AI","avatar":{"key":"","url":"https:\u002F\u002Fp26-passport.byteacctimg.com\u002Fimg\u002Fuser-avatar\u002Fe53c7cc448716f1b283e89b53519c4d5~300x300.image","size":0,"mime_type":"","rid":""},"status":2},"categories":[{"category_id":"3","name":"AI","parent_id":"0","create_time":1637495002,"update_time":1637495249,"op_user_id":"0","abstract":"","cover_image":{"key":"","url":"","size":0,"mime_type":"","rid":""},"rank":0,"category_url":""}],"tags":[{"tag_id":"7309680367596732443","name":"向量数据库","create_time":1701917641,"update_time":1705378351,"op_user_id":"3945470841857399","create_user_id":"3945470841857399","abstract":"","cover_image":{"key":"","url":"","size":0,"mime_type":"","rid":""},"status":2},{"tag_id":"7307103161498632233","name":"大模型","create_time":1701317532,"update_time":1701917647,"op_user_id":"3945470841857399","create_user_id":"620546920289582","abstract":"","cover_image":{"key":"","url":"","size":0,"mime_type":"","rid":""},"status":2},{"tag_id":"7146205183897239566","name":"机器学习","create_time":1663855553,"update_time":1663855553,"op_user_id":"4015857634130296","create_user_id":"4015857634130296","abstract":"","cover_image":{"key":"","url":"","size":0,"mime_type":"","rid":""},"status":2}],"interact_status":{"is_like":false,"is_collect":false,"is_join":false,"like_count":0,"collect_count":0,"comment_count":0,"join_count":0,"evaluate_count":0,"evaluate_avg":0,"evaluate_self":0},"pool_status":{"is_top":false,"is_good":false,"is_recommend":false},"content_count":{"view_count":248,"child_count":0},"op_info":{"op_user":null,"op_time":0,"op_resource":""}},"err_msg":"","err_no":0},"recomConfig":{"err_no":0,"err_msg":"success","data":{"recom_result":[],"service_info_map":[{"name":"万有商城","data":[[{"title":"万有商城","item":[]}]]},{"name":"企业服务与云通信","data":[[{"title":"域名与网站","item":[{"title":"SSL证书","link":"www.volcengine.com\u002Fproduct\u002Fcertificate-center","des":"可信赖的数字证书全生命周期管理平台,提供SSL证书和私有CA服务","desShort":"可信赖的数字证书全生命周期管理平台","enTitle":"certificate_service"},{"title":"边缘云商标服务","link":"www.volcengine.com\u002Fproduct\u002Ftrademark","des":"智能注册,快速提交,便捷管理,即时保护您的品牌;资深顾问,专业方案,全程跟进,助您注册省心无忧","desShort":"专业、高效的商标注册管理服务平台","enTitle":"trademark"},{"title":"域名注册","link":"www.volcengine.com\u002Fproduct\u002Fdomain-service","des":"提供域名注册、转入、委托购买、管理等服务,可选择的域名后缀丰富","desShort":"便捷的域名注册、转入、委托购买、管理等服务","enTitle":"domain_service"},{"title":"云解析DNS","link":"www.volcengine.com\u002Fproduct\u002Ftrafficroute","des":"安全、可靠、快速的权威DNS、递归DNS、私网DNS及全局流量管理GTM服务","desShort":"全系列云解析DNS和全局流量管理GTM","enTitle":"dns"},{"title":"账户管理","link":"","des":"16字以上描述16字以上描述16字以上描述","desShort":"账户管理","enTitle":""},{"title":"全局流量管理","link":"","des":"火山引擎云调度(GTM)是基于 DNS 的流量路由服务。 假设您的服务部署在多个位于不同地理位置的 IDC 机房。每个 IDC 机房针对不同网络运营商有不同的接入 IP 地址。用户通过域名访问您的服务。 当分布在不同地理位置、使用不同网络运营商的用户访问您的域名时,您希望您的服务可以满足以下要求: 用户可以获取访问延时最低的可用 IP 地址。 用户请求可以根据每个 IDC 机房的容量合理分配,实现用户请求数量上的负载均衡。 某个 IDC 机房因发生故障而不可用时,用户请求不会被路由到该 IDC 机房。 云调度 GTM 可以通过以下功能满足这些要求: 降低用户访问延时:云调度 GTM 会根据用户的地理位置,把用户请求路由到延时最低的 IP 地址。 负载均衡:云调度 GTM 会根据您配置的权重、容量或负载信息,合理分配各个 IP 地址收到的用户请求数。 故障转移:云调度 GTM 会主动进行基于多种类型的定时健康检查,实时检测各个 IP 地址的可用性。用户请求不会被路由到不可用的 IP 地址。","desShort":"火山引擎云调度(GTM)是基于 DNS 的流量路由服务。","enTitle":"gtm"},{"title":"移动解析 HTTPDNS","link":"https:\u002F\u002Fwww.volcengine.com\u002Fproduct\u002Ftrafficroute","des":"火山引擎移动解析(HTTPDNS)为互联网域名提供递归 DNS 服务。您的客户端应用在集成移动解析 HTTPDNS 提供的客户端 SDK 或 HTTP API 后,就可以绕过 Local DNS 服务器,通过 HTTP 或 HTTPS 协议向移动解析 HTTPDNS 服务端发送 DNS 查询请求。 相比基于 Local DNS 的传统 DNS 解析流程,移动解析 HTTPDNS 可以避免以下问题: 客户端应用访问的域名的 DNS 被劫持 客户端应用的 IP 地址和 DNS 查询返回的的 IP 地址分别属于不同的网络运营商或地理位置相距较远,导致应用的网络延时较高 Local DNS 服务器的 DNS 缓存更新不及时,导致客户端应用无法及时得到最新的 IP 地址 另外,您还可以基于网络运营商、地理位置或自定义标识对 HTTPDNS 服务端返回的 DNS 查询结果进行自定义配置。","desShort":"火山引擎移动解析(HTTPDNS)为互联网域名提供递归 DNS 服务。","enTitle":"httpdns"}]},{"title":"云通信","item":[{"title":"语音服务","link":"www.volcengine.com\u002Fproduct\u002Fcloud-vms","des":"为企业提供专业的语音服务,支持语音SIP、语音通知、语音验证码、隐私号等产品","desShort":"高质量、高并发的语音通信能力","enTitle":"vms"},{"title":"云通信 短信服务","link":"www.volcengine.com\u002Fproduct\u002Fcloud-sms","des":"提供安全可靠、便捷高效的全球短信服务,服务范围覆盖国内外230多个国家和地区,适用于推广短信、通知短信、验证码短信等多种场景,稳定触达客户","desShort":"安全可靠、便捷高效的全球短信服务","enTitle":"volcSMS"},{"title":"语音服务海外版","link":"https:\u002F\u002Fwww.volcengine.com\u002Fproduct\u002Fcloud-vms","des":"为企业提供专业的语音服务,支持语音SIP、语音通知、语音验证码、隐私号等产品","desShort":"高质量、高并发的语音通信能力","enTitle":""}]},{"title":"教育科研","item":[{"title":"生信操作系统","link":"www.volcengine.com\u002Fproduct\u002Fbioos","des":"火山引擎生信操作系统 Bio-OS 是火山引擎提供的低门槛,低成本,极速的云上基因分析平台;基于Serverless 架构实现了标准生信工作流引擎和多种三级分析引擎支持,帮助生信科研人员、生物科技公司,农业育种公司快速构建基础能力","desShort":"低门槛、低成本的极速云上生信分析服务","enTitle":"bio"}]}]]},{"name":"人工智能与机器学习","data":[[{"title":"机器学习","item":[{"title":"机器学习平台","link":"www.volcengine.com\u002Fproduct\u002Fml-platform","des":"机器学习平台是面向机器学习应用开发者,提供 WebIDE 和自定义训练等丰富建模工具、多框架高性能模型推理服务的企业级云原生机器学习平台。","desShort":"企业级云原生机器学习平台","enTitle":"ml_platform"},{"title":"火山方舟","link":"https:\u002F\u002Fwww.volcengine.com\u002Fproduct\u002Fark","des":"字节跳动推出的自研大模型。通过字节内部50+业务场景实践验证,每日千亿级tokens大使用量持续打磨,提供多模态能力,以优质模型效果为企业打造丰富的业务体验","desShort":"一站式大模型服务平台","enTitle":""},{"title":"量化科学计算平台","link":"","des":"企业级量化科学计算平台是面向量子化学研究员的高通量计算化学任务调度服务。","desShort":"企业级量化科学计算平台","enTitle":""}]},{"title":"智能体验与创作","item":[{"title":"Para云平台","link":"www.volcengine.com\u002Fproduct\u002FAR","des":"提供全场景沉浸式的AR互动体验,促进用户体验升级和商业价值转化提升,打造身临其境的交互体验","desShort":"全链路AR营销服务及平台","enTitle":"para"},{"title":"视觉智能","link":"www.volcengine.com\u002Fproduct\u002Fintelligent-interactive-effects","des":"提供图像视频美化和计算机视觉算法能力,支持移动端、PC端等跨平台使用","desShort":"多项智能图像渲染和视觉算法能力","enTitle":"cv"},{"title":"智能创作云","link":"www.volcengine.com\u002Fproduct\u002FICC","des":"为企业和媒体推出的智能内容生产平台","desShort":"企业级智能内容生产SaaS","enTitle":"ic_iam"},{"title":"test","link":"","des":"testttttttttttttt","desShort":"test","enTitle":""},{"title":"智能美化特效","link":"","des":"智能美化特效,目前仅包含基于大模型的ai音乐创作","desShort":"智能美化特效","enTitle":""}]},{"title":"智能应用","item":[{"title":"智能创意","link":"www.volcengine.com\u002Fproduct\u002FCMP","des":"企业抖音账号矩阵管理运营后台,通过丰富运营工具,数据分析,视频工具,提升运营质量","desShort":"企业抖音账号矩阵管理运营管家","enTitle":"CreativeManagementPlatform"}]},{"title":"智能语音交互","item":[{"title":"AVATAR","link":"www.volcengine.com\u002Fproduct\u002Favatar","des":"基于多模态交互体系打造全场景数字人产品方案,为企业提供拟人化服务","desShort":"全场景数字人产品方案","enTitle":"avatar"},{"title":"有声内容创作平台","link":"www.volcengine.com\u002Fproduct\u002Fvoice-tech","des":"基于语音识别、语音合成、自然语言理解等技术,适用于电话客服、阅读、会议纪要、视频字幕等场景,让您的产品能“听”会“说”","desShort":"语音合成、语音识别等AI语音服务","enTitle":"accp"},{"title":"智能外呼","link":"www.volcengine.com\u002Fproduct\u002Fsmart-outbound","des":"基于语音对话能力,结合外呼场景构建的交互真实,应答智能的外呼系统","desShort":"真实互动语音外呼机器人","enTitle":"smart-outbound"},{"title":"live_insight","link":"","des":"完整直播回放,支持查看逐字稿,直播内容标签化,可结构化查看内容分布。 - 支持自由视频切片及灵活内容检索,可以根据关键词、标签在场次内\u002F跨场次搜索符合条件的话术内容。","desShort":"直播洞察","enTitle":""},{"title":"直播洞察","link":"","des":"完整直播回放,支持查看逐字稿,直播内容标签化,可结构化查看内容分布。支持自由视频切片及灵活内容检索,可以根据关键词、标签在场次内\u002F跨场次搜索符合条件的话术内容。","desShort":"直播洞察","enTitle":""}]},{"title":"智能内容","item":[{"title":"内容定制API","link":"www.volcengine.com\u002Fproduct\u002Fcontent-customization","des":"帮助客户快速构建内容信息流的SaaS产品","desShort":"快速构建内容信息流的SaaS产品","enTitle":"content"},{"title":"内容管理平台","link":"www.volcengine.com\u002Fproduct\u002Fcms","des":"提供内容引入、质检、理解、分发、数据的全链路一站式管理工具,为企业内容精细化运营赋能","desShort":"提供一站式运营管理能力","enTitle":"mp"},{"title":"内容洞察平台","link":"","des":"内容管理平台依托字节跳动长期沉淀的先进的内容管理能力、质检能力、理解能力、运营能力、推荐能力、数据能力,为合作伙伴提供从内容引入、内容加工、内容分发、数据分析全链路一站式运营管理平台,为企业的内容精细化运营赋能","desShort":"提供一站式运营管理能力","enTitle":"insight"},{"title":"内容管理平台 Platform","link":"","des":"内容管理平台依托字节跳动长期沉淀的领先的内容管理能力、质检能力、理解能力、运营能力、推荐能力、数据能力,为合作伙伴提供从内容引入、内容加工、内容分发、数据分析全链路一站式运营管理平台,为企业的内容精细化运营赋能。","desShort":"内容管理平台以内容为驱动,从底层系统到上层客户端一站式赋能,为企业带来全链路业务增长","enTitle":""}]},{"title":"推荐算法","item":[{"title":"智能推荐","link":"www.volcengine.com\u002Fproduct\u002Frec","des":"为客户提供端到端的一站式推荐服务能力搭建平台","desShort":"一站式企业级推荐平台","enTitle":"air"}]},{"title":"内容安全与风控","item":[{"title":"业务风险识别","link":"www.volcengine.com\u002Fproduct\u002Fbusiness-security","des":"精准识别各类场景黑灰产风险,持续守护业务的健康增长","desShort":"精准识别各类场景黑灰产风险","enTitle":"BusinessSecurity"}]},{"title":"AI开放平台","item":[{"title":"机器翻译","link":"www.volcengine.com\u002Fproduct\u002Fmachine-translation","des":"本地化一站式解决方案,简化本地化流程,提高协作效率,助力产品出海转型","desShort":"通用机器翻译、视频翻译和智能同传","enTitle":"translate"},{"title":"智能视频分析平台","link":"www.volcengine.com\u002Fproduct\u002Fiva","des":"基于AI视频结构化技术,可对视频或图片中的人、车、物、行为事件等进行检测并识别的通用性视频分析平台","desShort":"涵盖人、车、事件的全自研AI视频算法","enTitle":"iva"}]}]]},{"name":"大数据","data":[[{"title":"数据中台","item":[{"title":"ByteHouse","link":"www.volcengine.com\u002Fproduct\u002Fbytehouse","des":"极致性能弹性伸缩的分析型数据库","desShort":"极致性能弹性伸缩的分析型数据库","enTitle":"bytehouse"},{"title":"全域数据集成","link":"www.volcengine.com\u002Fproduct\u002Fdatasail","des":"高速稳定的批量和流式数据同步引擎","desShort":"高速稳定的批量和流式数据同步引擎","enTitle":"datasail"},{"title":"E-MapReduce","link":"www.volcengine.com\u002Fproduct\u002Femr","des":"云原生开源大数据平台","desShort":"云原生开源大数据平台","enTitle":"emr"},{"title":"大数据研发治理套件","link":"www.volcengine.com\u002Fproduct\u002Fdataleap","des":"一站式数据中台套件","desShort":"一站式数据中台套件","enTitle":"dataleap"},{"title":"湖仓一体分析服务 LAS","link":"www.volcengine.com\u002Fproduct\u002Flas","des":"全托管一站式智能大数据分析服务","desShort":"全托管一站式智能大数据分析服务","enTitle":"las"},{"title":"流式计算 Flink版","link":"www.volcengine.com\u002Fproduct\u002Fflink","des":"云原生全托管实时数据处理分析服务","desShort":"云原生全托管实时数据处理分析服务","enTitle":"flink"},{"title":"智能数据洞察","link":"www.volcengine.com\u002Fproduct\u002Fdatawind","des":"一站式大量级数据展示与分析平台","desShort":"一站式大量级数据展示与分析平台","enTitle":"datawind"}]},{"title":"增长营销","item":[{"title":"数据安全中心-私有化平台","link":"www.volcengine.com\u002Fproduct\u002FveCDP","des":"面向业务增长的客户全域数据中台","desShort":"面向业务增长的客户全域数据中台","enTitle":"cdp"},{"title":"增长分析staging","link":"www.volcengine.com\u002Fproduct\u002Fdatafinder","des":"一站式用户分析与运营平台","desShort":"一站式用户分析与运营平台","enTitle":"clouduba_staging"},{"title":"智能广告营销平台","link":"www.volcengine.com\u002Fproduct\u002Fgmp","des":"全域营销触达与多策略管理平台","desShort":"全域营销触达与多策略管理平台","enTitle":"adopenapi"},{"title":"A\u002FB测试 DataTester","link":"www.volcengine.com\u002Fproduct\u002Fdatatester","des":"一站式A\u002FB测试与智能优化平台","desShort":"一站式A\u002FB测试与智能优化平台","enTitle":"datatester"},{"title":"增长分析","link":"","des":"一站式用户分析与运营平台 为企业提供数字化消费者行为分析洞见 发现业务的关键增长点,提升企业效益","desShort":"DataFinder 热门 一站式用户分析与运营平台","enTitle":""}]}]]},{"name":"CDN与边缘","data":[[{"title":"CDN与加速","item":[{"title":"多云CDN管理平台","link":"www.volcengine.com\u002Fproduct\u002Fmcdn","des":"基于数百Tbps业务规模实践打造的多云CDN运维管理服务,提供流量调度、运维监控、智能容灾、成本管理等能力","desShort":"多云架构下的CDN运维管理服务","enTitle":"mcdn"},{"title":"内容分发网络","link":"www.volcengine.com\u002Fproduct\u002FCDN","des":"基于覆盖全球骨干网以及各地域的海量加速节点,为图文、音视频等多种类型内容提供高性能,稳定的加速服务,提升访问体验","desShort":"稳定、弹性、高性能的全球内容分发服务","enTitle":"CDN"},{"title":"全球加速","link":"www.volcengine.com\u002Fproduct\u002Fga","des":"基于火山引擎边缘云覆盖全球的节点和骨干网基础设施,为游戏、协同办公和互联网应用提供安全、合规和可靠的全球网络加速服务","desShort":"安全、合规、可靠的全球网络加速服务","enTitle":"ga"},{"title":"全站加速","link":"www.volcengine.com\u002Fproduct\u002Fdcdn","des":"基于火山引擎边缘云覆盖全球的节点和骨干网基础设施,为您的API和互联网应用提供安全、全链路和高质量的网络加速解决方案","desShort":"安全、全链路、高质量的网络加速解决方案","enTitle":"dcdn"}]},{"title":"边缘计算","item":[{"title":"边缘计算节点","link":"www.volcengine.com\u002Fproduct\u002Fveen","des":"基于全域覆盖的边缘节点,提供弹性、可靠、分布式的异构算力资源和低时延的网络资源","desShort":"全域覆盖、弹性、分布式的异构算力资源","enTitle":"veen_edge"},{"title":"边缘渲染农场","link":"www.volcengine.com\u002Fproduct\u002FveRender","des":"高效、安全、稳定的渲染平台,依托底层海量边缘算力资源,多节点并行渲染,显著提升渲染效率","desShort":"高效、安全、稳定的分布式渲染平台","enTitle":"verender"}]}]]},{"name":"视频云","data":[[{"title":"视频服务","item":[{"title":"veImageX","link":"www.volcengine.com\u002Fproducts\u002Fimagex","des":"灵活、高效的图像、文档等各类素材上传、托管、智能处理和分发一站式解决方案","desShort":"素材托管、智能处理与分发全链路优化","enTitle":"ImageX"},{"title":"企业直播","link":"www.volcengine.com\u002Fproduct\u002Flive-saas","des":"0开发拥有定制直播间,千万并发流畅体验","desShort":"0开发、高可靠,打造企业级直播平台","enTitle":"livesaas"},{"title":"实时音视频","link":"www.volcengine.com\u002Fproduct\u002FveRTC","des":"亿级 DAU 产品验证打磨,提供全球范围内高质量、低延时的实时音视频通信能力","desShort":"首创支持单房间超千人开麦实时互动","enTitle":"rtc"},{"title":"视频点播","link":"www.volcengine.com\u002Fproduct\u002Fvod","des":"视频点播包含媒资上传、管理、处理、音视频分发播放的全链路能力","desShort":"端云一体、开箱即用的一站式点播方案","enTitle":"vod"},{"title":"视频直播","link":"www.volcengine.com\u002Fproduct\u002Flive","des":"为企业和个人提供安全、稳定、专业的云端直播服务","desShort":"低延迟、高画质、更流畅的直播服务","enTitle":"live"},{"title":"智能处理","link":"www.volcengine.com\u002Fproduct\u002Fimp","des":"弹性稳定智能的多媒体处理服务,助力企业提升音视频处理效率和质量","desShort":"全流程多媒体智能处理打造超高清画质","enTitle":"imp"},{"title":"WebRTC传输网络","link":"","des":"依托抖音、飞书等产品多年的经验技术积累,提供全球范围内高品质、超低延时的实时通信能力及配套场景化解决方案。","desShort":"WebRTC传输网络","enTitle":"wtn"},{"title":"视联网","link":"","des":"一站式物联网视频服务,便捷接入各类摄像机硬件和平台,行业视频互联网化","desShort":"一站式物联网视频服务","enTitle":"aiotvideo"}]},{"title":"云渲染与流化平台","item":[{"title":"云手机","link":"www.volcengine.com\u002Fproduct\u002FACEP","des":"高性能多场景云手机服务及解决方案","desShort":"自研ARM服务器,最大化模拟真机性能","enTitle":"ACEP"},{"title":"云游戏","link":"www.volcengine.com\u002Fproduct\u002FveGame","des":"结合云计算和超低延迟音视频传输技术的多场景云游戏解决方案","desShort":"一站式云游戏方案,小时级快速接入","enTitle":"vegame"}]}]]},{"name":"安全","data":[[{"title":"云安全","item":[{"title":"DDoS防护","link":"www.volcengine.com\u002Fproduct\u002FAntiDDoS-basic","des":"面向易遭受 DDoS 攻击的用户提供精准防护服务","desShort":"轻松抵御TB级大流量DDoS攻击","enTitle":"DDoS"},{"title":"Web应用防火墙","link":"www.volcengine.com\u002Fproduct\u002Fwaf","des":"有效防御恶意入侵和攻击,解决数据泄露以及合规、隐私保护等问题,从而保障数据安全性和应用程序可用性","desShort":"防御常见Web攻击,保障可用性","enTitle":"waf"},{"title":"高级网络威胁检测系统","link":"www.volcengine.com\u002Fproduct\u002Fnta","des":"高级网络威胁检测系统使用行为分析、特征检测、关联分析等技术检测网络威胁","desShort":"精准定位已知和未知威胁","enTitle":"nta"},{"title":"攻击面管理 SaaS版","link":"www.volcengine.com\u002Fproduct\u002Fasm","des":"从攻击者视角出发,全面、精准识别暴露给攻击者的客户资产及其安全风险,帮助客户从传统的安全事件响应,转变为“先发现、先预防、先处理”的主动持续监测模式","desShort":"从攻击者视角发现风险","enTitle":"asm"},{"title":"云安全中心","link":"www.volcengine.com\u002Fproduct\u002Fsecurity-center","des":"云安全中心是一个集资产管理、威胁检测、智能分析、协同响应于一体的云安全运营平台","desShort":"实时识别、分析、预警安全威胁","enTitle":"seccenter"},{"title":"云堡垒机","link":"www.volcengine.com\u002Fproduct\u002Fvbh","des":"云堡垒机是一款 4A 统一的运维安全审计平台,保障企业的安全合规","desShort":"4A 统一的运维安全审计平台","enTitle":"vbh"},{"title":"云防火墙","link":"www.volcengine.com\u002Fproduct\u002Fcloudfirewall","des":"基于公有云环境下的 SaaS 化防火墙,为您的云上资产提供访问控制、流量可视化和日志审计等功能","desShort":"一键开启云上资产安全访问控制","enTitle":"fw_center"},{"title":"多云安全平台","link":"https:\u002F\u002Fwww.volcengine.com\u002Fproduct\u002Fcspm","des":"火山引擎旗下多云安全管理平台,统一管理资产、服务、事件、身份四个安全要素,为企业提供一站式安全运营、安全运维、安全数据共享能力","desShort":"连接多云和混合环境以获得全面的安全可见性。","enTitle":"msc"},{"title":"多云安全管理平台","link":"","des":"多云安全平台为企业客户提供SaaS化多云安全管理服务。通过统一管理多云、云上云下、中心+边缘等环境的资产、服务、告警、身份四要素,提供一站式安全运营、安全运维、安全数据共享能力。","desShort":"连接多云和混合环境以获得全面的安全可见性","enTitle":""}]},{"title":"办公安全","item":[{"title":"飞连","link":"www.volcengine.com\u002Fproduct\u002Ffeilian","des":"企业级数字化办公平台,帮助员工随时随地,安全连接内部网络与应用","desShort":"一站式 IT 管理与办公安全平台","enTitle":"corplink"}]},{"title":"终端安全","item":[{"title":"云工作负载保护平台","link":"www.volcengine.com\u002Fproduct\u002Fcwpp","des":"云工作负载保护平台提供主机、容器的反入侵、RASP、资产、漏洞与基线管理等能力","desShort":"为主机与容器提供统一可视的安全防护","enTitle":"cwpp"}]},{"title":"数据安全","item":[{"title":"密钥管理系统","link":"www.volcengine.com\u002Fproduct\u002Fkms","des":"一站式、全托管的密钥管理和数据加密服务平台","desShort":"提供一站式、全托管的密钥管理能力","enTitle":"kms"},{"title":"云加密机","link":"www.volcengine.com\u002Fproduct\u002Fcloudhsm","des":"满足金融、互联网等行业的加密需求,保护云上业务数据隐私安全","desShort":"满足加密合规需求,保护云上数据安全","enTitle":"hsm"},{"title":"公域数据报告","link":"","des":"基于多方安全计算、联邦学习、可信执行环境、同态加密和差分隐私等技术,结合火山引擎的各项业务实践,为合作伙伴提供综合全面的隐私计算解决方案,降低数据要素流通安全风险。","desShort":"基于多方安全计算、联邦学习、可信执行环境、同态加密和差分隐私等技术,结合火山引擎的各项业务实践,为合作伙伴提供综合全面的隐私计算解决方案,降低数据要素流通安全风险","enTitle":""}]},{"title":"安全专家服务"}]]},{"name":"容器与中间件","data":[[{"title":"容器服务","item":[{"title":"vci","link":"www.volcengine.com\u002Fproduct\u002Fvke","des":"通过深度融合新一代云原生技术,提供以容器为核心的高性能 Kubernetes 容器集群管理服务","desShort":"高性能Kubernetes容器集群管理","enTitle":"vci_pre"},{"title":"分布式云原生平台","link":"www.volcengine.com\u002Fproduct\u002Fdcp","des":"分布式云原生平台是面向多云多集群场景的企业级云原生统一管理平台","desShort":"面向多云多集群场景的统一管理平台","enTitle":"dcp"},{"title":"镜像仓库","link":"www.volcengine.com\u002Fproduct\u002Fcr","des":"提供安全高可用的容器镜像托管服务,方便用户对容器镜像进行全生命周期管理","desShort":"安全高可用的容器镜像托管服务","enTitle":"cr"},{"title":"容器服务","link":"","des":"容器服务(Volcengine Kubernetes Engine,VKE)提供高性能、高可靠、极致弹性的企业级容器管理能力,无缝集成弹性容器(VCI)的灵活弹性能力,支持云下弹云上、跨云弹性等分布式云原生能力。","desShort":"高性能Kubernetes容器集群管理","enTitle":"vke"},{"title":"vci","link":"","des":"高性能、稳定的弹性容器VCI服务","desShort":"弹性容器VCI","enTitle":""}]},{"title":"Serverless","item":[{"title":"函数服务","link":"www.volcengine.com\u002Fproduct\u002Fvefaas","des":"事件驱动的无服务器函数托管计算平台,支持快速创建和部署函数,连接云上中间件和数据库产品,帮助企业低成本构建复杂应用","desShort":"无服务器函数托管计算平台","enTitle":"vefaas"}]},{"title":"微服务治理","item":[{"title":"API网关","link":"www.volcengine.com\u002Fproduct\u002Fapig","des":"高扩展、高可用的云原生网关","desShort":"高扩展、高可用的云原生网关","enTitle":"apig"},{"title":"微服务引擎","link":"www.volcengine.com\u002Fproduct\u002Fmse","des":"一键快速构建云原生微服务体系","desShort":"一键快速构建云原生微服务体系","enTitle":"mse"},{"title":"应用韧性增强服务","link":"","des":"提供丰富的故障原子、跨集群的故障注入和管理、灵活的实验编排、多维度的指标统计,帮助客户提升系统韧性","desShort":"丰富的混沌演练能力以提升系统韧性","enTitle":""}]},{"title":"中间件","item":[{"title":"消息队列 Kafka版","link":"www.volcengine.com\u002Fproduct\u002FMessage-Queue-for-Kafka","des":"基于 Apache Kafka 构建,提供高可用、高吞吐量的分布式消息队列服务","desShort":"企业级高可用、全托管的Kafka服务","enTitle":"Kafka"},{"title":"消息队列 RabbitMQ版","link":"www.volcengine.com\u002Fproduct\u002FMessage-Queue-for-RabbitMQ","des":"消息队列 RabbitMQ版兼容开源 RabbitMQ,提供高可用、低延迟、高并发的消息服务","desShort":"企业级高可用、全托管的RabbitMQ","enTitle":"RabbitMQ"},{"title":"消息队列 RocketMQ版","link":"www.volcengine.com\u002Fproduct\u002FMessage-Queue-for-RocketMQ","des":"基于 Apache RocketMQ 构建的低延迟、高并发、高可用的分布式消息中间件","desShort":"企业级高可用、全托管的RocketMQ","enTitle":"RocketMQ"},{"title":"云搜索服务","link":"www.volcengine.com\u002Fproduct\u002Felasticsearch-service","des":"云搜索服务是基于Elasticsearch的在线分布式搜索服务,为您提供多条件的检索、统计等","desShort":"完全托管的在线分布式搜索服务","enTitle":"ESCloud"},{"title":"云原生消息引擎","link":"www.volcengine.com\u002Fproduct\u002Fbmq","des":"基于云原生的全托管、高吞吐、动态扩缩、高稳定性的分布式存算分离消息服务","desShort":"深度自研且兼容Kafka的消息中间件","enTitle":"bmq"}]},{"title":"云原生可观测","item":[{"title":"托管Prometheus","link":"www.volcengine.com\u002Fproduct\u002Fprometheus","des":"完全继承和对接 Prometheus 开源生态,为用户提供免运维、高可用的新一代云原生监控引擎系统","desShort":"免运维、高可用的云原生监控引擎","enTitle":"vmp"},{"title":"应用性能监控全链路版","link":"www.volcengine.com\u002Fproduct\u002Fapmplus","des":"提供针对应用服务的品质、性能以及自定义埋点的APM服务","desShort":"快速定位异常,优化应用品质","enTitle":"apmplus_api"},{"title":"云监控","link":"www.volcengine.com\u002Fproduct\u002Fcloudmonitor","des":"监控云上资源健康状态,并及时对异常资源告警,确保云上业务及资源顺畅运行","desShort":"7×24小时监控云资源健康状态","enTitle":"Volc_Observe"},{"title":"云拨测","link":"https:\u002F\u002Fwww.volcengine.com\u002Fproduct\u002Fcloud-detect","des":"云拨测(CloudDetect)通过分布在全球各地的监测节点来模拟用户访问,实现端到端网络可用性、稳定性以及用户体验的可观测。帮助客户快速发现、定位和诊断网络服务问题,提升用户体验","desShort":"主动拨测,先于用户感知故障","enTitle":"cloud_detect"},{"title":"服务网格","link":"","des":"服务网格(Application Mesh Service,AMS)通过无侵入方式 为微服务应用提供可观测、服务治理和安全管控能力。","desShort":"服务网格(Application Mesh Service,AMS)通过无侵入方式 为微服务应用提供可观测、服务治理和安全管控能力。","enTitle":"ams"},{"title":"应用性能监控全链路版-inner","link":"","des":"APMPlus Client inner API","desShort":"APMPlus Client inner API","enTitle":""}]},{"title":"开发与运维","item":[{"title":"持续交付","link":"www.volcengine.com\u002Fproduct\u002Fcp","des":"企业级CI\u002FCD平台,助力构建集成自动化、应用交付自动化","desShort":"企业级CI\u002FCD,敏捷高效交付业务","enTitle":"cp"},{"title":"制品仓库","link":"www.volcengine.com\u002Fproduct\u002Fartifacts","des":"制品仓库(Artifacts)为用户提供开箱即用、高安全的云端制品托管服务,方便用户对源代码编译后的制品进行全生命周期管理","desShort":"开箱即用、高安全的制品托管服务","enTitle":"artifacts"}]}]]},{"name":"数据库","data":[[{"title":"关系型数据库","item":[{"title":"云数据库 PostgreSQL 版","link":"www.volcengine.com\u002Fproduct\u002Frds-pg","des":"云数据库 PostgreSQL 版是一种基于云平台的即开即用、稳定可靠、灵活弹性、易于使用的关系型数据库服务,RDS for PostgreSQL完全兼容原生PostgreSQL","desShort":"稳定可靠的弹性PostgreSQL服务","enTitle":"rds_postgresql"},{"title":"云数据库 SQL Server 版","link":"www.volcengine.com\u002Fproduct\u002Fsql-server","des":"云数据库 SQL Server 版拥有正版授权,能够高度兼容微软生态下的各类应用,并提供实例管理、备份恢复、日志管理、监控告警、数据迁移等全套解决方案,帮助企业更多聚焦于自己的核心业务。","desShort":"微软官方授权,广泛兼容各类应用","enTitle":"rds_mssql"},{"title":"云数据库 RDS MySQL 版","link":"www.volcengine.com\u002Fproduct\u002Frds-mysql","des":"基于云平台的即开即用、稳定可靠、灵活弹性、易于使用的关系型数据库服务","desShort":"即开即用稳定可靠的弹性MySQL服务","enTitle":"rds_mysql"},{"title":"云数据库 veDB MySQL 版","link":"www.volcengine.com\u002Fproduct\u002Fvedb-mysql","des":"新一代分布式关系型数据库,完全兼容 MySQL,提供安全可靠、简单易用和极致性价比的企业级数据库服务","desShort":"自研新一代云原生高性能MySQL服务","enTitle":"vedbm"},{"title":"图数据库 veGraph","link":"","des":"veStack 全栈版是火山引擎自主研发的云平台,包含计算、存储、网络、安全、数据库、容器、大数据、AI等产品能力,助力客户建设简单、智能、高效、全栈式的云平台,实现客户的数字化创新和智能升级","desShort":"自研新一代云原生高性能MySQL服务","enTitle":"graph"}]},{"title":"NoSQL数据库","item":[{"title":"表格数据库 HBase 版","link":"www.volcengine.com\u002Fproduct\u002Fhbase","des":"火山引擎表格数据库 HBase 版是基于 Apache HBase 提供的全托管数据库服务","desShort":"低成本高吞吐,兼容标准HBase","enTitle":"hbase"},{"title":"缓存数据库 Redis 版","link":"www.volcengine.com\u002Fproduct\u002Fredis","des":"与Redis兼容的全托管缓存和存储服务,以其超高读写性能为企业应用赋能","desShort":"兼具缓存的高性能与存储的持久化","enTitle":"Redis"},{"title":"文档数据库 MongoDB 版","link":"www.volcengine.com\u002Fproduct\u002Fmongodb","des":"开箱即用、稳定可靠、灵活弹性的云数据库服务,完全兼容原生 MongoDB","desShort":"开箱即用的文档数据库MongoDB","enTitle":"mongodb"}]},{"title":"数据库管理服务","item":[{"title":"数据库传输服务","link":"www.volcengine.com\u002Fproduct\u002Fdts","des":"提供一体化数据库数据传输管理服务,降低数据库之间数据流通复杂性,可帮助用户在业务不停服的前提下轻松完成数据库迁移上云","desShort":"数据库不停服,业务轻松迁移云端","enTitle":"dts"},{"title":"数据库工作台","link":"www.volcengine.com\u002Fproduct\u002Fdbw","des":"一款面向多类型数据库生命周期管理的统一云管平台。集数据库图形用户界面(GUI)、故障排查、审计于一体的数据库SaaS产品","desShort":"面向多类型数据库生命周期管理的统一云管平台","enTitle":"dbw"}]}]]},{"name":"存储","data":[[{"title":"基础存储服务","item":[{"title":"大数据统一存储 CloudFS","link":"www.volcengine.com\u002Fproduct\u002Fcfs","des":"大数据文件存储,支持HDFS语义,提供数据加速,多模式支持等能力","desShort":"高性能的存储加速服务","enTitle":"cfs"},{"title":"弹性块存储","link":"www.volcengine.com\u002Fproduct\u002Febs","des":"弹性块存储EBS是火山引擎提供的高可用、高可靠、高性能的块存储设备","desShort":"高可靠、高性能、低延时的块存储","enTitle":"storage_ebs"},{"title":"对象存储","link":"www.volcengine.com\u002Fproduct\u002FTOS","des":"海量、安全、低成本、易用、高可靠、高可用的分布式云存储服务","desShort":"高可用分布式存储,部署规模超10EB级","enTitle":"tos"},{"title":"日志服务","link":"www.volcengine.com\u002Fproduct\u002Ftls","des":"日志服务是火山引擎的实时日志平台,提供日志采集、检索分析等功能","desShort":"针对日志类数据的一站式服务","enTitle":"TLS"},{"title":"文件存储 NAS","link":"www.volcengine.com\u002Fproduct\u002Fnas","des":"NAS 是一种共享访问、持续在线、弹性扩展、跨地域访问的高性价比云存储服务","desShort":"云端共享文件存储,支持PB级数据量","enTitle":"FileNAS"},{"title":"文件存储 vePFS","link":"www.volcengine.com\u002Fproduct\u002Fvepfs","des":"vePFS 是一种高吞吐、低延时、可扩展的并行文件存储服务","desShort":"高吞吐、低延时的并行文件存储服务","enTitle":"vepfs"},{"title":"存储thallo管控服务","link":"","des":"存储通用管控服务,代理三方服务请求","desShort":"存储通用管控服务","enTitle":""}]},{"title":"数据迁移与工具","item":[{"title":"存储迁移服务","link":"www.volcengine.com\u002Fproduct\u002Fdms","des":"存储迁移服务用于将其他云服务商对象存储数据迁移到火山引擎对象存储","desShort":"快速平滑、高效安全的数据迁移服务","enTitle":"dms"}]}]]},{"name":"网络","data":[[{"title":"云上网络","item":[{"title":"NAT网关","link":"www.volcengine.com\u002Fproduct\u002Fnat","des":"为私有网络内的云服务器实例提供网络地址转换能力,使子网内的多个云服务器可以共享公网IP访问公网","desShort":"灵活部署,内外网连接统一地址转换","enTitle":"natgateway"},{"title":"负载均衡","link":"www.volcengine.com\u002Fproduct\u002Fclb","des":"一种将访问流量按策略分发给多台后端服务器的服务,可以提高系统的整体可用性","desShort":"高性能流量分发,提升系统可用性","enTitle":"clb"},{"title":"公网IP","link":"www.volcengine.com\u002Fproduct\u002Feip","des":"一种可以独立购买和持有的公网IP地址资源。通过和云资源绑定,实现云资源与公网的连接","desShort":"弹性、灵活、安全可靠的公网服务","enTitle":"eip"},{"title":"私有网络","link":"www.volcengine.com\u002Fproduct\u002Fvpc","des":"为云上资源构建隔离的虚拟网络环境,便于您自主规划、配置和管理云上网络","desShort":"安全隔离的云上网络环境","enTitle":"vpc"},{"title":"应用型负载均衡","link":"www.volcengine.com\u002Fproduct\u002Falb","des":"面向 7 层互联网应用及云原生应用,基于内容精细化调度,提供稳定、弹性、安全、高性能的应用层负载均衡服务","desShort":"稳定、弹性、安全、高性能的应用层负载均衡服务","enTitle":"alb"},{"title":"私网连接","link":"","des":"通过终端节点和终端节点服务建立私密的VPC间网络连接,避免了公网访问潜在的安全风险,提供更加安全的组网方式","desShort":"安全可靠的单向网络访问","enTitle":"privatelink"},{"title":"中转路由器","link":"","des":"中转路由器是地域级路由器产品,通过丰富的路由功能支持客户灵活构建任意拓扑云上网络","desShort":"可灵活自定义云上任意网络拓扑","enTitle":"transitrouter"}]},{"title":"混合云网络","item":[{"title":"VPN连接","link":"www.volcengine.com\u002Fproduct\u002Fvpn","des":"通过特定的加密方式,在Internet网络中建立的临时、安全、可靠的通信隧道","desShort":"公网加密隧道,让业务安全访问云端","enTitle":"vpn"},{"title":"专线连接","link":"www.volcengine.com\u002Fproduct\u002Fdirectconnect","des":"专线连接是一种连接用户本地数据中心与火山引擎云上网络的服务,能够搭建高速、低时延、稳定安全的专属通道","desShort":"高速、稳定、安全的专属连接通道","enTitle":"directconnect"},{"title":"bandwidthquota","link":"","des":"该项目旨在提供一种简单且用户友好的方式来管理物理专线资源","desShort":"物理专线资源水位管理系统","enTitle":""}]},{"title":"跨地域网络","item":[{"title":"云企业网","link":"www.volcengine.com\u002Fproduct\u002Fcen","des":"通过自动路由分发学习,提供云上网络实例之间高速稳定的网络互通能力","desShort":"高速稳定的企业级云网互通","enTitle":"cen"}]}]]},{"name":"计算","data":[[{"title":"弹性计算","item":[{"title":"弹性伸缩","link":"www.volcengine.com\u002Fproduct\u002Fas","des":"根据用户的业务需求自动灵活经济的调整计算资源,保证业务平稳健康运行","desShort":"自动化、灵活经济的云资源管理","enTitle":"auto_scaling"},{"title":"服务器迁移中心","link":"https:\u002F\u002Fwww.volcengine.com\u002Fproduct\u002Fsmc","des":"可以通过SMC将本地服务器、虚拟机、其他云平台的云服务器迁移至火山引擎","desShort":"火山引擎提供的服务器迁移平台","enTitle":"smc"},{"title":"云服务器","link":"www.volcengine.com\u002Fproduct\u002Fecs","des":"提供稳定的弹性计算服务。通过实时增减计算资源,适应业务变动,降低维护成本","desShort":"灵活稳定的弹性计算服务","enTitle":"ecs"},{"title":"云原生计算引擎","link":"","des":"为泛计算产品(VCI\u002FECS\u002FTCE)提供池化的资源池","desShort":"泛计算(VCI\u002FECS\u002FTCE)底座","enTitle":"ubiquitous compute engine"},{"title":"高性能计算服务EHPC","link":"","des":"高性能计算服务EHPC是一款火山引擎自研的高性能计算集群管理工具。它集成了多款作业调度软件、支持云上弹性伸缩,让您只需几步操作就能快速创建出配置完整的HPC集群,旨在简化火山引擎云环境中运行并行工作负载的过程,为您提供弹性灵活、自助化的计算服务。","desShort":"高性能计算服务EHPC是一套帮助客户在云上快速搭建HPC环境并提供任务调度与集群管理的工具。","enTitle":""}]},{"title":"混合云"},{"title":"操作系统","item":[{"title":"veLinux","link":"www.volcengine.com\u002Fproduct\u002Fvelinux","des":"针对火山引擎公有云环境进行深度定制与优化的自研操作系统,提供了更安全高效的系统服务和环境","desShort":"云端定制,支持海量业务和亿级并发","enTitle":"velinux"}]}]]},{"name":"服务支持","data":[[]]},{"name":"解决方案","data":[[]]},{"name":"销售体系","data":[[]]},{"name":"合作与生态","data":[[]]}]}},"recomArticles":{"err_no":0,"err_msg":"","data":[{"item_id":"7438245552280010802","name":"Windsurf:这款全新免费的 AI IDE 击败了Cursor 吗?超强上下文感知 、AI代理和工作流支持","user_id":2522731895602843,"publish_time":"2024-11-18T03:18:43.000Z","category_ids":"[3]","tag_ids":"[7307103161498632233,7309680367596732443,7246291206115131448]"},{"item_id":"7437404845872840730","name":"生产环境中AI调用的优化:AI网关高价值应用实践","user_id":3411100749796451,"publish_time":"2024-11-15T11:29:32.000Z","category_ids":"[3]","tag_ids":"[7246291206332760120,7347591543823269924,7347591543777132585]"},{"item_id":"7440006179671654427","name":"揭秘“让Claude 3.5 像 OpenAI o1 那样思考”的小孩哥神级Prompt是怎么炼成的","user_id":4088426956596211,"publish_time":"2024-11-22T07:43:49.000Z","category_ids":"[3]","tag_ids":"[7307103161498632233,7309680367596732443,7146205183897239566]"},{"item_id":"7440006190232567818","name":"WorkflowLLM:从RPA到APA,用LLM自动生成智能体工作流","user_id":1695892439576265,"publish_time":"2024-11-22T07:43:52.000Z","category_ids":"[3]","tag_ids":"[7307103161498632233,7309680367596732443,7146205183897239566]"},{"item_id":"7440006179723935794","name":"一图胜千言:回归预测模型训练集与测试集的进阶可视化","user_id":358891265735203,"publish_time":"2024-11-22T07:44:15.000Z","category_ids":"[3]","tag_ids":"[7309680367596732443,7307103161498632233,7146205183897239566]"},{"item_id":"7440006120536309797","name":"用豆包MarsCode,半小时轻松学会搭建专业产品网站","user_id":3226409767284938,"publish_time":"2024-11-22T07:43:37.000Z","category_ids":"[3]","tag_ids":"[7246291206341623868,7307103161498632233,7146205471601328164]"}]}}},"errors":null}</script> <script> const __ENV = 'prod'; function slardarInit(w, d, u, b, n, pc, ga, ae, po, s, p, e, t, pp) { pc = 'precollect'; ga = 'getAttribute'; ae = 'addEventListener'; po = 'PerformanceObserver'; s = function (m) { p = [].slice.call(arguments); p.push(Date.now(), location.href); (m == pc ? s.p.a : s.q).push(p); }; s.q = []; s.p = { a: [] }; w[n] = s; e = document.createElement('script'); e.src = u + '?bid=' + b + '&globalName=' + n; e.crossOrigin = u.indexOf('sdk-web') > 0 ? 'anonymous' : 'use-credentials'; d.getElementsByTagName('head')[0].appendChild(e); if (ae in w) { s.pcErr = function (e) { e = e || w.event; t = e.target || e.srcElement; if (t instanceof Element || t instanceof HTMLElement) { if (t[ga]('integrity')) { w[n](pc, 'sri', t[ga]('href') || t[ga]('src')); } else { w[n](pc, 'st', { tagName: t.tagName, url: t[ga]('href') || t[ga]('src'), }); } } else { w[n](pc, 'err', e.error || e.message); } }; s.pcRej = function (e) { e = e || w.event; w[n](pc, 'err', e.reason || (e.detail && e.detail.reason)); }; w[ae]('error', s.pcErr, true); w[ae]('unhandledrejection', s.pcRej, true); } if ('PerformanceLongTaskTiming' in w) { pp = s.pp = { entries: [] }; pp.observer = new PerformanceObserver(function (l) { pp.entries = pp.entries.concat(l.getEntries()); }); pp.observer.observe({ entryTypes: ['longtask', 'largest-contentful-paint', 'layout-shift'], }); } } slardarInit( window, document, 'https://lf3-short.ibytedapm.com/slardar/fe/sdk-web/browser.cn.js', 'eps_platform_fe_tech', 'Slardar', ); const env = __ENV === 'prod' ? 'production' : 'development'; window.Slardar('init', { bid: 'eps_platform_fe_tech', env, release: '1.0.1.922', // 区分上报版本 }); window.Slardar('start'); </script> <!-- <script src="/sdk/mermaid/mermaid@9.3.0.min.js"></script> <script> window.mermaid.init({ noteMargin: 10 }, '.language-mermaid'); </script> --> <script type="module"> import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@9/dist/mermaid.esm.min.mjs'; mermaid.init({ noteMargin: 10 }, '.language-mermaid'); </script> <script type="text/javascript" src="https://res2.wx.qq.com/open/js/jweixin-1.6.0.js" ></script> </body></html>

Pages: 1 2 3 4 5 6 7 8 9 10