2017-08-03 70 views
9

Próbuję wyszkolić model Keras na podstawie częściowych funkcji z mojego zestawu danych. Mam załadowany zestaw danych i ekstrakcji cech tak:Pandy - KeyError: "[] nie w indeksie" podczas szkolenia modelu Keras

train_data = pd.read_csv('../input/data.csv') 

X = train_data.iloc[:, 0:30] 
Y = train_data.iloc[:,30] 

# Code for selecting the important features automatically (removed) ...  

# Selectintg important features 14,17,12,11,10,16,18,4,9,3 
X = train_data.reindex(columns=['V14','V17','V12','V11','V10','V16','V18','V4','V9','V3']) 
print(X.shape[1]) # -> 10 

Ale kiedy dzwonię pasowania metody:

# Fit the model 
history = model.fit(X, Y, validation_split=0.33, epochs=10, batch_size=10, verbose=0, callbacks=[early_stop]) 

pojawia się następujący błąd:

KeyError: '[3 2 5 1 0 4] not in index' 

Czego mi brakuje?

+3

Sprawdź [ten wątek] (https://stackoverflow.com/questions/33564181/keras-gru-nn-keyerror-when-fitting-not-in-index). –

Odpowiedz

5

keras oczekuje, że dane wejściowe modelu będą numpy - nie pandas.DataFrame s. Spróbuj:

X = train_data.iloc[:, 0:30].as_matrix() 
Y = train_data.iloc[:,30].as_matrix() 

Jak as_matrix metoda konwertuje pandas.DataFrame do numpy.array.

+0

Bingo! to się udało –