import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import preprocessing
data = pd.read_csv('Boston.csv')
X1 = data.iloc[:,1:5]
X2 = data.iloc[:,6:14]
X = pd.concat([X1,X2],axis=1)
y = pd.DataFrame(data.iloc[:,14])
'''
from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
X = sc_X.fit_transform(X)
'''
#X = (X - X.mean(axis=0)) / X.std(axis=0)
X = preprocessing.normalize(X)
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.1)
import keras
from keras.models import Sequential
from keras.layers import Dense
# Initialising the ANN
classifier = Sequential()
classifier.add(Dense(output_dim = 512, init = 'normal', activation = 'relu', input_dim = 12))
classifier.add(Dense(output_dim = 128, init = 'normal', activation = 'relu'))
classifier.add(Dense(output_dim = 1, init = 'normal', activation = 'relu'))
classifier.compile(optimizer = 'adam', loss = 'mse', metrics = ['accuracy'])
classifier.fit(X_train, y_train, batch_size = 10, nb_epoch = 100)
Я пробовал предварительную обработку данных и добавлял больше слоев / нейронов, но все же я получаю точность ниже 2%. Что не так с моим кодом. Я пробовал разные методы предварительной обработки, такие как стандартный скейлер, нормализация и т. Д. c. Я также попробовал многие функции активации, такие как relu, linear, sigmoid. Это мой первый раз, когда я разрабатываю нейронную сеть, так что извините за грязный код ...
РЕДАКТИРОВАТЬ: Набор данных используется набор данных Бостонский корпус. https://www.cs.toronto.edu/~delve/data/boston/bostonDetail.html