Python 如何在LightGBM中设置max_bin参数

Python 如何在LightGBM中设置max_bin参数,python,lightgbm,Python,Lightgbm,下面的代码抛出错误,表示“意外的关键字arguemnt'max_bin'”。后来我发现。那么如何使用“参数”通过max_bin?有人能给我看一段示例代码吗 lgb.Dataset(x_train, lable=y, max_bin=56) /anaconda3/lib/python3.6/site packages/lightgbm/basic.py:648:LGBMDeprecationWarning:max_bin参数已弃用,将 将在2.0.12版本中删除。请使用params传递此消息 参

下面的代码抛出错误,表示“意外的关键字arguemnt'max_bin'”。后来我发现。那么如何使用“参数”通过max_bin?有人能给我看一段示例代码吗

lgb.Dataset(x_train, lable=y, max_bin=56)
/anaconda3/lib/python3.6/site packages/lightgbm/basic.py:648:LGBMDeprecationWarning:max_bin参数已弃用,将 将在2.0.12版本中删除。请使用params传递此消息 参数 “请使用参数传递此参数。”,LGBMDeprecationWarning)


错误消息中提到的
参数
是指传递给
train()
函数的参数。如果您使用python API的sklearn类,那么一些参数也可以作为分类器的
\uuuu init\uuu()
方法中的关键字参数使用

示例:

import lightgbm as lgb
import numpy as np

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

iris = datasets.load_iris()

X_train, X_test, y_train, y_test = train_test_split(iris.data,
                                                    iris.target,
                                                    test_size=0.2)
lgb_train = lgb.Dataset(X_train, y_train)

# here are the parameters you need
params = {
    'task': 'train',
    'boosting_type': 'gbdt',
    'objective': 'multiclass',
    'num_class': 3,
    'max_bin': 4  # <-- max_bin
}

gbm = lgb.train(params,
                lgb_train,
                num_boost_round=20)

y_pred = gbm.predict(X_test, num_iteration=gbm.best_iteration)
y_pred = np.argmax(y_pred, axis=1)
print("Accuracy: ", accuracy_score(y_test, y_pred))
将lightgbm作为lgb导入
将numpy作为np导入
从sklearn导入数据集
从sklearn.model\u选择导入列车\u测试\u拆分
从sklearn.metrics导入准确性\u分数
iris=数据集。加载\u iris()
X_序列,X_测试,y_序列,y_测试=序列测试分割(iris.data,
艾里斯·塔吉特,
测试(尺寸=0.2)
lgb\u列=lgb.Dataset(X\u列,y\u列)
#以下是您需要的参数
参数={
‘任务’:‘训练’,
“增压类型”:“gbdt”,
“目标”:“多类”,
“num_类”:3,

“max_bin”:4#在
params
字典中设置
max_bin
,然后将其传递给
lgb.Dataset
构造函数。请注意,
max_bin

import lightgbm as lgb

lgb.Dataset(x_train, label=y_train, params={"max_bin": 63})