alpyrithm_알파이리즘
DAY4. Supervised Learning I 본문
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 반환
- pandas.to_datetime()
728x90
반응형
'SM공부 > Data Mining & Machine Learning' 카테고리의 다른 글
DAY6. Supervised Learning III (0) | 2020.07.27 |
---|---|
DAY5. Supervised Learning II (0) | 2020.07.26 |
DAY3. Dimension Reduction - PCA (0) | 2020.07.24 |
DAY2. Data Analysis Basic & Pandas Basic (0) | 2020.07.23 |
DAY1. Data Analysis Basic & Pandas Basic (0) | 2020.07.20 |
Comments