我试图运行一个堆叠的回归,当n_jobs为1时,它运行良好,但是,每当我将n_jobs设置为2时,就会崩溃,并出现以下错误。我研究过类似的问题,但没有一个真正解决我的错误。在
代码:
from civismlext.stacking import StackedRegressor
from civismlext.nonnegative import NonNegativeLinearRegression
def create_model():
model = Sequential()
model.add(Dense(150, activation='softmax', kernel_initializer='VarianceScaling', input_dim=456, name='HL1'))
model.add(Dropout(0.25, name="Dropout1"))
model.add(Dense(150, kernel_initializer='VarianceScaling', activation='softmax', name='HL2'))
model.add(Dropout(0.25, name="Dropout2"))
model.add(Dense(1, name='Output_Layer'))
model.compile(optimizer='adam', loss='mae', metrics=['mae', 'mean_squared_error'])
return model
mlp_model = KerasRegressor(build_fn=create_model, epochs=50, batch_size=75, validation_split=0.2, verbose=True)
super_learner = StackedRegressor([
('pipe_mlp', mlp_model),
('rf', rf),
('xgb', gb),
('meta', NonNegativeLinearRegression())
], cv=5, n_jobs=2, verbose=5)
错误:
^{pr2}$
这是因为Keras-scikit-learn包装器并不完全遵循scikit-learn-API。在
在scikit learn中,对估计器调用fit()将返回一个fitted估计器。在Keras包装器中,fit()调用返回一个回拨。历史对象。在
相关问题 更多 >
编程相关推荐