본문 바로가기
728x90
반응형
SMALL

DNN with Keras/Machine Learning9

그룹화, 정렬 및 섞기 (2) Sorting a Data Set 모델을 학습하기 전에, 훈련 및 전처리 중에 데이터 세트를 셔플하는 것이 항상 좋지만, 데이터 세트를 정렬할 수도 있다. 데이터 세트를 정렬하면 하나 이상의 열에 대해 오름차순 또는 내림차순으로 행을 정렬할 수 있다. import os import pandas as pd import numpy as np np.random.seed(42) df = pd.read_csv('auto-mpg.csv', na_values = ['NA', '?']) df = df.sort_values(by = 'name', ascending = True) print(f"The first car is : {df['name'].iloc[0]}" ) pd.set_option('display.max_co.. 2023. 7. 27.
그룹화, 정렬 및 섞기 (1) Grouping, Sorting, and Shuffling 전체 판다스 데이터 프레임에 영향을 미치는 몇 가지 방법이 있다. 이러한 기술을 통해 데이터 세트를 그룹화, 정렬 및 셔플할 수 있다. 이는 모두 데이터 전처리 및 평가를 위한 필수 작업이다. Shuffling a Dataset 데이터 세트의 행 순서대로 숨어 있는 정보가 있을 수 있다. 시계열 데이터를 다루고 있지 않는 한 행의 순서는 유의하지 않아야 한다. 그러나 순서의 데이터를 가지고 있는 것이 문제가 될 수 있다. 데이터를 훈 및 검증으로 분할하는 경우를 고려해야 한다. 데이터를 k겹 교차 검증으로 분리하는 경우에도 문제가 발생할 수 있다. 이러한 문제 때문에 데이터 세트를 셔플하는 것이 중요하다. 종종 셔플과 재인덱싱이 함께 수행된다. .. 2023. 7. 27.
타겟 인코딩 (Target Encoding) Removing the First Level pd.concat 함수에는 drop_first라는 매개 변수도 포함되어 있는데, 첫 번째 수준을 제거함으로써 k-1 더미를 k개의 범주형 수준에서 벗어나게 할지 여부를 지정한다. 이 경우 첫 번째 수준인 area_a를 제거하고자 하는 이유는 보통 사용되지 않는 [0,0,0]의 인코딩을 사용함으로써 더 효율적인 인코딩을 제공한다. area를 단지 세 개의 열로 인코딩하고 a의 범주형 값을 [0,0,0]으로 매핑한다. import pandas as pd dummies = pd.get_dummies(['a', 'b', 'c', 'd'], prefix = 'area', drop_first = True) print(dummies) 위의 데이터에서 볼 수 있듯이 area.. 2023. 7. 27.
원핫 인코딩 (One-Hot-Encoding) Encoding Categorical Values as Dummies 범주형 값을 부호화하는 전통적인 방법은 더미 변수로 만드는 것이다. 이 기법은 one-hot-encoding이라고도 한다. csv를 다운 받는다. import pandas as pd df = pd.read_csv('jh-simple-dataset.csv', na_values = ['NA', '?']) pd.set_option('display.max_columns', 7) pd.set_option('display.max_rows', 5) display(df) area 열은 숫자가 아니므로 원핫 인코딩으로 인코딩해야 한다. 영역 수와 개별 값을 표시한다. 이 경우 영역 범주형 변수에는 4개의 값만 있다. areas = list(df['ar.. 2023. 7. 27.
범주형 (Categorical) 및 연속형 (Continuous) 값 Categorical and Continuous Values 신경망은 고정된 수의 열이 입력되어야 한다. 이 입력 형식은 스프레드시트 데이터와 매우 유사하다. 신경망이 데이터로부터 학습할 수 있도록 데이터를 표현하는 것이 필수적이다. 데이터를 전처리하는 구체적인 방법을 위해 정의된 4가지 기본 유형의 데이터를 고려하는 것이 중요하다. 통계학자들은 일반적으로 다음과 같은 측정 수준을 말한다. 문자 데이터 (문자열) Nominal : 개별 이산 항목, 순서가 없다. 예를 들어, 색상, 우편 번호 및 모양 Ordinal : 개별 고유 항목에는 순서가 내포되어 있다. 예를 들어, 등급 수준, 직책, 스타벅스 커피 사이즈 (tall, venti, grande) 수치 데이터 (Numeric Data) 간격 (Int.. 2023. 7. 27.
데이터프레임 저장 Saving a Dataframe to CSV import os import numpy as np import pandas as pd path = "." df = pd.read_csv('auto-mpg.csv', na_values = ['NA', '?']) filename_write = os.path.join(path, "auto−mpg−shuffle.csv") df = df.reindex(np.random.permutation(df.index)) # Specify index = false to not write row numbers df.to_csv(filename_write, index = False) Saving a Dataframe to Pickle 다양한 소프트웨어 프로그램은 CSV로 저장된 텍.. 2023. 7. 27.
데이터프레임 전처리 Training and Validation 기계 학습 모델이 이전에 본 적이 없는 값을 예측하는 능력을 기반으로 기계 학습 모델을 평가해야 한다. 이 때문에 종종 훈련 데이터를 유효성 검증 및 훈련 세트로 나눈다. 기계 학습 모델은 훈련 데이터로부터 학습하지만 궁극적으로는 유효성 검사 데이터를 기반으로 평가된다. • 훈련 데이터 : (표본 데이터 내) 신경망이 훈련하던 데이터 • 검증 데이터 : (표본 데이터 외) 기계 학습 모델이 훈련 데이터에 fit 후 평가되는 데이터 훈련 및 유효성 검증 데이터를 처리하는 데는 두 가지 효과적인 방법이 있다. • 훈련 및 검증 데이터 분할 : 프로그램은 훈련 및 검증 (홀드 아웃) 세트 간의 비율에 따라 데이터를 분할한다. 일반적인 비율은 80%의 훈련 및 20%의.. 2023. 7. 27.
Dropping / Concatenating Dropping Fields 값이 없는 필드를 신경망에 삭제해야 한다. 다음 코드는 MPG 데이터 세트에서 이름 열을 제거한다. import os import pandas as pd df = pd.read_csv('auto-mpg.csv', na_values = ['NA', '?']) print(f"Before drop : {list(df.columns)}") df.drop('name', 1, inplace=True) print(f"After drop : {list(df.columns)}") Before drop : ['mpg', 'cylinders', 'displacement', 'horsepower', 'weight', 'acceleration', 'year', 'origin', 'name'] Aft.. 2023. 7. 27.
결측치 (Missing Values) / 특이치 (Outliers) 결측치 (Missing Values) 결측치는 기계 학습의 현실이다. 모든 데이터 행에는 모든 열에 대한 값이 있는 것이 이상적이다. 하지만, 이것은 거의 그렇지 않다. 일반적인 방법은 결측값을 해당 열의 중앙값으로 바꾸는 것이다. 이 프로그램은 중앙값 (median)을 계산한다. csv 파일을 다운받는다. import os import pandas as pd df = pd.read_csv('auto-mpg.csv', na_values = ['NA', '?']) print(f"horsepower has na? {pd.isnull(df['horsepower']).values.any()}") print("Filling missing values ...") med = df['horsepower'].median.. 2023. 5. 1.
728x90
반응형
LIST