I want to try out Keras (Theano backend) for regressions after already using sklearn.
For this I uses this nice tutorial http://machinelearningmastery.com/regression-tutorial-keras-deep-learning-library-python/ and tried to replace the training data there with my own.
import numpy import pandas import pickle from keras.models import Sequential from keras.layers import Dense from keras.wrappers.scikit_learn import KerasRegressor from sklearn.model_selection import cross_val_score from sklearn.model_selection import KFold from sklearn.preprocessing import StandardScaler from sklearn.pipeline import Pipeline from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler [X, Y] = pickle.load(open("training_data_1_week_imp_lt_15.pkl", "rb")) X_train, X_test, y_train, y_test = train_test_split( X, Y, test_size=0.5, random_state=42) scaler = StandardScaler() scaler.fit(X_train) # Don't cheat - fit only on training data X_train = scaler.transform(X_train) X_test = scaler.transform(X_test) print (X_train.shape) # define base mode def baseline_model(): # create model model = Sequential() model.add(Dense(8, input_dim=8, init='normal', activation='relu')) model.add(Dense(1, init='normal')) # Compile model model.compile(loss='mean_squared_error', optimizer='adam') return model # fix random seed for reproducibility seed = 7 numpy.random.seed(seed) # evaluate model with standardized dataset estimator = KerasRegressor(build_fn=baseline_model, nb_epoch=100, batch_size=5, verbose=0) estimator.fit(numpy.array(X_train),y_train)
However, i get the following error:
Exception: Error when checking model target: the list of Numpy arrays that you are passing to your model is not the size the model expected. Expected to see 1 arrays but instead got the following list of 6252 arrays: ...
The format of X is the usual sklearn format: print (X_train.shape) = (6252, 8)
How do I format my input X correctly.
What I tried was transposing but this did not work.
I also already searched the web but could not find a solution/explanation.
EDIT: here is a small sample file https://ufile.io/8a428
[X, Y] = pickle.load(open("test.pkl", "rb"))