구글이 2015년에 공개한 머신 러닝 오픈소스 라이브러리
머신 러닝과 딥 러닝을 직관적이고 손쉽게 할 수 있도록 설계
딥 러닝 프레임워크인 텐서플로우에 대한 추상화 된 API를 제공
백엔드로 텐서플로우를 사용하며, 좀 더 쉽게 딥 러닝을 사용할 수 있게 해줌
→ 케라스를 이용해 텐서플로우 코드를 훨씬 간단하게 작성 가능
tf.keras라고 표기하여 사용tf.keras를 사용할 것을 권장머신 러닝을 사용하여 토픽 모델링과 자연어 처리 등을 수행할 수 있게 해주는 오픈 소스 라이브러리
파이썬 머신러닝 라이브러리
웹에서 코드를 작성하고 실행할 수 있는 오픈소스 웹 어플리케이션
자연어 처리를 위한 파이썬 패키지
nltk.download() 코드를 실행하여 각종 패키지와 코퍼스 다운로드한국어 자연어 처리를 위한 형태소 분석기 패키지
파이썬 데이터 처리를 위한 라이브러리
import pandas as pd
Pandas 데이터 구조
sr = pd.Series([17000, 18000, 1000, 5000],
index=["피자", "치킨", "콜라", "맥주"])
print('시리즈 출력 :')
print('-'*15)
print(sr)# 출력 값
시리즈 출력 :
---------------
피자 17000
치킨 18000
콜라 1000
맥주 5000
dtype: int64values = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
index = ['one', 'two', 'three']
columns = ['A', 'B', 'C']
df = pd.DataFrame(values, index=index, columns=columns)
print('데이터프레임 출력 :')
print('-'*18)
print(df)# 출력 값
데이터프레임 출력 :
------------------
A B C
one 1 2 3
two 4 5 6
three 7 8 9수치 데이터를 다루는 파이썬 패키지
Numpy의 핵심이라고 불리는 다차원 행렬 자료구조인 ndarray를 통해 벡터 및 행렬을 사용하는 선형 대수 계산에서 주로 사용
np.array() 로 리스트, 튜플, 배열로 부터 ndarray를 생성속도면에서도 순수 파이썬에 비해 압도적으로 빠름

원소가 하나인 배열은 어떤 배열이나 브로드캐스팅 가능
둘 중 하나의 배열이 1차원 배열인 경우
차원의 짝이 맞을때 브로드캐스팅이 가능
arr1.shape = (3, 1)
arr2.shape = (1, 3)
np.add(arr1, arr2) # 가능
데이터를 차트(chart)나 플롯(plot)으로 시각화하는 패키지

기계에 학습시켜야 할 데이터 수집
수집한 데이터를 점검하고 탐색
머신 러닝 워크플로우에서 가장 까다로운 작업 중 하나인 데이터 전처리 과정
Modeling(모델링) → 전처리한 데이터를 가지고 Training(학습 aka 훈련)
Modeling(모델링)
Training(학습 aka 훈련)
전처리가 완료 된 데이터를 머신 러닝 알고리즘을 통해 기계에게 학습
학습과 훈련 두 용어를 혼용해서 사용
데이터 중 일부는 테스트용으로 남겨두고 훈련용 데이터만 훈련에 사용해야함

테스트용 데이터로 성능 평가
평가 단계에서 기계가 성공적으로 훈련이 된 것으로 판단된다면 완성된 모델이 배포
피드백을 통해 모델을 업데이트 해야하는 상황이 온다면 수집 단계로 돌아감