AI (4) 썸네일형 리스트형 [머신러닝(Machine Learning)] Python 데이터 전처리 (Data Preprocessing) - 데이터셋을 훈련 셋과 테스트셋으로 분할하기 Feature Scaling(기능 확장) 은 데이터셋을 훈련 셋과 테스트셋으로 분할하기 전과 후 중 언제 적용해야 할까? 정답은 데이터셋을 훈련 셋과 테스트셋으로 분할 후 피처 스케일링을 해야 한다고 한다. 훈련 셋은 기존 관측값으로 기계 모델을 훈련시키고, 테스트 셋에서는 새로운 관측값으로 모델의 성능을 평가한다. 이 새로운 관측값이 미래에 갖게 될 데이터이자 나중에 머신러닝 모델에 배치할 데이터이다. 피처 스케일링 모든 변수값의 범위를 일정한 수준으로 맞추는 작업 변수 값의 범위나 단위가 달라서 생길 수 있는 문제를 막을 수 있다. 머신러닝 모델이 특정 데이터로 편향되는 것을 막을 수 있다. 데이터 범위나 크기에 따라 모델이 학습하는 데 bias가 달라질 수가 있기 때문에 하나의 범위나 크기로 통일하.. [머신러닝(Machine Learning)] Python 데이터 전처리 (Data Preprocessing) - 범주형 데이터 인코딩 앞서 데이터 불러오기때 사용했던 Data.csv파일을 확인하면 데이터셋에 범주가 있는 열이 하나가 있는데 프랑스, 독일 스페인이 있는 Country 열이다. 머신러닝 모델이 이 열들 사이의 종속변수의 특징이나 결과 같은 상호 관계를 계산하는 게 어렵기 때문에 Country열과 같이 문자열로 이루어진 범주를 숫자로 바꿔야 한다. 하지만, 프랑스 - 0 / 스페인 - 1 / 독일 - 2 와 같이 범주를 정할 경우에 나중에 머신러닝이 인식 오류를 일으킬 수 있다. 프랑스, 스페인, 독일의 상관관계가 없기 때문에 0, 1, 2와 같은 형태로 인코딩하는 것보다는 One-Hot 인코딩을 하는 게 낫다. One-Hot 인코딩을 사용하면 Country는 프랑스, 스페인, 독일 세 국가로 구성돼 있기 때문에 세 개의 열.. [머신러닝(Machine Learning)] Python 데이터 전처리 (Data Preprocessing) - 누락된 데이터 처리 앞서 데이터 불러오기때 사용했던 Data.csv파일을 확인하면 누락된 항목을 확인할 수 있다. 6행C열의 Salary 항목과 8행B열의 Age 항목이 누락돼 있다. 기계훈련을 시킬 때 자료에 누락된 항목이 있으면 오류가 생길 수 있기 때문에 누락된 데이터를 처리해줘야 한다. 누락된 데이터 처리방법으로 두가지 방법이 있다. 1. 관측값을 지우고 무시하는 방법 - 큰 데이터일 때 1퍼센트 정도의 작은 양은 크게 영향을 끼치지 않지만, 위와 같이 적은 양의 데이터 처리 시에는 영향을 끼칠 수 있다. 2. 누락된 데이터 대체 - 누락된 열의 평균값을 내서 결측치를 대체하는 방법으로, 가장 표준적인 방법으로 많이 쓰인다. 사이킷런(scikit-learn) 데이터 전처리 도구를 포함한 많은 도구들이 있는 Data .. [머신러닝(Machine Learning)] Python 데이터 전처리 (Data Preprocessing) - 데이터 세트 불러오기 Importing Libraries 먼저, 데이터 전처리에 필요한 라이브러리를 불러온다. import numpy as np import matplotlib.pyplot as plt import pandas as pd numpy : 고성능 수치계산 라이브러리. 행렬 및 벡터 연산 시 편리한 기능 제공. pandas : 데이터 호출 및 전처리 라이브러리 matplotlib : 차트 라이브러리 데이터 세트 불러오기 Data.csv 파일에 데이터세트가 아래와 같이 구성돼 있다. 머신러닝 모델을 훈련시킬 때 어떤 데이터 세트든지 아래의 요소를 가지고 있다. Feature(특징) / Dependent Variable (종속변수) Feature 또는 독립 변수는 예측하고 싶은 것을 예측할 수 있게 하는 정보를 가진 .. 이전 1 다음