[Python.ML] Python & Machine Learning Overview
2020. 11. 27. 05:00ㆍPython과 머신러닝/웹 데이터 추출
요약
- Machine Learning을 쉽게 설명하면, 컴퓨터에게 무한반복의 학습을 통해 하나의 task를 잘하도록 교육하는 것이다.
- Machine Learning의 목적은 기존 데이터를 가지고 새로운 데이터의 결과를 예측하고자 하는 것이다.
- Machine Learning에서 자주 사용되는 용어를 정의하고, Machine Learning Process를 이해해보자.
- 마지막으로, 개발환경 설정까지 해서 다음 글에서는 본격적인 실습을 진행해보자.
1. Machine Learning 이란
- Machine Learning이란 컴퓨터를 반복 학습시켜 무언가를 잘하게 하는 것이다.
- Youtube, Amazon, Netflix, 번역 등의 기술들을 요즘 많이 본다.
- 모두 다 사람들이 하던 단순한 업무들을, 객관적인 데이터를 기반으로 컴퓨터가 수행하는 세상이 되어가고 있다.
2. 용어 정리
- Machine Learning과 관련된 많은 용어들이 있는데, 대부분 정확한 정의가 없고 쓰는 사람마다 의미가 약간씩 다르다.
- 이 글들 내에서라도 용어를 통일하고자 몇 가지만 정리하고 한다.
- Big Data
- 정해진 시간 내에 하나의 기계로 처리하기 어려운 크기의 데이터
- 고성능 기계나 다수의 기계를 사용해서 목표대로 데이터를 처리할 수 있다.
- 대표적인 예로 실시간 대용량 SQL 처리가 있다
- Machine Learning
- 데이터로부터 패턴을 학습하는 기법이다.
- 알고리즘 혹은 모델의 상위 개념이다.
- 데이터의 크기 매우 중요하지만, 작다고 불가능한 것도 아니다.
- Data mining
- 사실상 Machine Learning과 동의어로 사용된다.
- 데이터에서 의미 있는 규칙을 찾는 과정이다.
- 주요 적용 사례는 경영/사업 분야에 있다 (고객들의 구매 데이터를 사용해서 매출을 더 증가시킬 방법을 찾는다)
- Deep Learning
- Neural Net 기반 머신러닝 알고리즘이다.
- 2012년부터 높은 성능을 보이기 시작하며 대세로 떠오르기 시작한 알고리즘이다.
- 주로 사진내 객체 인식, 번역 등의 분야에서 사용되고, 머신러닝의 부분집합이다.
- Aritificial Intelligence(인공지능) ⊃ Machine Learning(머신 러닝) ⊃ Deep Learning의 관계로 이해하자.
- Machine Learning은 모든 것의 해답은 아니다. 우리가 잘 모르기 때문에 모든 것을 다 할 것만 같지만, 현실은 그렇지 않다.
3. Machine Learning 공부하기
- 기존 데이터를 가지고 새로운 데이터의 결과를 예측하고자 하는 것이 Machine Learning이다
- Existing Data + Machine Learning Algorithm = Model
- 이렇게 만들어진 모델에 새로운 데이터를 넣으면, 그 결괏값이 우리의 예측치가 된다.
- 즉, y = f(x)의 공식(model)을 찾으려는 것이다.
- Model 이란, 예측을 위한 수학 공식, 함수(1차 방정식, 확률 분포, Condition rule) 등을 말한다.
- ML Process
- 데이터 수집
- 데이터 전처리
- 학습용 데이터셋 추출
- ML Model training
- Model 검증
- Model 평가
- 이 과정 중 4번 5번 step을 무한반복하여 더 좋은 Model을 만드는 것이 목적이다.
4. 개발환경 설정
- 여러가지 모듈과 패키지가 필요하다. 각각의 이름과 설치 방법, 그리고 잘 설치되었는지 확인하는 방법은 다음과 같다.
- Miniconda
- Conda
- conda create -n ml python=3.7
- 검증 : cmd창에서 python을 쳐서 error가 나지 않으면 설치 완료
- Jupyter
- 설치 1 : conda install jupyter
- 설치 2 : conda install jupyterlab
- Pandas
- 설치 : conda install pandas
- 검증 : import pandas as pd
- NumPy(고성능 array 처리 라이브러리)
- 설치 : conda install numpy
- 검증하려면 다음 코드를 수행한다 (설치가 안됐으면 에러가 발생한다)
- import numpy as np
- np.array([1,2,3,4,5])
- MatplotLib(데이터 시각화를 위한 파이썬 패키지)
- 설치 : conda install matplotlib
- Seaborn(시각화 패키지)
- 설치 : conda install seaborn
- 검증 : import seaborn as sns
마무리
- 개발환경이 준비되었다면 다음 글부터는 실습 내용을 정리해보려고 한다.
- 2020/11/28 - [Python과 머신러닝/웹 데이터 추출] - [Python.ML] Feature, 독립변수, input 값 알아보기
- 2020/11/30 - [Python과 머신러닝/웹 데이터 추출] - [Python.ML] Pandas로 데이터 불러오기
'Python과 머신러닝 > 웹 데이터 추출' 카테고리의 다른 글
[Python.ML] Pandas로 데이터 불러오기 (0) | 2020.11.30 |
---|---|
[Python.ML] Feature, 독립변수, input 값 알아보기 (0) | 2020.11.28 |
[Python.JSON] Python으로 JSON 데이터 저장 및 전달 - 실전편 (0) | 2020.11.26 |
[Python.JSON] Python으로 JSON 데이터 읽기 - 실전편 (0) | 2020.11.25 |
[Python.JSON] Python으로 JSON 데이터 파싱 - 이론편 (0) | 2020.11.24 |