[Python.ML] Python & Machine Learning Overview

2020. 11. 27. 05:00Python과 머신러닝/웹 데이터 추출

요약

  • 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
    1. 데이터 수집
    2. 데이터 전처리
    3. 학습용 데이터셋 추출
    4. ML Model training
    5. Model 검증
    6. 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

 

마무리

 

[Python.ML] Feature, 독립변수, input 값 알아보기

Feature란? 머신러닝이란 결국 주어진 x값들에 대한 y값을 계산할 수 있는 하나의 함수 f를 찾는 것이다. Y라는 종속변수를 계산하기 위해 사용되는 input 값 혹은 독립변수를 우리는 하나의 Feature라

coding-grandpa.tistory.com

 

[Python.ML] Pandas로 데이터 불러오기

0. 요약 Pandas란 무엇이고, Pandas를 통해 어떤 데이터를 읽어 들일 수 있는지 보려고 한다. 실제 예제를 통해서 어떻게 csv 형태의 데이터를 읽어 들일 수 있는지도 볼 계획이다. 1. 용어 정리 데이터

coding-grandpa.tistory.com