Python Machine Learning

Python 기반의 머신러닝

Data Analytics 2020. 7. 14. 19:29

머신러닝이란?

- 애플리케이션을 수정하지 않고 데이터를 기반으로 패턴을 학습하고 결과를 추론하는 알고리즘 기법을 통칭합니다. 매 

  우 복잡한 조건으로 기존에는 해결하기 어려웠던 많은 문제점들을 머신러닝을 이용해 해결해 나가고 있으며 특히 인간

  만이 가지는 인지능력만이 해결 가능하다고 여겼던 분야들에서까지 머신러닝의 응용이 두드러지고 있어 데이터 마이

  닝, 영상인식, 음성 인식, 자연어 처리에서 머신러닝을 적용하면서 급속하게 발전하고 있습니다.

 

 

머신러닝이 왜 필요한가?

- 복잡한 문제를 데이터를 기반으로 숨겨진 패턴을 인지해 해결.

- 데이터를 기반으로 통계적인 신뢰도를 강화하고 예측 오류를 최소화하기 위한 다양한 수학적 기법을 적용해

  데이터 내의 패턴을 스스로 인지하고 신뢰도 있는 예측 결과를 도출.

- 최근 Python을 통한 머신러닝의 증가율이 급격하게 증가하고 있는 추세.

 

 

머신러닝의 분류

- 지도학습( Supervised Learning )과 비지도학습( Un-supervised Learning )으로 분류

  • 지도학습 - 1. 분류, 2. 회귀, 3. 시각/음성 감지/인지, 4. 텍스트 분석,NLP
  • 비지도학습 - 1. 클러스터링, 2. 차원 축소, 3. 강화학습 

머신러닝의 단점

  1. 데이터에 너무 의존적( Garbage in -> Garbage out )
  2. 학습에 적합하게 수립된 머신러닝 모델은 실제 환경 데이터 적용 시 과적합 되기 쉽다.
  3. 데이터만 있으면 자동으로 최적화된 결과를 도출되는 것은 환상. 지속적인 노력이 필요.

 

Python 과 R 기반의 머신러닝 비교

- R은 통계 전용 프로그램 언어.

- Python은 직관적인 문법과 객체지향과 함수형 프로그래밍 모두를 포괄하는 유연한 프로그램 아키텍처, 다양한 라이브    러리 등의 큰 강점을 가지는 다양한 영역에서 사용되는 개발 전문 프로그램 언어.

--> R이 Python보다 통계 분석에 특화되어 있는 언어이고 다양하고 많은 통계 패키지를 보유하고 있지만

     머신러닝을 이제 막 시작하는 사람이라면 R보다는 Python.

 

 

Python의 장점

  1. 쉽고 뒤어난 개발 생산성
  2. 오픈 소스 계열이며 많은 라이브러리로 인해 개발 시 높은 생산성 보장
  3. 머신러닝 애플리케이션과 결합한 다양한 애플리케이션 개발이 가능
  4. 뛰어난 확장성, 유연성, 호환성으로 인해 서버, 네트워크등 다양한 영역에서 사용.

 

Python 머신러닝을 구성하는 주요패키지

  1. 머신러닝 패키지 : Python의 가장 대표적인 머신러닝 패키지는 사이킷런( Scikit-Learn ) 
  2. 행렬/선형대수/통계 패키지 : Python의 대표적인 행렬과 선형대수를 다루는 패키지는 넘파이( Numpy )
  3. 데이터 핸들링 : Python의 대표적인 데이터 처리 패키지는 판다스( Pandas )[ 2차원 데이터 처리에 특화 ]
  4. 시각화 : Python의 대표적인 시각화 패키지는 matplotlib [ 대표적으로 seaborn ]