안녕하세요~! 오늘은 파이썬 데이터 사이언스(Data Science)를 활용한 머신러닝의 대표 라이브러리인 Tensorflow
(텐서플로우)를 공부하였는데요. 같이 내용을 정리해보면서 복습하겠습니다.
예전에 Javascript를 활용한 Tensorflow를 진행했었는데, 요즘은 Python을 공부하고 있어서 python을 활용한 Tensorflow를 다시 공부하게 되었습니다.
일단 Tensorflow를 공부하려면 가장 좋은 방법은 생활코딩 홈페이지에 가셔서 공부를 하는 것입니다. (저 또한 코딩의 기초, 상당 부분을 이곳에서 배웠습니다.
https://opentutorials.org/course/4570
일단 머신러닝이라는 큰 대제목 아래에는 다양한 소제목의 주제로 뿌리내린다.
1.기계학습(machine learning)
2.지도학습(supervised learning)
3.강화학습(reinforcement learning)
4.비지도학습(unsupervised learning)
5.군집화(Clustering)
6.변환(Transform)
7.연관(Association)
8.분류(Classification)
9.회귀(Regression)
내가 공부한 항목은 이 중에서 지도학습과 강화학습, 군집화, 연관, 분류, 회귀 이 정도인 것 같다. 특히 기계학습과 회귀를 중점적으로 교육영상에서는 다루었다.
google colab에서 코드를 작성하며 실시간으로 실행시키며 진행하였다.
구글코랩....처음 써봤는데 엄청 좋다...!!!
지도학습(supervised Learning)
회귀(regression) 분류(classification)
(알고리즘)
1.Decision Tree
2.Random Forest
3.KNN
4.SVM
5.Neural Netwrok ( 사람의 뇌)
인공신경망 = Deep Learning
이런 식으로 나뉘게된다.
다음은 레모네이드 판매량을 예측하는 모델을 코드로 만나보자!!
# 라이브러리 사용
import tensorflow as tf
import pandas as pd
# 데이터 준비
파일경로 = 'https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/lemonade.csv'
데이터 = pd.read_csv(파일경로)
데이터.head()
# 종속변수, 독립변수
독립 = 데이터[['온도']]
종속 = 데이터[['판매량']]
print(독립.shape, 종속.shape)
# 모델을 만듭니다.
X = tf.keras.layers.Input(shape=[1])
Y = tf.keras.layers.Dense(1)(X)
model = tf.keras.models.Model(X,Y)
model.compile(loss='mse')
# 모델을 학습합니다.
model.fit(독립, 종속, epochs=1000, verbose=0)
# 모델을 이용합니다.
model.predict(독립)
#판매량을 에측합니다.
model.predict([[15]])
#1 과거의 데이터를 준비합니다.
#2 모델의 모양을 만듭니다.
#3 데이터로 모델을 학습(FIT)합니다.
#4 모델을 이용합니다.
1.기존 모델 실행
2.기존 모델 다시 학습시키기
3.파이썬으로 ML 개발
Epochs : 반복횟수. AI에게 교육시키는 횟수라고 보면 되겠다.
verbose = 0 을 하게 되면 반복입력하는 모니터 출력을 생략한다.
코드를 다 입력하고 마지막에 온도가 15일 때, 판매량을 예측하라 했을 때 30.1029로 거의 근사값을 예측을 한 것을 볼 수 있다. 막상 글을 다 쓰고 나니 처음 보신 분들이 굉장히 읽기 어렵고 무슨소리인지 모를 수도 있겠다는 생각이 든다... 그래도 나의 복습용으로 쓰는 것이기도 하니...하하... 다음에 조금 더 구체적이고 세분화되고 누구나 다 알아 볼 수 있는 글을 적는 것을 목표로 하여야 겠다.
'Tech Blog > Python' 카테고리의 다른 글
파이썬 - 문자열 제거 및 추출과 revsqueeze, hex to int 실습 (0) | 2021.06.22 |
---|---|
Python - Class, Method, Instance 정리 글 (0) | 2021.06.20 |
데이터 사이언스 Tool, Orange3 소개 (0) | 2021.05.10 |
(셀레니엄)나이키 자동응모 웹 자동화 도전했으나... (0) | 2021.05.10 |
Python Escape Characters, 이스케이프 시퀀스 (0) | 2021.05.04 |