使用ANN进行Python中的多元回归(Keras)

时间:2018-03-22 01:49:12

标签: python neural-network deep-learning keras

我希望在Python中使用Keras包来执行预测任务。对于每个观察,我测量了4个(连续的)自变量(我的X)和1个(连续的)因变量(我的y)。 y通常是介于-10和+10之间的值,尽管在该范围之外的数据中存在y的测量值。当我运行下面的代码(以及一些后来的代码来生成测试集上的预测)时,人工神经网络预测相同的输出,而不管它提供的是什么x值(当然我当然希望模型给出不同的预测)当提供一组具有不同值的因变量时)。有问题的数据集涉及高尔夫球场,我大约有。 450,000次观测(x-y对)。我试图预测玩家在下一轮比赛中的表现。

显然,我不需要为此使用ANN,但我想探索它的功能。

这是我的代码:

# Importing the Keras libraries and packages
import keras
from keras.models import Sequential
from keras.layers import Dense

X = dataset.iloc[:, 3:7].values
y = dataset.iloc[:, 13].values

# Splitting the dataset into the Training set and Test set
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)

# Feature Scaling
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)

# Initialising the ANN
classifier = Sequential()

# Adding the input layer and the first hidden layer
classifier.add(Dense(units = 6, kernel_initializer = 'uniform', activation = 'relu', input_dim = 4))

# Adding the second hidden layer
classifier.add(Dense(units = 3, kernel_initializer = 'uniform', activation = 'relu'))

# Adding the output layer
classifier.add(Dense(units = 1, kernel_initializer = 'uniform'))

# Compiling the ANN
classifier.compile(optimizer = 'adam', loss = 'mse', metrics = ['ame'])

# Fitting the ANN to the Training set
classifier.fit(X_train, y_train, batch_size = 10, epochs = 5)

0 个答案:

没有答案