我正在使用基于 keras 的多标签分类器。我创建了一个加载训练和测试数据的函数,然后在函数本身内处理/拆分 X/Y。我在运行模型时遇到错误,但不太确定其含义:
这是我的代码:
def KerasClassifer(df_train, df_test):
X_train = df_train[columnType].copy()
y_train = df_train[variableToPredict].copy()
labels = y_train.unique()
print(X_train.shape[1])
#using keras to do classification
from tensorflow import keras
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout, Activation
from tensorflow.keras.optimizers import SGD
model = Sequential()
model.add(Dense(5000, activation='relu', input_dim=X_train.shape[1]))
model.add(Dropout(0.1))
model.add(Dense(600, activation='relu'))
model.add(Dropout(0.1))
model.add(Dense(len(labels), activation='sigmoid'))
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='binary_crossentropy',
optimizer=sgd)
model.fit(X_train, y_train, epochs=5, batch_size=2000)
preds = model.predict(X_test)
preds[preds>=0.5] = 1
preds[preds<0.5] = 0
score = model.evaluate(X_test, y_test, batch_size=2000)
score
以下是我的数据的属性(如果有帮助的话):
x train shape (392436, 109)
y train shape (392436,)
len of y labels 18
如何修复代码以避免此错误?
守候你守候我
呼唤远方
相关分类