Python lightGBM预测相同的值
我有一个关于lgb的问题。当我写作时Python lightGBM预测相同的值,python,python-3.x,machine-learning,Python,Python 3.x,Machine Learning,我有一个关于lgb的问题。当我写作时 lgb.train(.......) 它在不到毫秒的时间内完成。(对于(10000,25))形状数据集 当我写predict时,所有的输出变量都有相同的值 train = pd.read_csv('data/train.csv', dtype = dtypes) test = pd.read_csv('data/test.csv') test.head() X = train.iloc[:10000, 3:-1].values y = train.il
lgb.train(.......)
它在不到毫秒的时间内完成。(对于(10000,25))形状数据集
当我写predict时,所有的输出变量都有相同的值
train = pd.read_csv('data/train.csv', dtype = dtypes)
test = pd.read_csv('data/test.csv')
test.head()
X = train.iloc[:10000, 3:-1].values
y = train.iloc[:10000, -1].values
sc = StandardScaler()
X = sc.fit_transform(X)
#pca = PCA(0.95)
#X = pca.fit_transform(X)
d_train = lgb.Dataset(X, label=y)
params = {}
params['learning_rate'] = 0.003
params['boosting_type'] = 'gbdt'
params['objective'] = 'binary'
params['metric'] = 'binary_logloss'
params['sub_feature'] = 0.5
params['num_leaves'] = 10
params['min_data'] = 50
params['max_depth'] = 10
num_round = 10
clf = lgb.train(params, d_train, num_round, verbose_eval=1000)
X_test = sc.transform(test.iloc[:100,3:].values)
pred = clf.predict(X_test, num_iteration = clf.best_iteration)
打印pred时,所有值均为(0.49)
这是我第一次使用lightgbm模块。代码中有错误吗?或者我应该查找数据集中的一些不匹配 你的num_轮太小,它刚开始学习,然后停在那里。除此之外,让你的详细评估更小,以便在培训后直观地看到结果。我建议您尝试以下lgb.train代码: clf=lgb.train(参数、d列、数量提升轮=5000、详细评估轮=10、提前停车轮=3500) 始终使用提前停止\u轮,因为如果没有明显的学习或模型开始过度拟合,模型应该停止
不要犹豫,多问一些。玩得开心。谢谢你的回答,我正在尝试这种方法。要提前停止,需要验证集。我设法添加了它,但现在我收到了错误类型错误:train()为参数'num\u boost\u round'获取了多个值,我正在尝试解决它。num\u boost\u round'应该与'num\u round'相同,这可能是错误的原因。下面是我的一段代码,用于解决您的验证集问题:myLGB=lgb.train(params,d_train,valid_sets=[d_train,d_test],num_boost_round=4000,verbose_eval=10,early_stop_rounds=2750)很抱歉回复晚了。是的,这是我的错误,我改正了。谢谢。