본문 바로가기

AI/데이터 전처리5

[데이터 전처리 - 5] 데이터 스케일링 데이터 스케일링이 필요한 이유는 컬럼 간의 차이가 너무 크면 분석이 힘들기 때문이다(Age는 많아봐야 100살인데, Salary는 수십만이 될수도). 혹은 수능 만점(500점인가?)과 토익 만점(990점)에서 수능 총점수 100점과 토익 점수 100점의 가치를 동일 선상에 둘 수 없기 때문이기도 하다. 약간 위 사진 예시와 같은 느낌이라고 할 수 있다. 이제 이 dastaset의 Age와 Salary를 스케일링 해보자. dastaset[, 2:3] = scale(dastaset[, 2:3]) # '2:3'은 2열과 3열을 스케일링 한다는 뜻이다. 위와 같은 커맨드를 실행하면 아름답게 스케일링 된 결과를 확인할 수 있다. 2022. 4. 17.
[데이터 전처리 - 4] 훈련 세트와 테스트 세트 나누기 훈련 세트와 테스트 세트가 필요한 이유는 기본적으로 머신러닝의 성능을 평가할 때 훈련 세트와 테스트 세트가 동일한 환경이어야 때문이다. 하지만 같은 조건의 두 데이터세트를 구하는 것보다 현재 존재하는 데이터 세트를 나눠서 훈련 세트와 테스트 세트를 만드는게 더 쉽기 때문에 보통 후자의 방법을 많이 사용한다. 데이터세트를 분할하기 위해서 caTools라는 라이브러리의 도움을 받을건데 설치를 위해 다음과 같은 커맨드를 입력해준다. install.packages('caTools') 설치 후 활성화 했다면, 항상 같은 분할값을 얻기 위해 seed 설정을 해주고, 분할해준다. set.seed(123) # ()에 원하는 시드값을 입력 split = sample.split(dataset$Purchased, Split.. 2022. 4. 16.
[데이터 전처리 - 3] 범주형 데이터 (Categorical Data) 위 사진에서 범주형 데이터는 Country 컬럼과 Purchased 컬럼이다. Country에는 France, Spain, Germany Purchased에는 Yes, No 범주형 데이터가 어떤 느낌인지 바로 느껴진다. (enum 같은?) 머신러닝은 기본적으로 모두 숫자로 이루어지기 때문에 이런 값들을 숫자로 바꿔주는 것이 중요하다. 이렇게 코드를 실행시켜주면 이처럼 아름답게 숫자로 모두 바뀐 것을 알 수 있다. Factor는 "정해진 범주 내에서 카테고리별로 분석하기 위해 주로 사용되는 데이터 자료형" 2022. 4. 16.
[데이터 전처리 - 2] 누락된 데이터 처리 (Taking care of missing data) 누락된 데이터를 처리하는 방법 2가지 그냥 삭제한다. 하지만 이렇게 하면 중요한 데이터를 잃어버릴 가능성이 있기 때문에 비추천 특정 컬럼에 대해서 누락된 행을 제외한 나머지 데이터들의 평균 값을 넣어준다. 실제 데이터와 큰 오차가 있을 가능성이 적어 추천 따라서 2번을 실습해보겠다. dataset$Age = ifelse(is.na(dataset$Age), ave(dataset$Age, FUN = function(x) mean(x, na.rm = TRUE)), dataset$Age) 를 실행하면 (Salary 컬럼에 대해서는 Age를 Salary로 바꾸기만 하면 된다) 이처럼 데이터가 모두 채워진 모습을 볼 수 있다. 2022. 4. 16.
[데이터 전처리 - 1] R Studio로 .scv 읽기 머신러닝 스터디를 시작하면서 : https://nhahan.tistory.com/12 . . . 처음에는 R이 처음이라 잘 모르기 때문에 모든 것을 자세하게 설명하면서 갈 것이지만, 이후엔 이미 설명한 부분이고 중요하지 않다면 기능 설명 같은건 일부 생략하면서 글 작성을 할 예정이다. 그림 1. R Studio 우측 하단에 있는 More탭에서 엑셀 파일이 있는 곳을 Working Directory로 설정한다. 그림 2. 1번처럼 dataset = read.csv('Data.csv') 를 실행한다. 그리고 2번을 클릭하면 3번처럼 보여준다. 주의 : R은 인덱스가 1부터 시작 저는 '느낌'을 한 번 받아보는게 중요하다고 생각하는데, R의 느낌은 https://dev.epiloum.net/1546 이 블로그.. 2022. 4. 16.