Я пытаюсь предсказать, будет ли у пациента остановка сердца c с помощью LSTM. набор данных представляет собой файл CSV, который имеет 7 функций (столбец) в качестве входных данных, а последний столбец - это метка
col_names=['gender', 'age', 'HR', 'BP','RR','TempC','Spo2','subject_id','hadm_id','icu_id','CA']
myinput=pd.read_csv('muinput.csv', names=col_names)
myinput.isnull().any()
myinput=myinput.fillna(method='ffill')
#print (myinput.head(10))
#print (myinput.columns.values)
cols=[7,8,9,10]
X = myinput.drop(myinput.columns[cols],axis=1)
le=LabelEncoder()
X['gender']=le.fit_transform(X['gender'].astype('str'))
cols=[0,1,2,3,4,5,6,7,8,9]
Y=myinput.drop(myinput.columns[cols],axis=1)
ohe = OneHotEncoder()
y = ohe.fit_transform(Y).toarray()
# split into train and test sets
X=X.values
X=X.astype('float32')
trainx_size = int(len(X) * 0.67)
testx_size = len(X) - trainx_size
trainX, testX = X[0:trainx_size,:], X[trainx_size:len(X),:]
print(len(trainX), len(testX))
trainy_size = int(len(y) * 0.67)
testy_size = len(y) - trainy_size
trainy, testy = y[0:trainy_size,:],y[trainy_size:len(y),:]
print(len(trainy), len(testy))
# reshape input to be [samples, time steps, features]
# columns in my 2D data become features with one timestep
trainX = np.reshape(trainX[0],1,trainX[1])
testX = np.reshape(testX[0],1, testX[1])
#create model
model = Sequential()
model.add(LSTM(4, input_shape=(1, 7)))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
print(model.summary())
model.fit(trainX, trainy, validation_data=(testx, testy), epochs=50, batch_size=64)
# Final evaluation of the model
scores = model.evaluate(X, y, verbose=0)
print("Accuracy: %.2f%%" % (scores[1]*100))
Предыдущий код дает странную ошибку: ошибка значения: значение истинности массива с более чем один элемент неоднозначен. Используйте a.any () или a.all () ', хотя я не сравниваю массивы