데이터 전처리 - 정규화
·
Pandas
데이터셋에 변수들의 숫자 데이터 크기의 상대적 차이 떄문에 머신러닝 분석 결과가 달라질 수 있다. ex) A변수는 0 ~ 10000 의 범위를 가지로 B변수는 0~10의 범위를 가질 때 상대적으로 큰 값인 A변수가 머신러닝 분석 결과에 더 큰 영향을 미친다. 따라서 이러한 데이터의 상대적인 크기 차이를 제거해야한다. 데이터를 각 열에 속하는 동일한 크기 기준으로 나눈 비율로 표현하는 것을 정규화(normalization)이라고 한다. 정규화를 거치면 데이터의 범위는 0~1 or -1~1 이 된다. ### 정규화 방법 1 ### 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 #..
데이터 전처리 - 범주형(category) 데이터 처리
·
Pandas
숫자형으로 연속된 데이터가 있을 때 그 데이터를 그대로 사용하는 것보다 위의 그림처럼 일정한 구간(bin)으로 나눠서 데이터를 사용하는 것이 더 효울적인 경우가 있다. 이렇게 연속 변수를 일정한 bin으로 나누고, 각 구간을 이산 변수로 변환하는 과정을 구간 분할(bining)이라고 한다. ### 구간 분할 ### 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ##### 범주형 데이터 처리 ##### ### 구간 분할 ### # cut() 메소드 사용 # # histigram() 함수를 통해 경계값을 구한다 # count, bin_dividers = np.histogram(df['horsepowe..
데이터 전처리 - 데이터 표준화
·
Pandas
데이터셋은 여러 사람, 국가에서 만들어지기 때문에 단위, 대소문자, 약칭 등 여러가지 형태로 표현된다. 잘 정리되어 있어 보이는 데이터셋이라도 서로 다른 단위가 섞여 있거나 같은 대상을 여러 형식으로 표현한 경우가 존재한다. 이러한 경우를 표준화 시켜서 일관성을 갖게 해야 좋은 품질의 데이터를 얻을 수 있다. ### 단위 환산 ### 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 import pandas as pd import numpy as np ##### 데이터 표준화 ##### ### 단위 환산 ### # 하나의 데이터 셋 안에 있는 데이터들은 같은 측정 단위를 가질 필요가 있다 # # 외국에서 사용하..
데이터 전처리 - 중복 데이터 처리
·
Pandas
동일한 관측값이 2개 이상 중복되는 경우 븐석 결과를 왜곡하기 때문에 삭제해주어야 한다. ### 중복 데이터 확인 ### 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 import pandas as pd ##### 중복 데이터 처리 ##### ### 중복 데이터 확인 ### # duplicated() 메소드 사용 # df = pd.DataFrame({'1열': ['a', 'a', 'b', 'a', 'b'], '2열': [1, 1, 1, 2, 2], '3열': [1, 1, 2, 2, 2]}) print(df) ''' 1열 2열 3열 0 a ..
데이터 전처리 - 누락 데이터 처리
·
Pandas
데이터 분석의 정확도는 분석 데이터의 품질에 의해 좌우된다. 데이터의 품질을 높이기 위해 누락 데이터, 중복 데이터, 오류 등을 수정하고 분석 목적에 맞게 데이터 셋을 변화시키는 것을 데이터 전처리 라고 한다. ### 누락 데이터 확인 ### 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 9..