plt.scatter(x_data, y_data, c=np.random.random(len(y_data)), cmap=plt.cm.rainbow) plt.show() # 모델 생성 model = LinearModel(num_units=1) # 최적화 함수, 손실함수와 모델 바인딩 model.compile(optimizer=tf.keras.optimizers.SGD(learning_rate=0.001), loss=tf.keras.losses.MSE, metrics=[tf.keras.metrics.MeanSquaredError()]) # 모델 학습 model.fit(x=x_data, y=y_data, epochs=10, batch_size=32) # 모델 테스트 prediction = model.predict(x=test_x, batch_size=None) # 결과 시각화 plt.scatter(x_data, y_data, s=5, label="train data", c=np.random.random(len(y_data)), cmap=plt.cm.rainbow) plt.scatter(test_x, prediction, s=5, label="prediction data") plt.legend() plt.show()
# test_x = np.load(".\\datasets\\linear_test_x.npy") # tf 형식에 맞게 변환 x_data = np.expand_dims(train_data[:,0], axis=1) #train_data의 x값만 따로 저장 y_data = train_data[:,1] #train_data의 y값만 따로 저장 # 모델 생성 model = LinearModel(num_units=1) # 최적화 함수, 손실함수와 모델 바인딩 model.compile(optimizer=tf.keras.optimizers.SGD(learning_rate=0.001), loss=tf.keras.losses.MSE, metrics=[tf.keras.metrics.MeanSquaredError()]) # SGD(Stochastic Gradient Descent) : 확률적 경사 하강법 # >> 입력 데이터가 확률적으로 선택된다. # loss : MSE(Mean Square, Error비용함수) # MeanSquaredError : 실제결과값과 예상값의 차이(error) # # 모델 학습 model.fit(x=x_data, y=y_data, epochs=10, #데이터 전체에 대한 학습 반복 횟수 batch_size=32) #배치(batch=집단)의 크기 # 모델 정리 model.summary() #load 종료 train_data.close()