alpyrithm_알파이리즘

DAY4. Supervised Learning I 본문

SM공부/Data Mining & Machine Learning

DAY4. Supervised Learning I

알파이 2020. 7. 25. 08:17

 

Summary

  • Supervised Learning(지도 학습) 기초
    • Supervised Learning 개념
    • Supervised Learning의 종류
    • Feature Engineering 이해와 실습

 

 

 

 

 

 

 

Main

Supervised Learning 기초

  • Supervised Learning의 개념
    • 답을 주고 학습시키는 방법
    • 특정 입력(Input)에 대하여 올바른 정답(Right Answer)이 있는 데이터 집합이 주어지는 경우의 학습
    • 문제를 내고 그 다음 바로 정답까지 같이 알려주는 방식의 Learning 방법
    • 여러 문제와 답을 함께 학습하여 미지의 문제에 대한 올바른 답 예측이 가능
    • 문제와 함께 문제의 정답까지 함께 알고 있는 데이터를 선택
    • Input과 Output에 대한 관계를 유추하여 Right Answers(올바른 해답)을 제시
    • 각각의 집 크기(Input)에 대한 가격(Output)을 바탕으로 하면, Supervised Learning은 이러한 입력들을 기반으로 학습하여 새로운 집에 대한 가격을 알아내는 알고리즘을 개발하고 그 가격을 제시하는 것이 가능
    • Label(레이블)
      • Learning System에 데이터와 함께 입력하는 일종의 정답
    • 입력(x)에 대해 레이블(y)을 달아놓은 데이터를 컴퓨터에 주면 컴퓨터가 그것을 학습
    • 장점
      • 사람이 직접 개입하므로 정확도가 높은 데이터를 사용 가능
    • 단점
      • 사람이 직접 Labeling 하므로 비용 이슈 발생
      • 데이터양이 적어짐

 

Supervised Learning의 종류

  • Regression(회귀분석)과 Classification(분류)
  • Regression(회귀분석)
    • 유추된 알고리즘을 통하여 연속적인 값을 예측
    • Regression은 Continuous한 연속적인 값을 찾음
    • Output은 이산적이고 스칼라 값일 수 있으나, Input에 대응하는 Output을 분석하여 연속함수를 찾는 과정이 바로 Regression
    • 위의 예제에서 집의 크기(Input)에 해당하는 적절한 집의 가격(Output)을 찾는 것이 전형적인 Regression
    • 독립변수가 종속변수에 미치는 영향력의 크기를 측정하여 독립변수의 일정한 값에 대응되는 종속변수의 값을 예측하기 위한 통계적 분석방법
  • Classification(분류)
    • Input에 해당하는 Output이 어떤 종류의 값인지를 표현
    • Input에 대응하는 Output을 분석하여 Discrete(이산적인) 값을 찾는 과정
    • Output은 반드시 0과 1로 표현되는 문제들만이 Classification 문제가 아닌, 0, 1, 2, 3, 4 등과 같이 Discrete한 Output으로 표현될 수 있으면 됨
    • 특정한 종양의 크기에 대하여 그 종양이 악성인지 양성인지를 진단하는 그래프
    • 4~5 사이의 모호한 종양 크기가 악성인지 양성인지를 구해야함
    • 결국에 우리가 원하는 결과는 양성이거나 음성인, 이산적인 값으로 표현할 수 있는 것이 Classification
    • 생각해 볼 사항
      • 단순히 종양의 크기만으로 진단을 내리는 것은 위험, 같은 크기의 종양이라고 하더라도 나이가 많으면 더 위험할 수 있음
      • 종양의 크기, 환자의 나이, 종양이 악성을 나타내는 빨간색의 X와 양성을 나타내는 파란색의 O의 3가지 속성을 이용한 그래프 활용
      • 하나의 직선을 그어 양성과 악성을 구분하여 특정 위치의 종양은 양성일 확률이 높고 낮음이 판단 가능
      • 실생활 데이터는 2가지 이상의 특징들을 통한 여러 다양한 무한한 Feature들을 다루기 때문에 흥미로움

 

Feature Engineering 플로우

  • Raw Data ㅡ Clean and Transform ㅡ> Feature Creation ㅡ> Build Models ㅡ> Predictive Analytics
  • Codes
    • pandas.to_datetime()
      • convert argument to datetime
      • 일자 시간 타입
    • pandas.DataFrame.groupby().agg()
      • aggregate using one or more operations over the specified axis
      • 데이터 집계 방법
    • pandas.DataFrame.apply()
      • 커스텀 함수를 사용하기 위해 DataFrame에서 복수개의 컬럼이 필요할 때
      • apply function to each row or column
    • pandas.isnull()
      • detect missing values
      • 결측값 여부 확인
      • 결측이면 True, 결측이 아니면 False 반환

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
Comments