게시글 본문내용
|
다음검색
In [1]: import numpy as np
In [2]: x1 = np.array([range(1, 101), range(101, 201)])
x2 = np.array([range(501, 601), range(601, 701)])
y = np.array([range(1, 101), range(101, 201)])
print(x1.shape)
print(x2.shape)
print(y.shape)
In [3]: x1 = np.transpose(x1)
x2 = np.transpose(x2)
y = np.transpose(y)
print(x1.shape)
print(x2.shape)
print(y.shape)
In [4]: from sklearn.model_selection import train_test_split
In [5]: x1_train, x1_test, y_train, y_test = train_test_split(x1, y, random_state=66, test_size=0.2, shuffle=False)
x1_val, x1_test, y_val, y_test = train_test_split(x1_test, y_test, random_state=66, test_size=0.5, shuffle=False)
x2_train, x2_test = train_test_split(x2, random_state=66, test_size=0.2, shuffle=False)
x2_val, x2_test = train_test_split(x2_test, random_state=66, test_size=0.5, shuffle = False)
print('x2_train.shape : ', x2_train.shape)
print('x2_val.shape : ', x2_val.shape)
print('x2_test.shape : ', x2_test.shape)
In [6]: from tensorflow.keras.models import Sequential, Model
from tensorflow.keras.layers import Dense, Input
In [7]: input1 = Input(shape=(2,))
dense1 = Dense(100, activation='relu')(input1)
dense1 = Dense(30)(dense1)
dense1 = Dense(7)(dense1)
input2 = Input(shape=(2,))
dense2 = Dense(50, activation='relu')(input2)
dense2 = Dense(30)(dense2)
dense2 = Dense(7)(dense2)
In [8]: from tensorflow.keras.layers import concatenate
In [9]: merge1 = concatenate([dense1, dense2])
In [10]: output1 = Dense(30)(merge1)
output1 = Dense(7)(output1)
output1 = Dense(2)(output1)
In [11]: model = Model(inputs = [input1, input2], outputs = output1)
model.summary()
In [12]: model.compile(loss='mse', optimizer='adam', metrics=['mse'])
hist = model.fit([x1_train, x2_train], y_train, epochs=50, batch_size=1, validation_data=([x1_val, x2_val] , y_val))
In [13]: import matplotlib.pyplot as plt
#print(hist.history)
plt.plot(hist.history['loss'])
plt.plot(hist.history['val_loss'])
#plt.ylim(0.0, 1.5)
plt.ylabel('loss')
plt.xlabel('epoch')
plt.legend(['loss', 'val_loss'], loc='upper right')
plt.show()
In [14]: mse = model.evaluate([x1_test, x2_test], y_test, batch_size=1)
print("mse : ", mse )
In [16]: y_predict = model.predict([x1_test, x2_test])
print("y 예측값 : \n", y_predict)
|
첫댓글 감사합니다.