본문 바로가기

Machine Learning with Python15

05_Data preprocessing: 누락된 데이터 다루기(범주형) import pandas as pd df = pd.DataFrame([['green', 'M', 10.1, 'class2'], ['red', 'L', 13.5, 'class1'], ['blue', 'XL', 15.3, 'class2']]) df.columns = ['color', 'size', 'price', 'classlabel'] df 순서가 있는 특성 매핑 1) 학습 알고리즘이 순서 특성을 올바르게 인식하려면, 범주형의 문자열 값 ==> 정수로 변환 2) 매핑 함수를 직접 만들어야 한다. In [3]: size_mapping = {'XL': 3, 'L': 2, 'M': 1} df['size'] = df['size'].map(size_mapping) df 나중에 정수값을 다시 원래 문자열 표현으로 변.. 2023. 1. 1.
04_Data preprocessing: 누락된 데이터 다루기(숫자) 데이터 품질과 데이터에 담긴 유용한 정보의 양 머신 러닝 알고리즘을 얼마나 잘 학습할 수 있는지 결정하는 중요한 요소. 학습 알고리즘에 데이터를 주입하기 전에 조사하고 전처리하는 것이 매우 중요 데이터셋에서 누락된 값을 제거하거나 대체하기 머신 러닝 알고리즘을 위해 범주형 데이터 변환하기 모델과 관련이 높은 특성 선택하기 누락된 데이터 다루기 1) 여러가지 이유로 훈련 샘플에 하나 이상의 값이 누락 발생 2) 숫자가 아니라는 의미(NaN: not a number) / 데이터베이스 모르는 값(NULL) 3) 수치 계산 라이브러리 혹은 패키지 누락된 값을 다룰수 없거나 단순히 이를 무시했을 때 예상치 못한 결과값 도출. 4) 분석을 진행하기 전 누락된 값을 처리하는 것이 중요 테이블 형태 데이터에서 누락된 .. 2023. 1. 1.
03_Data preprocessing: 특성 스케일 맞추기 알고리즘에 따라서 스케일에 영향을 받을 수도 않받을 수도 있음.(특성 간의 영향) 영향받는 알고리즘: 경사하강법(gradient descent), K-최근접 이웃 영향을 않받는 알고리즘: 결정트리와 랜덤 포레스트 대부분의 머신 러닝과 최적화 알고리즘은 특성의 스케일이 같을 때 훨씬 성능이 좋다. 최적화 알고리즘 1) 정규화(normalization) [0, 1]범위에 맞추어 사용 min-max scaling 단점: 데이터셋에 비정상적으로 아주 큰 값이나 아주 작은 값이 들어 있을 때 다른 샘플들을 좁은 구간에 촘촘하게 모아 버림 2) 표준화(standardization) 경사 하강법같은 최적화 알고리즘에서 널리 사용. 특성의 평균 0에 맞추고 표준편차를 1로 만들어 정규분포와 같은 특징을 가지도록 설계 .. 2022. 12. 20.
02_머신러닝 with 분류모델(k-neighbor) 가장 간단한 머신러닝 알고리즘(K-최근접 이웃) 사용, 2개의 종류를 분류. In [1]: bream_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0, 32.0, 33.0, 33.0, 33.5, 33.5, 34.0, 34.0, 34.5, 35.0, 35.0, 35.0, 35.0, 36.0, 36.0, 37.0, 38.5, 38.5, 39.5, 41.0, 41.0] bream_weight = [242.0, 290.0, 340.0, 363.0, 430.0, 450.0, 500.0, 390.0, 450.0, 500.0, 475.0, 500.0, 500.0, 340.0, 600.0, .. 2022. 12. 2.