-
[생활코딩 - 머신러닝 야학] 텐서플로우 day 1,2공부일기/머신러닝 야학 2020. 8. 23. 18:27
생활코딩 머신러닝 야학 머신러닝1을 다 학습하고 텐서플로우로 넘어왔다. 코딩을 몰라도 머신러닝을 체험(?)할 수 있는 오렌지3 강의도 있었지만, 코딩 공부도 같이 할 수 있게 코드를 직접 짜보는 수업을 택했다.
1 -2. 목표와 전략
1 - 3. 지도학습의 빅픽처
머신러닝의 프로세스를 설명한다. 그림으로 쉽게 나타내 보면 이렇다.
1 - 4. 환경설정
1 - 5. 판다스
표에서 변수는 열로 표현되고 관측치에 따라 값이 변화할 수 있다는 의미가 있다. 원인은 독립변수, 결과는 종속변수. 지도학습은 이 두 가지를 분리하는 것에서 시작할 수 있다.
1 - 6. 판다스(실습)
pd.read_scv('/경로/파일명.csv') # 파일 읽어오기 print(데이터.shape) # 모양 확인하기 데이터[['칼럼명1', '칼럼명2', '칼럼명3']] # 칼럼 선택하기 print(데이터.columns) # 칼럼 이름 출력하기 데이터.head() # 맨 위 5개 관측치 출력 # 파일 읽어오기 파일경로 = 'https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/lemonade.csv' 레모네이드 = pd.read_csv(파일경로) 파일경로 = 'https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/boston.csv' 보스턴 = pd.read_csv(파일경로) 파일경로 = 'https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/iris.csv' 아이리스 = pd.read_csv(파일경로) # 모양 확인하기 print(레모네이드.shape) print(보스턴.shape) print(아이리스.shape) # 칼럼 출력하기 print(레모네이드.columns) print(보스턴.columns) print(아이리스.columns) # 독립 변수와 종속변수 분리 후 출력하기 독립 = 레모네이드[['온도']] 종속 = 레모네이드[['판매량']] print(독립.shape, 종속.shape) 독립 = 보스턴[['crim', 'zn', 'indus', 'chas', 'nox', 'rm', 'age', 'dis', 'rad', 'tax', 'ptratio', 'b', 'lstat']] 종속 = 보스턴[['medv']] print(독립.shape, 종속.shape) 독립 = 아이리스[['꽃잎길이', '꽃잎폭', '꽃받침길이', '꽃받침폭']] 종속 = 아이리스[['품종']] print(독립.shape, 종속.shape)
1 - 7. 레모네이드 판매 예측
# 모델의 구조 만들기 X = tf.keras.layers.Input(shape=[1]) # 독립 변수의 개수: 1 Y = tf.keras.layers.Dense(1)(X) # 종속 변수의 개수: 1 model = tf.keras.models.Model(X,Y) model.compile(loss='mse') # 모델을 학습시키기 model.fit(독립, 종속, epochs=1000) # epochs = 전체 데이터를 몇 번 반복하여 학습할 것인지 결정하는 수 # 모델을 이용하기 print("Predictions: ", model.predict([[15]]))
1 - 8. 손실의 의미
loss는 학습이 얼마나 진행되었는지 알려주는 부분이라고 볼 수 있다. 모델은 매 학습마다 조금씩 학습을 하게 되는데 각 학습이 끝날 때마다 그 시점의 모델이 얼마나 정답에 가까이 맞추고 있는지를 평가하는 지표가 loss다. 학습이 되면 될수록 점점 정확해진다.
예측과 정답을 비교해서 차이를 구하고, 그 차이를 제곱해서 평균을 낸 게 loss. loss가 0에 가까울수록 학습이 잘 된 모델.
1 - 9. 레모네이드 판매 예측(실습)
실제 colab을 통해 예측 결과를 출력해보니 대략 '온도'x2의 값이 출력됐다.
'공부일기 > 머신러닝 야학' 카테고리의 다른 글
[생활코딩 - 머신러닝 야학] 텐서플로우 day 5/ 후기 (0) 2020.08.27 [생활코딩 - 머신러닝 야학] 텐서플로우 day 3,4 (0) 2020.08.25 [생활코딩 - 머신러닝 야학] 머신러닝1 day5, 6 (0) 2020.08.19 [생활코딩 - 머신러닝 야학] 머신러닝1 day3, 4 (0) 2020.08.18 [생활코딩 - 머신러닝 야학] 머신러닝1 day2 (0) 2020.08.17