본문 바로가기

Machine Learning/전처리(Preprocessing)

(10)
Machine Learning - valid와 test를 train으로 전처리 https://steadiness-193.tistory.com/256 Machine Learning - train_test_split https://steadiness-193.tistory.com/253 Machine Learning - 랜덤으로 train과 test로 나누기 데이터 불러오기 seaborn의 iris 데이터셋을 불러온다. 150개의 행 중 100개를 train, 50개를 test로 나눠보자 단,.. steadiness-193.tistory.com 위에서 만든 데이터 셋을 이용한다. 숫자형 데이터는 train 데이터셋의 컬럼별 평균값으로, 범주형 데이터는 train 데이터셋의 컬럼별 최빈값으로 채워준다. train과 valid, test 데이터셋의 결측값의 개수는 총 0개로 바뀌었다. [t..
Machine Learning - train_test_split https://steadiness-193.tistory.com/253 Machine Learning - 랜덤으로 train과 test로 나누기 데이터 불러오기 seaborn의 iris 데이터셋을 불러온다. 150개의 행 중 100개를 train, 50개를 test로 나눠보자 단, 인덱스순이 아닌 랜덤으로 추출해서 진행한다. id 컬럼 추가 랜덤 추출 https://steadiness-19.. steadiness-193.tistory.com 위 포스팅에서는 sample 메서드를 이용해서 나누어봤으나 좀 더 정밀하게 나눌 수 있는 sklearn 패키지의 train_test_split 을 이용해보자. 데이터 출처 www.kaggle.com/c/titanic Titanic: Machine Learning fro..
Machine Learning - 랜덤으로 train과 test로 나누기 데이터 불러오기 seaborn의 iris 데이터셋을 불러온다. 150개의 행 중 100개를 train, 50개를 test로 나눠보자 단, 인덱스순이 아닌 랜덤으로 추출해서 진행한다. id 컬럼 추가 랜덤 추출 https://steadiness-193.tistory.com/252 판다스 - 데이터프레임 랜덤 추출 : DataFrame.sample 데이터 불러오기 편하게 10개 행만 가져온다. [DataFrame.sample(frac, n, replace, random_state)] frac 전체 행에서 몇 %만 추출할 것인가 0~1까지의 값을 넣을 수 있다. n 몇개의 행을 추출할 것인가 * frac과.. steadiness-193.tistory.com train 100개 행을 랜덤으로 추출해서 가져왔다...
Machine Learning - PCA (Principal Component Analysis, 주성분 분석) [PCA (Pricipal Component Analysis, 주성분 분석)] 여러 차원으로 이루어진 '데이터를 가장 잘 표현하는 축'으로 사영(Projection)해서 차원을 축소 각 변수들의 공분산에 대한 주 성분(PC, Principal Component) 혹은 고유 벡터(Eigenvector) 중 가장 고유 값이 높은 주 성분(PC)에 데이터들을 사영(프로젝션, Projection) 한 것 [PC (Pricipal Component, 주성분)] 위에 있는 '데이터를 가장 잘 표현하는 축'은 데이터의 분산을 가장 잘 표현하는 축으로서 데이터 셋을 특이값 분해를 통해 추출된 고유 벡터(Eigenvector). 각 고유 벡터들은 서로 직교성을 띄기에 서로 독립적으로 데이터를 잘 표현 가능 데이터 불러오..
Machine Learning - One-Hot Encoding (원핫 인코딩) https://steadiness-193.tistory.com/70 판다스 - 원핫인코딩 (One-Hot Encoding) https://steadiness-193.tistory.com/19 판다스 - 구간 분할(pd.cut) 데이터 불러오기 horsepower를 3구간으로 저출력 / 보통출력 / 고출력 나누고자 한다. 이때 pd.cut을 이용하는데 (데이터배열, 구간, 레이블이.. steadiness-193.tistory.com https://steadiness-193.tistory.com/99 판다스 - 원핫인코딩 : get_dummies 범주형 데이터는 연산이 어렵기 때문에 숫자형으로 처리 가능하게 바꿔주는 것 범주형 데이터의 각 범주(category)를 컬럼 레벨로 변경 해당 범주에 해당하면 1로..
Machine Learning - Label Encoding (라벨 인코딩) https://steadiness-193.tistory.com/236 판다스 - 라벨링(Labeling) 머신러닝을 진행하기 위해서는 문자열을 숫자로 바꿔줘야 한다. 소형 → 0 / 중형 → 1 / 대형 → 2 이런 식이다. 데이터 불러오기 race 컬럼의 고유값 라벨링 목표 White → 0 Black →1 Asian-Pac-Islander. steadiness-193.tistory.com 위 포스팅에서도 해보았으나 이번엔 sklearn.preprocessing 패키지에 있는 LabelEncoder를 이용해본다. 범주형 변수를 수치형 변수로 변경 [Label Encoding] 라벨 인코딩은 n개의 범주형 데이터를 0부터 n-1까지의 연속적 수치 데이터로 표현 소 → 0 / 중 → 1 / 대 → 2 주의..
Machine Learning - Scaling : Standard Scaling (Z-score) [Z-score] 데이터를 통계적으로 표준정규분포화 평균= 0, 표준편차= 1 데이터(x)에서 평균을 뺀 값을 표준편차로 나눠준다. 데이터 불러오기 및 결측치 처리 결측치 처리는 아래 포스팅 참조 https://steadiness-193.tistory.com/239?category=961040 Machine Learning - 결측값 처리(Imputation) : mean 데이터 불러오기 categorical, numeric 컬럼 구분 리스트 제작 간단히, 자료형이 object라면 categorical이고 int나 float이라면 numeric이라 보면 된다. 방법1. for loop 이용 방법2. 직접 명시 + 리스트 이용.. steadiness-193.tistory.com 복사본 만들기 (1) Sta..
Machine Learning - Scaling : Min-Max Scaling [Scaling] 변수의 크기가 다 상대적이므로 값이 너무 작거나, 큰 경우 해당 변수가 Target에 미치는 영향력이 제대로 표현되지 않을 수 있음 [Min-Max Scaling] 값의 범위를 0이상 1이하로 변경한다. 데이터 불러오기 및 결측치 처리 결측치 처리는 아래 포스팅 참조 https://steadiness-193.tistory.com/239?category=961040 Machine Learning - 결측값 처리(Imputation) : mean 데이터 불러오기 categorical, numeric 컬럼 구분 리스트 제작 간단히, 자료형이 object라면 categorical이고 int나 float이라면 numeric이라 보면 된다. 방법1. for loop 이용 방법2. 직접 명시 + 리..