你听过CatBoost吗?本文教你如何使用CatBoost进行快速梯度提升

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"italic"}],"text":"在本文中,我们将仔细研究一个名为CatBoost的梯度增强库。"}]},{"type":"horizontalrule"},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在梯度提升中,预测是由一群弱学习者做出的。与为每个样本创建决策树的随机森林不同,在梯度增强中,树是一个接一个地创建的。模型中的先前树不会更改。前一棵树的结果用于改进下一棵树。在本文中,我们将仔细研究一个名为CatBoost的梯度增强库。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/e7/e78f2935aeaa81ac57df3e0bfd891016.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"CatBoost 是"},{"type":"link","attrs":{"href":"https://yandex.com/company/","title":null},"content":[{"type":"text","text":"Yandex"}]},{"type":"text","text":"开发的深度方向梯度增强库 。它使用遗忘的决策树来生成平衡树。相同的功能用于对树的每个级别进行左右拆分。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"(CatBoost官方链接:https://github.com/catboost)"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/75/7573143b43eb73f90c99ca786acaf37e.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"与经典树相比,遗忘树在CPU上实现效率更高,并且易于安装。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"处理分类特征"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" 在机器学习中处理分类的常见方法是单热编码和标签编码。CatBoost允许您使用分类功能,而无需对其进行预处理。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"使用CatBoost时,我们不应该使用一键编码,因为这会影响训练速度以及预测质量。相反,我们只需要使用"},{"type":"codeinline","content":[{"type":"text","text":"cat_features"}]},{"type":"text","text":" 参数指定分类特征即可 。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"使用CatBoost的优点"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" 以下是考虑使用CatBoost的一些原因:"}]},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"CatBoost允许在多个GPU上训练数据。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"使用默认参数可以提供很好的结果,从而减少了参数调整所需的时间。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"由于减少了过度拟合,因此提高了精度。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"使用CatBoost的模型应用程序进行快速预测。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"经过训练的CatBoost模型可以导出到Core ML进行设备上推理(iOS)。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"可以在内部处理缺失值。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"可用于回归和分类问题。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"训练参数"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" 让我们看一下CatBoost中的常用参数:"}]},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"loss_function"}]},{"type":"text","text":" 别名为 "},{"type":"codeinline","content":[{"type":"text","text":"objective"}]},{"type":"text","text":" -用于训练的指标。这些是回归指标,例如用于回归的均方根误差和用于分类的对数损失。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"eval_metric"}]},{"type":"text","text":" —用于检测过度拟合的度量。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"iterations"}]},{"type":"text","text":" -待建的树的最大数量,默认为1000。别名是 "},{"type":"codeinline","content":[{"type":"text","text":"num_boost_round"}]},{"type":"text","text":", "},{"type":"codeinline","content":[{"type":"text","text":"n_estimators"}]},{"type":"text","text":"和 "},{"type":"codeinline","content":[{"type":"text","text":"num_trees"}]},{"type":"text","text":"。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"learning_rate"}]},{"type":"text","text":" 别名 "},{"type":"codeinline","content":[{"type":"text","text":"eta"}]},{"type":"text","text":" -学习速率,确定模型将学习多快或多慢。默认值通常为0.03。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"random_seed"}]},{"type":"text","text":" 别名 "},{"type":"codeinline","content":[{"type":"text","text":"random_state"}]},{"type":"text","text":" —用于训练的随机种子。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"l2_leaf_reg"}]},{"type":"text","text":" 别名 "},{"type":"codeinline","content":[{"type":"text","text":"reg_lambda"}]},{"type":"text","text":" —成本函数的L2正则化项的系数。默认值为3.0。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"bootstrap_type"}]},{"type":"text","text":" —确定对象权重的采样方法,例如贝叶斯,贝努利,MVS和泊松。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"depth"}]},{"type":"text","text":" —树的深度。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"grow_policy"}]},{"type":"text","text":" —确定如何应用贪婪搜索算法。它可以是 "},{"type":"codeinline","content":[{"type":"text","text":"SymmetricTree"}]},{"type":"text","text":", "},{"type":"codeinline","content":[{"type":"text","text":"Depthwise"}]},{"type":"text","text":"或 "},{"type":"codeinline","content":[{"type":"text","text":"Lossguide"}]},{"type":"text","text":"。 "},{"type":"codeinline","content":[{"type":"text","text":"SymmetricTree"}]},{"type":"text","text":" 是默认值。在中 "},{"type":"codeinline","content":[{"type":"text","text":"SymmetricTree"}]},{"type":"text","text":",逐级构建树,直到达到深度为止。在每个步骤中,以相同条件分割前一棵树的叶子。当 "},{"type":"codeinline","content":[{"type":"text","text":"Depthwise"}]},{"type":"text","text":" 被选择,一棵树是内置一步步骤,直到指定的深度实现。在每个步骤中,将最后一棵树级别的所有非终端叶子分开。使用导致最佳损失改善的条件来分裂叶子。在中 "},{"type":"codeinline","content":[{"type":"text","text":"Lossguide"}]},{"type":"text","text":",逐叶构建树,直到达到指定的叶数。在每个步骤中,将损耗改善最佳的非终端叶子进行拆分"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"min_data_in_leaf"}]},{"type":"text","text":" 别名 "},{"type":"codeinline","content":[{"type":"text","text":"min_child_samples"}]},{"type":"text","text":" —这是一片叶子中训练样本的最小数量。此参数仅与 "},{"type":"codeinline","content":[{"type":"text","text":"Lossguide"}]},{"type":"text","text":" 和 "},{"type":"codeinline","content":[{"type":"text","text":"Depthwise"}]},{"type":"text","text":" 增长策略一起使用。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"max_leaves"}]},{"type":"text","text":" alias  "},{"type":"codeinline","content":[{"type":"text","text":"num_leaves"}]},{"type":"text","text":" —此参数仅与"},{"type":"codeinline","content":[{"type":"text","text":"Lossguide"}]},{"type":"text","text":" 策略一起使用, 并确定树中的叶子数。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"ignored_features"}]},{"type":"text","text":" —表示在培训过程中应忽略的功能。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"nan_mode"}]},{"type":"text","text":" —处理缺失值的方法。选项包括 "},{"type":"codeinline","content":[{"type":"text","text":"Forbidden"}]},{"type":"text","text":",  "},{"type":"codeinline","content":[{"type":"text","text":"Min"}]},{"type":"text","text":",和 "},{"type":"codeinline","content":[{"type":"text","text":"Max"}]},{"type":"text","text":"。默认值为 "},{"type":"codeinline","content":[{"type":"text","text":"Min"}]},{"type":"text","text":"。当 "},{"type":"codeinline","content":[{"type":"text","text":"Forbidden"}]},{"type":"text","text":" 使用时,缺失值导致错误的存在。使用 "},{"type":"codeinline","content":[{"type":"text","text":"Min"}]},{"type":"text","text":",缺少的值将作为该功能的最小值。在中 "},{"type":"codeinline","content":[{"type":"text","text":"Max"}]},{"type":"text","text":",缺失值被视为特征的最大值。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"leaf_estimation_method"}]},{"type":"text","text":" —用于计算叶子中值的方法。在分类中,使用10 "},{"type":"codeinline","content":[{"type":"text","text":"Newton"}]},{"type":"text","text":" 次迭代。使用分位数或MAE损失的回归问题使用一次 "},{"type":"codeinline","content":[{"type":"text","text":"Exact"}]},{"type":"text","text":" 迭代。多分类使用一次 "},{"type":"codeinline","content":[{"type":"text","text":"Netwon"}]},{"type":"text","text":" 迭代。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"leaf_estimation_backtracking"}]},{"type":"text","text":" —在梯度下降过程中使用的回溯类型。默认值为 "},{"type":"codeinline","content":[{"type":"text","text":"AnyImprovement"}]},{"type":"text","text":"。 "},{"type":"codeinline","content":[{"type":"text","text":"AnyImprovement"}]},{"type":"text","text":" 减小下降步长,直至损失函数值小于上次迭代的值。 "},{"type":"codeinline","content":[{"type":"text","text":"Armijo"}]},{"type":"text","text":" 减小下降步长,直到满足 "},{"type":"link","attrs":{"href":"https://en.wikipedia.org/wiki/Wolfe_conditions#Armijo_rule_and_curvature","title":null},"content":[{"type":"text","text":"Armijo条件"}]},{"type":"text","text":" 。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"boosting_type"}]},{"type":"text","text":" —加强计划。它可以"},{"type":"codeinline","content":[{"type":"text","text":"plain"}]},{"type":"text","text":" 用于经典的梯度增强方案,也可以 用于或 "},{"type":"codeinline","content":[{"type":"text","text":"ordered"}]},{"type":"text","text":",它在较小的数据集上可以提供更好的质量。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"score_function"}]},{"type":"text","text":" — "},{"type":"link","attrs":{"href":"https://catboost.ai/docs/concepts/algorithm-score-functions.html","title":null},"content":[{"type":"text","text":"分数类型,"}]},{"type":"text","text":" 用于在树构建过程中选择下一个拆分。 "},{"type":"codeinline","content":[{"type":"text","text":"Cosine"}]},{"type":"text","text":" 是默认选项。其他可用的选项是 "},{"type":"codeinline","content":[{"type":"text","text":"L2"}]},{"type":"text","text":", "},{"type":"codeinline","content":[{"type":"text","text":"NewtonL2"}]},{"type":"text","text":"和 "},{"type":"codeinline","content":[{"type":"text","text":"NewtonCosine"}]},{"type":"text","text":"。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"early_stopping_rounds"}]},{"type":"text","text":" —当时 "},{"type":"codeinline","content":[{"type":"text","text":"True"}]},{"type":"text","text":",将过拟合检测器类型设置为, "},{"type":"codeinline","content":[{"type":"text","text":"Iter"}]},{"type":"text","text":" 并在达到最佳度量时停止训练。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"classes_count"}]},{"type":"text","text":" —多重分类问题的类别数。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"task_type"}]},{"type":"text","text":" —使用的是CPU还是GPU。CPU是默认设置。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"devices"}]},{"type":"text","text":" —用于训练的GPU设备的ID。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"cat_features"}]},{"type":"text","text":" —具有分类列的数组。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"codeinline","content":[{"type":"text","text":"text_features"}]},{"type":"text","text":" -用于在分类问题中声明文本列。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"回归示例"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" CatBoost在其实施中使用scikit-learn标准。让我们看看如何将其用于回归。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"与往常一样,第一步是导入回归器并将其实例化。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/84/844c409141ff23dfe7d8e7643eb5022a.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"拟合模型时,CatBoost还可以通过设置来使用户可视化 "},{"type":"codeinline","content":[{"type":"text","text":"plot=true"}]},{"type":"text","text":":"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/09/09b69dc83121b9d13d8e58c8377a9e61.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/43/43d4799a94c26d694d4f29837cd2127b.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"它还允许您执行交叉验证并使过程可视化:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/20/202b369bc4efd8813f5bd5c8e2b3dbbc.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/30/308cebf681cae6e6379596875c789aad.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"同样,您也可以执行网格搜索并将其可视化:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/cd/cdc233de4581f494df16ff87c1adfa84.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/08/083e7bacbc7073a3a181b1583c0a4c3e.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我们还可以使用CatBoost绘制树。这是第一棵树的情节。从树上可以看到,每个级别的叶子都在相同的条件下被分割,例如297,值> 0.5。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/17/17ddb48738f3f83d61a6bb41d9cf9b63.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/20/2011a911cca3feeae22f2952ee70911c.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"CatBoost还为我们提供了包含所有模型参数的字典。我们可以通过遍历字典来打印它们。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/e0/e0c33f809a7c5821d8c568ebd23bf66f.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/3e/3e6b9d77905bcc237a429bb60039b465.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"结尾"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在本文中,我们探讨了CatBoost的优点和局限性以及主要的训练参数。然后,我们使用scikit-learn完成了一个简单的回归实现。希望这可以为您提供有关库的足够信息,以便您可以进一步探索它。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"往期精彩链接:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"http://mp.weixin.qq.com/s?__biz=Mzg3MTM1MDI5NA==&mid=2247484181&idx=1&sn=5aaa298c83e235c9201bc58b1ba749c1&chksm=cefeaa6cf989237af75b7bff0a38fbff9b88277c14e8ccf2642a17d5074b72dcd82d3b0ea2bc#rd","title":null},"content":[{"type":"text","text":"《统计学习基础:数据挖掘、推理和预测》-斯坦福大学人工智能学科专用教材"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/90/903237ffd0a3b3ae06272386f26ecb9e.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章