public class Booster extends Object implements Serializable, com.esotericsoftware.kryo.KryoSerializable
修饰符和类型 | 类和描述 |
---|---|
静态类 |
Booster.FeatureImportanceType
支持的特征重要性类型 WEIGHT = 特征用于决定分割的节点数量 GAIN = 特征每次分割的平均信息增益 COVER = 特征每次分割的平均覆盖度 TOTAL_GAIN = 特征所有分割的总信息增益 TOTAL_COVER = 特征所有分割的总覆盖度
|
静态类 |
Booster.PredictionType
预测类型,用于 inplace_predict。
|
修饰符和类型 | 字段和描述 |
---|---|
静态 String |
DEFAULT_FORMAT |
修饰符和类型 | 方法和描述 |
---|---|
void |
boost(DMatrix dtrain, float[] grad, float[] hess)
已弃用。
|
void |
boost(DMatrix dtrain, int iter, float[] grad, float[] hess)
使用给定的 grad 和 hess 进行更新
|
void |
dispose() |
String |
evalSet(DMatrix[] evalMatrixs, String[] evalNames, IEvaluation eval)
使用给定的自定义 Evaluation 类进行评估
|
String |
evalSet(DMatrix[] evalMatrixs, String[] evalNames, IEvaluation eval, float[] metricsOut) |
String |
evalSet(DMatrix[] evalMatrixs, String[] evalNames, int iter)
使用给定的 dmatrixs 进行评估。
|
String |
evalSet(DMatrix[] evalMatrixs, String[] evalNames, int iter, float[] metricsOut)
使用给定的 dmatrixs 进行评估。
|
protected void |
finalize() |
String |
getAttr(String key)
从 Booster 获取属性。
|
Map<String,String> |
getAttrs()
以 Map 形式获取存储在 Booster 中的属性。
|
String[] |
getFeatureNames()
从 Booster 获取特征名称。
|
Map<String,Integer> |
getFeatureScore(String featureMap)
获取每个特征的重要性
|
Map<String,Integer> |
getFeatureScore(String[] featureNames)
获取具有指定特征名称的每个特征的重要性。
|
String[] |
getFeatureTypes()
从 Booster 获取特征类型。
|
String[] |
getModelDump(String[] featureNames, boolean withStats)
以字符串数组形式获取模型的转储,带有指定的特征名称。
|
String[] |
getModelDump(String[] featureNames, boolean withStats, String format) |
String[] |
getModelDump(String featureMap, boolean withStats)
以字符串数组形式获取模型的转储
|
String[] |
getModelDump(String featureMap, boolean withStats, String format) |
int |
getNumBoostedRound() |
long |
getNumFeature()
获取模型特征数量。
|
Map<String,Double> |
getScore(String[] featureNames, String importanceType)
获取基于增益或覆盖(平均或总计)的特征重要性
|
Map<String,Double> |
getScore(String featureMap, String importanceType)
获取基于增益或覆盖(平均或总计)的特征重要性,带有特征名称
|
float[][] |
inplace_predict(float[] data, int nrow, int ncol, float missing)
执行线程安全的预测。
|
float[][] |
inplace_predict(float[] data, int nrow, int ncol, float missing, int[] iteration_range)
执行线程安全的预测。
|
float[][] |
inplace_predict(float[] data, int nrow, int ncol, float missing, int[] iteration_range, Booster.PredictionType predict_type, float[] base_margin)
执行线程安全的预测。
|
float[][] |
predict(DMatrix data)
使用数据进行预测
|
float[][] |
predict(DMatrix data, boolean outputMargin)
使用数据进行预测
|
float[][] |
predict(DMatrix data, boolean outputMargin, int treeLimit)
具有所有选项的高级预测函数。
|
float[][] |
predictContrib(DMatrix data, int treeLimit)
输出给定数据预测的特征贡献
|
float[][] |
predictLeaf(DMatrix data, int treeLimit)
预测给定数据的叶子索引
|
void |
read(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input) |
void |
saveModel(OutputStream out)
将模型保存到作为输出流打开的文件。
|
void |
saveModel(OutputStream out, String format)
将模型保存到作为输出流打开的文件。
|
void |
saveModel(String modelPath)
将模型保存到 modelPath
|
void |
setAttr(String key, String value)
为 Booster 设置属性。
|
void |
setAttrs(Map<String,String> attrs)
为 Booster 设置属性。
|
void |
setFeatureNames(String[] featureNames)
为 Booster 设置特征名称。
|
void |
setFeatureTypes(String[] featureTypes)
为 Booster 设置特征类型。
|
void |
setParam(String key, Object value)
为 Booster 设置参数。
|
void |
setParams(Map<String,Object> params)
为 Booster 设置参数。
|
byte[] |
toByteArray()
以 UBJSON ("ubj") 格式将模型保存到原始字节数组。
|
byte[] |
toByteArray(String format)
将模型保存到原始字节数组。
|
void |
update(DMatrix dtrain, int iter)
更新 Booster 进行一次迭代。
|
void |
update(DMatrix dtrain, int iter, IObjective obj)
使用自定义 obj 函数进行更新
|
void |
update(DMatrix dtrain, IObjective obj)
已弃用。
|
void |
write(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Output output) |
public final void setParam(String key, Object value) throws XGBoostError
key
- 参数名称value
- 参数值XGBoostError
- 原生错误public void setParams(Map<String,Object> params) throws XGBoostError
params
- 参数键值对 mapXGBoostError
- 原生错误public final Map<String,String> getAttrs() throws XGBoostError
XGBoostError
- 原生错误public final String getAttr(String key) throws XGBoostError
key
- 属性键XGBoostError
- 原生错误public final void setAttr(String key, String value) throws XGBoostError
key
- 属性键value
- 属性值XGBoostError
- 原生错误public void setAttrs(Map<String,String> attrs) throws XGBoostError
attrs
- 属性键值对 mapXGBoostError
- 原生错误public final String[] getFeatureNames() throws XGBoostError
XGBoostError
public void setFeatureNames(String[] featureNames) throws XGBoostError
featureNames
- XGBoostError
public final String[] getFeatureTypes() throws XGBoostError
XGBoostError
public void setFeatureTypes(String[] featureTypes) throws XGBoostError
featureTypes
- XGBoostError
public void update(DMatrix dtrain, int iter) throws XGBoostError
dtrain
- 训练数据iter
- 当前迭代次数XGBoostError
- 原生错误@Deprecated public void update(DMatrix dtrain, IObjective obj) throws XGBoostError
XGBoostError
public void update(DMatrix dtrain, int iter, IObjective obj) throws XGBoostError
dtrain
- 训练数据iter
- 当前训练迭代次数。obj
- 自定义目标类XGBoostError
- 原生错误@Deprecated public void boost(DMatrix dtrain, float[] grad, float[] hess) throws XGBoostError
XGBoostError
public void boost(DMatrix dtrain, int iter, float[] grad, float[] hess) throws XGBoostError
dtrain
- 训练数据iter
- 当前训练迭代次数。grad
- 一阶梯度hess
- 二阶梯度XGBoostError
- 原生错误public String evalSet(DMatrix[] evalMatrixs, String[] evalNames, int iter) throws XGBoostError
evalMatrixs
- 用于评估的 dmatrixsevalNames
- 评估 dmatrixs 的名称,用于检查结果iter
- 当前评估迭代XGBoostError
- 原生错误public String evalSet(DMatrix[] evalMatrixs, String[] evalNames, int iter, float[] metricsOut) throws XGBoostError
evalMatrixs
- 用于评估的 dmatrixsevalNames
- 评估 dmatrixs 的名称,用于检查结果iter
- 当前评估迭代metricsOut
- 输出数组,包含每个 evalMatrix 的评估指标XGBoostError
- 原生错误public String evalSet(DMatrix[] evalMatrixs, String[] evalNames, IEvaluation eval) throws XGBoostError
evalMatrixs
- 评估矩阵evalNames
- 评估名称eval
- 自定义评估器XGBoostError
- 原生错误public String evalSet(DMatrix[] evalMatrixs, String[] evalNames, IEvaluation eval, float[] metricsOut) throws XGBoostError
XGBoostError
public float[][] inplace_predict(float[] data, int nrow, int ncol, float missing) throws XGBoostError
data
- 用于预测的特征的扁平化输入矩阵nrow
- 要进行的预测数量(输入矩阵行数)ncol
- 模型中的特征数量(输入矩阵列数)missing
- 指示 data
输入矩阵中缺失元素的值XGBoostError
public float[][] inplace_predict(float[] data, int nrow, int ncol, float missing, int[] iteration_range) throws XGBoostError
data
- 用于预测的特征的扁平化输入矩阵nrow
- 要进行的预测数量(输入矩阵行数)ncol
- 模型中的特征数量(输入矩阵列数)missing
- 指示 data
输入矩阵中缺失元素的值iteration_range
- 指定预测中使用哪一层级的树。例如,如果一个随机森林训练了 100 轮。指定 `iteration_range=[10, 20)`,则本次预测中仅使用在 [10, 20)(左闭右开区间)轮次中构建的森林。XGBoostError
public float[][] inplace_predict(float[] data, int nrow, int ncol, float missing, int[] iteration_range, Booster.PredictionType predict_type, float[] base_margin) throws XGBoostError
data
- 用于预测的特征的扁平化输入矩阵nrow
- 要进行的预测数量(输入矩阵行数)ncol
- 模型中的特征数量(输入矩阵列数)missing
- 指示 data
输入矩阵中缺失元素的值iteration_range
- 指定预测中使用哪一层级的树。例如,如果一个随机森林训练了 100 轮。指定 `iteration_range=[10, 20)`,则本次预测中仅使用在 [10, 20)(左闭右开区间)轮次中构建的森林。predict_type
- 要运行的预测类型。XGBoostError
public float[][] predictLeaf(DMatrix data, int treeLimit) throws XGBoostError
data
- 输入数据。treeLimit
- 要包含的树数量,0 表示所有树。XGBoostError
public float[][] predictContrib(DMatrix data, int treeLimit) throws XGBoostError
data
- 输入数据。treeLimit
- 要包含的树数量,0 表示所有树。XGBoostError
public float[][] predict(DMatrix data) throws XGBoostError
data
- 存储输入的 dmatrixXGBoostError
- 原生错误public float[][] predict(DMatrix data, boolean outputMargin) throws XGBoostError
data
- 数据outputMargin
- 输出边际XGBoostError
public float[][] predict(DMatrix data, boolean outputMargin, int treeLimit) throws XGBoostError
data
- 数据outputMargin
- 输出边际treeLimit
- 限制树数量,0 表示所有树。XGBoostError
public void saveModel(String modelPath) throws XGBoostError
modelPath
- 模型路径XGBoostError
public void saveModel(OutputStream out) throws XGBoostError, IOException
out
- 输出流XGBoostError
IOException
public void saveModel(OutputStream out, String format) throws XGBoostError, IOException
out
- 输出流format
- 模型格式 (ubj, json, deprecated)XGBoostError
IOException
public String[] getModelDump(String featureMap, boolean withStats) throws XGBoostError
withStats
- 控制是否输出分割统计信息。XGBoostError
- 原生错误public String[] getModelDump(String featureMap, boolean withStats, String format) throws XGBoostError
XGBoostError
public String[] getModelDump(String[] featureNames, boolean withStats) throws XGBoostError
featureNames
- 特征名称。XGBoostError
public String[] getModelDump(String[] featureNames, boolean withStats, String format) throws XGBoostError
XGBoostError
public Map<String,Integer> getFeatureScore(String[] featureNames) throws XGBoostError
XGBoostError
- 原生错误public Map<String,Integer> getFeatureScore(String featureMap) throws XGBoostError
XGBoostError
- 原生错误public Map<String,Double> getScore(String[] featureNames, String importanceType) throws XGBoostError
XGBoostError
- 原生错误public Map<String,Double> getScore(String featureMap, String importanceType) throws XGBoostError
XGBoostError
- 原生错误public byte[] toByteArray() throws XGBoostError
XGBoostError
- 原生错误public byte[] toByteArray(String format) throws XGBoostError
format
- 输出格式。可用选项包括 "json", "ubj" 和 "deprecated"。XGBoostError
- 原生错误public long getNumFeature() throws XGBoostError
XGBoostError
public int getNumBoostedRound() throws XGBoostError
XGBoostError
public void dispose()
public void write(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Output output)
com.esotericsoftware.kryo.KryoSerializable
中指定了 write
public void read(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input)
com.esotericsoftware.kryo.KryoSerializable
中指定了 read
版权所有 © 2025. 保留所有权利。