저는 Keras 신경망을 사용하고 있으며, 지금까지 본 모든 튜토리얼 에서처럼 하드 코딩되지 않은 입력 차원을 자동으로 설정하고 싶습니다. 내가 어떻게 이걸 이룰 수 있니?KerasRegressor에서 입력 인수를 지정하십시오.
는내 코드 :
from keras.models import Sequential
from keras.layers import Dense
from keras.wrappers.scikit_learn import KerasRegressor
seed = 1
X = df_input
Y = df_res
def baseline_model(x):
# create model
model = Sequential()
model.add(Dense(20, input_dim=x, kernel_initializer='normal', activation=relu))
model.add(Dense(1, kernel_initializer='normal'))
# Compile model
model.compile(loss='mean_absolute_error', optimizer='adam')
return model
inpt = len(X.columns)
estimator = KerasRegressor(build_fn = baseline_model(inpt ) , epochs=2, batch_size=1000, verbose=2)
estimator.fit(X,Y)
그리고 오류가 나는 얻을 :
Traceback (most recent call last):
File ipython-input-2-49d765e85d15, line 20, in estimator.fit(X,Y)
TypeError: call() missing 1 required positional argument: 'inputs'
견적을 전송할 수있는 방법이 아니기 때문에이 오류가 발생합니다. 구체적으로 scikit-learn API가있는 객체입니다. 즉,'estimator.fit (X, Y)'로 추정기를 훈련시키고'estimator.predict (X, Y)'로 예측을 할 수 있습니다. – rvinas
고맙습니다. 작동중인 솔루션을 염두에 두시겠습니까? –
'estimator (X, Y)'를'estimator.fit (X, Y)'로 바꿉니다. – rvinas