Pretty new to machine learning, working on reducing the complexity of data. Basically the data has a current-voltage curve of a solar panel that is 250 pts of current and 250pts of voltage.
I am trying to reduce the data and convert into 7 or 10 feature which i will later use for classification into various faults.
I have used autoencoder to perform this but results are pretty bad? am i missing anything?
Is autoencoder a good technique for 1D array? [
encoder_input = keras.Input(shape=(200,),name="curve_data")
x = keras.layers.Flatten()(encoder_input)
encoder_output = keras.layers.Dense(10,activation="relu")(x)
encoder = keras.Model(encoder_input,encoder_output, name="encoder")
decoder_input = keras.layers.Dense(200,activation="relu")(encoder_output)
decoder_output = keras.layers.Reshape((200,))(decoder_input)
opt = keras.optimizers.Adam(learning_rate=0.001)
autoencoder = keras.Model(encoder_input,decoder_output, name="autoencoder")
autoencoder.summary()
autoencoder.compile(opt,loss="mse")
autoencoder.fit(x_train,x_train,epochs=10, batch_size=16, validation_split=0.1)