01. 머신러닝의 개념
머신러닝 : 애플리케이션을 수정하지 않고도 데이터를 기반으로 패턴을 학습하고 결과를 예측하는 알고리즘 기법을 통칭
현실세계에서 매우 복잡한 조건으로 인해 기존의 소프트웨어 코드만으로 해결하기 어려웠던 많은 문제점들을 머신러닝을 통해 해결해나가고 있다.
즉, 머신러닝 알고리즘은 데이터를 기반으로 통계적인신뢰도를 강화하고 예측 오류를 최소화하기 위한 다양한 수학적 기법을 적용해 데이터 내의 패턴을 스스로 인지하고 신뢰도 있는 예측 결과를 도출해낸다.
[머신러닝의 분류]
- 지도학습
- 분류
- 회귀
- 추천시스템
- 시각/음성 감지/인지
- 텍스트분석, NLP
- 비지도학습
- 클러스트링
- 차원 축소
- 강화학습
[데이터 전쟁]
머신러닝의 가장 큰 단점은 데이터에 매우 의존적이라는 것이다.
즉, 좋은 품질의 데이터를 갖추지 못한다면 머신러닝의 수행결과도 좋을 수 없다.
최적의 머신러닝 알고리즘과 모델 파라미터를 구축하는 능력도 중요하지만 데이터를 이해하고 효율적으로 가공, 처리, 추출해 최적의 데이터를 기반으로 알고리즘을 구동할 수 있도록 준비하는 자세가 더 중요하다고 할 수 있다.
[파이썬과 R기반의 머신러닝 비교 ]
R : 통계 전용 프로그램 --> 통계 분석에 능한 현업 사용자에게 추천
파이썬: 직관적인 문법, 객체지향, 함수형 프로그래밍을 모두 포괄하는 유연한 프로그램 --> 머신러닝 초보자와 개발자에게 추천
현재 딥러닝에 대한 관심이 증가하면서 파이썬에 대한 관심이 급격히 증가
앞으로도 딥러닝 프레임 워크는 파이썬을 중심으로 발전될 가능성이 크다.
02. 파이썬 머신러닝 생태계를 구성하는 주요 패키지
- 머신러닝 패키지 : 사이킷런(Scikit-Learn)을 기반으로 머신러닝 구현
- 행렬/선형대수/통계 패키지: 파이썬의 행렬과 선형대수를 다루는 패키지 넘파이(NumPy), 사이킷런을 비롯한 많은 머신러닝 패키지가 넘파이 기반으로 되어있음
- 데이터 핸들링: 파이썬의 대표적인 데이터 처리 패키지 판다스, 2차원 데이터 처리에 특화되어 있음
- 시각화: 맷플롯립(Matplotlib), 시본(Seaborn)
- 서드파티 라이브러리 --> Visual studio build Tolls 설치 필수
- 주피터 노트북
Ref) 파이썬 머신러닝 완벽가이드