01. 머신러닝 개념
>> 머신러닝이란?
머신 러닝은 사람이 경험을 통해 학습하는 것과 같은 활동을 컴퓨터가 수행할 수 있도록 가르치는 데이터 분석 기법입니다. 머신 러닝 알고리즘은 미리 결정된 방정식을 모델로 의존하지 않고, 계산 방법을 사용하여 데이터에서 직접 정보를 “학습”합니다. 학습할 수 있는 샘플 수가 증가함에 따라 알고리즘 성능이 향상됩니다.
또한, 달리 표현하면 애플리케이션의 수정 없이 데이터를 기반으로 패턴을 학습하여 결과를 예측하는 알고리즘 기법을 통칭한다고 말할 수 있습니다.
>> 머신러닝의 특징
- 데이터 내의 패턴을 스스로 인지하고 신뢰도 있는 예측 결과를 도출해 냄
- 예측 오류를 최소화하기 위해 다양한 수학적 기법을 적용함
- 단점 : 데이터 의존적. 일명 Garbage in, Garbage out 으로 일컫는 성격을 지님
- 최적의 알고리즘, 모델 파라미터 구축 + 데이터의 전처리가 합쳐질 때 완성됨
데이터에 의존적이라는 말은, 달리 말하면 더 많은 데이터가 있을 때 다양한 질문이 나올 수 있고, 그에 따라 더 폭넓은 답변이 도출될 수 있다고 생각할 수 있습니다.
>> 머신러닝의 분류
- 지도학습(Supervised Learning) / 비지도학습(Un-supervised Learning)/ 강화학습(Reinforcement Learning)
- 지도학습 : 분류/회귀/추천시스템/시각,음성감지,인지/텍스트분석,NLP
- 비지도학습 : 클러스터링,차원축소,강화학습
머신 러닝은 크게 두 가지 유형의 기법을 사용합니다. 첫째로, 지도(supervised) 학습 기법은 출력을 예측할 수 있도록 알려진 입력 및 출력 데이터를 기반으로 모델을 학습합니다. 둘째로, 비지도(unsupervised) 학습 기법은 입력 데이터에서 숨겨진 패턴이나 고유 구조체를 찾습니다.
02. 파이썬 머신러닝 생태계를 구성하는 주요 패키지
- 머신러닝 패키지
- Scikit-Learn : 데이터 마이닝 기반의 머신러닝에서 독보적인 위치를 차지하고 있음
- 행렬/선형대수/통계 패키지
- Numpy : 행렬과 선형대수를 다루는 패키지
- 머신러닝의 이론적 백그라운드는 선형대수와 통계
- sklearn을 비롯한 많은 머신러닝 패키지가 넘파이 기반으로 작성되어 있음
- Scipy : 자연과학과 통계를 위한 패키지
- sklearn의 패키지 중 Scipy로 구성된 부분도 다수 존재
- sklearn의 패키지 중 Scipy로 구성된 부분도 다수 존재
- Numpy : 행렬과 선형대수를 다루는 패키지
- 데이터 핸들링
- Pandas : 대표적인 데이터 처리 패키지
- Numpy (행렬 기반 데이터 처리) VS Pandas (2차원 데이터 처리)
- 데이터 처리에 특화, 더 용이함
- Matplotlib을 호출해 쉽게 시각화 가능
- Pandas : 대표적인 데이터 처리 패키지
- 시각화
- Matplotlib : 가장 기본적
- 세분화된 API로 인해 익히기 어려움
- 투박한 UI
- 다른 패키지에 비해 긴 코드 작성이 필요
- Seaborn
- Matplotlib을 기반으로 만들었지만, Pandas와 연동이 더 쉬움
- 함축적인 API
- 깔끔한 UI 제공
- Plotly
- 개인적으로 필자가 사용중인 라이브러리로, 데이터 분석 대회에 출전하면서 접하게 된 시각화 라이브러리
- Seaborn에 비해 더욱 깔끔한 UI와 interactive 기능을 제공하여, hover mode, zoom in/out 기능으로 활용성이 큼
- 또한 Seaborn이나 matplotlib과 달리, 사기업으로 운영되고 있으므로 지속적인 패키지 확장이 기대됨
- Matplotlib : 가장 기본적
- IPython (Interactive Python)
- Jupyter Notebook
- 대화형 파이썬 툴(프로그래밍 + 설명 요소)
- 특정 코드 영역별로 개별 수행을 지원 -> 영역별 코드 이해 쉬움
- Jupyter Notebook
* 출처
2. Gallery — Matplotlib 3.4.3 documentation (figure 1)
3. https://learning.oreilly.com/library/view/deiteo-gwahageul-wihan/9791162240984/chapter-01.html (figure 2)
4. Example gallery — seaborn 0.11.2 documentation (pydata.org) (figure 3)
5. 7 of the Dash Community’s Latest Creations | by plotly | Plotly | Medium (figure 4)
6. 회귀 VS 분류 - Machine learning 1 (opentutorials.org)
'AI Study > Machine Learning' 카테고리의 다른 글
데이터 전처리 기본 (1) - data encoding (0) | 2021.11.21 |
---|---|
sklearn의 model selction module (데이터셋 분리 및 교차검증) (0) | 2021.09.06 |
sklearn 기반 프레임워크 살펴보기 (0) | 2021.09.06 |
머신러닝을 위한 Pandas 기초 (0) | 2021.08.24 |
머신러닝을 위한 Numpy 기초 (0) | 2021.08.23 |