본문 바로가기

전체 글153

SELECT 문 모두의 SQL: 누구나 쉽게 배우는 데이터 분석 기초/ 김도연 지음을 참고하여 공부하고 정리하는 스터디 포스팅입니다. SQL문 작성 규칙 SQL문은 대문자와 소문자를 구별하지 않습니다. SQL문은 한 줄 또는 여러 줄로 작성할 수 있습니다. 코드 수준에 따른 들여쓰기는 SQL 문장을 좀더 읽기 쉽게 해줍니다. 명령어를 대문자로 작성하고 나머지를 소문자로 작성하면 가독성이 좋습니다. SELCT 문 기본 문법 SELECT [DISTINCT] 열 이름 [or 별칭(alias)] FROM 테이블 이름 [WHERE 조건식] [ORDER BY 열 이름 [ASC or DESC]]; SELECT 명령어는 데이터를 선택한다는 의미로 선택된 데이터를 화면에 출력한다는 것입니다. 즉 출력만 될 뿐 실제 데이터의 값이 데이터.. 2020. 4. 22.
앙!상블 앙상블 학습이란? 앙상블학습(Ensemble Learning)은 여러 개의 분류기(Classifier)를 생성하고 계측을 결합하면서 최종적으로 보다 정확한 예측을 도출하는 기법을 말합니다. 대표적인 예시로는 랜덤 포레스트, 그래디언트 부스팅 알고리즘이 있습니다. 앙상블 학습의 목표는 다양한 분류기의 예측 결과를 결합하면서 단일 분류기보다 신뢰성이 높은 예측값을 얻는 것입니다. 앙상블 학습의 유형 앙상블 학습은 보팅(Voting), 배깅(Bagging), 부스팅(Boosting) 세가지도 나눌 수 있습니다. 보팅과 배깅은 여러개의 분류기로 투표를 통해서 최종 예측 결과를 결정하는 방식입니다. 그렇다면 두개의 차이점은 무엇일까요?? 바로! 보팅은 서로 다른 알고리즘을 가진 분류기를 결합하고, 배깅은 각가의 .. 2020. 4. 21.
결정 트리 실습(사용자 행동 인식 데이터) UCI에서 제공하는 사용자 행동 인식 데이터를 사용해서 결정 트리 알고리즘 실습을 해보겠습니다. 이 데이터는 사람들에게 스마트폰 센서를 장착시킨 후에 사람의 동작과 관련된 여러 가지 피처를 수집한 데이터입니다. In import pandas as pd import matplotlib.pyplot as plt %matplotlib inline # feature.txt 파일은 index와 피처명이 공백으로 분리되어 있어 다음과 같이 sep으로 할당시켜 불러와 줘야 함. feature_name_df = pd.read_csv('./human_activity/features.txt', sep='\s+', header=None, names = ['column_index', 'column_name']) feature.. 2020. 4. 19.
결정 트리(Decision Tree) 지도학습은 정답이 있는 데이터가 주어진 상황에서 학습하는 ML 알고리즘의 방식입니다. 지도학습의 대표적인 유형중 하나인 분류(Classfication)는 학습 데이터의 피처와 레이블값을 ML 알고리즘으로 학습하고, 학습한 모델에 새로운 값이 주여졌을 때 미지의 레이블 값을 예측하는 것입니다. 결정 트리란?? 결정 트리(Decision Tree)는 ML 알고리즘 중에서 직관적으로 이해하기 쉬운 알고리즘입니다. 데이터에 있는 규칙을 학습을 통해서 자동으로 찾아내 트리 기반의 분류 규칙을 만드는 것입니다. 쉽게 비유를 하자면 스무고개와 유사한 방식으로 if, else를 기반으로 예측을 위한 규칙을 만든다고 생각하면 됩니다. 결정 트리에서는 데이터의 어떤 기준을 바탕으로 규칙을 만들어야 가장 효율적인 분류가 될.. 2020. 4. 16.
사이킷런으로 시작하는 머신러닝 - 데이터 전처리(피처 스케일링)- 피처 스케일링 피처 스케일링(feature scaling)은 서로 다른 변수의 값에 대한 범위를 일정한 수준으로 맞추는 작업입니다. 대표적으로는 표준화(Standardization)와 정규화(Normalization)가 있습니다. ▶ 표준화: 데이터의 피처들 각가의 평균이 0이고 분산이 1인 가우시안 정규 분포를 가진 값으로 변환해주는 것입니다. ▶ 정규화: 서로 다른 피처들의 크기를 통일하기 위해 크기를 변화해주는 것입니다. 예를들어 A피처는 값이 0~100KM 거리를 나타내고 B피처는 0~100,000,000,00으로 금액을 나타낸다고 했을때 이 변수들을 동일한 크기의 단위로 값을 최소 0~ 최대 1의 값으로 변환한다고 생각하면 됩니다. 사이킷런에서 제공해 주는 대표적인 피처 스케일링 클래스인 Sta.. 2020. 4. 10.
사이킷런으로 시작하는 머신러닝 - 데이터 전처리(데이터 인코딩)- 데이터 전처리 - 사이킷런의 ML 알고리즘을 적용하기 전에 데이터에 대해 미리 처리해야 될 부분들이 있습니다. 결손값, 즉 NAN, NULL값은 다른 값으로 변환해야 합니다. NULL값은 어떻게 처리해야 하는지는 데이터에 따라 달라지게 됩니다. 예를들어 NULL값이 얼마 되지 않는다면 피처의 평균값으로 간단히 대체를 할 수 있습니다. 하지만 만약 NULL 값이 대부분을 차지한다면 NULL 값을 버리는 것이 더 좋습니다. 따라서 NULL값을 처리할때는 데이터를 상세하게 검토하고 고민하여 어떠한 값으로 대체할지 잘 선정을 해주어야 합니다. 문자열 값은 숫자형으로 변환해주어야 합니다. 사이킷런의 ML 알고리즘은 문자열 값을 입력 값으로 지원하지 않습니다. 그래서 문자열 값들은 인코딩 과정을 거쳐 숫자형으로 변.. 2020. 4. 10.