tensorflow 선형회귀 연습

이민기·2022년 5월 12일
0

머신러닝의 입문하기로 결심했다.

이제부터 시작이다...ㅠ

tensorflow keras로 선형회귀 연습을 하려고 한다.

일단 kaggle에 가입해 주기로 했다....자료가 많으니..

kaggle에서 받아온 연봉 측정 csv를 받아와서 예측해 보도록 하겠다.

kaggle datasets download -d rsadiq/salary

일단 kaggle 에서 다운로드 해주었다.

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras.optimizers import Adam, SGD
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt 
import seaborn as sns
from sklearn.model_selection import train_test_split

tensorflow keras를 임포트 해주고.

pandas등 기본적인 라이브러리를 임포트 해주었다.

df = pd.read_csv('Salary.csv')

x_data = np.array(df['YearsExperience'], dtype=np.float32)
y_data = np.array(df['Salary'], dtype=np.float32)

salary.csv df에 저장해 주고

x_data (입력값) , y_data (출력값) 을 선언해 주었다...

x_data = x_data.reshape((-1, 1))
y_data = y_data.reshape((-1, 1))

print(x_data.shape)
print(y_data.shape)

입력값 출력값을 reshape 해주고 뒤에값을 1로 다 마추어 주었다.

print 해보니 35,1 35,1 이 나오는걸 확인할수 있었다.

model = Sequential([
  Dense(1)
])

model에 sequential dense(1)을 적용해 주었다.

model.compile(loss='mean_absolute_error', optimizer=Adam(lr=1000)) # mean_squared_error # mean_absolute_error 

loss men_absolute_erorr로 잡아 주고, lr값을 1000을 주었다.

model.fit(
    x_train,
    y_train,
    validation_data=(x_val, y_val), 
    epochs=100
)

validation_data을 검증데이터로 넣어 주었다.

한 epoch이 끝날때마다 자동 검증해준다.

loss 차이가 생각 보다 많이 났다.

마지막 loss 값은 4421 이였고 마지막 val_loss값은 7226이였다..

솔직히 어려웠다 ㅠㅠㅠ

딥러닝 , 머신러닝 열심히 배워 보도록 하겠습니다!

profile
지나가는사람

0개의 댓글