2024/12/03 7

내일배움캠프 본캠프 7일차 - Pandas라이브러리

오늘의 학습 내용1. DataFrame과 CSV, Excel 파일 다루기pandas 라이브러리를 활용해 CSV와 Excel 파일을 읽고 쓰는 작업을 수행했습니다.주요 작업:pd.read_csv()로 CSV 파일 불러오기 (index_col 설정).pd.read_excel()로 Excel 파일 불러오기..map() 메서드를 활용하여 데이터를 매핑해 새로운 컬럼 추가.join과 merge를 사용하여 DataFrame 병합.병합된 데이터를 기반으로 검거율 계산 및 정렬.주요 코드:df['구별'] = df['관서명'].map(police_to_gu).fillna('구 없음')df_merged = df_quiz.join(df_pop, how='inner')df_merged['검거율'] = (df_merged['소..

TIL 2024.12.03

데이터 전처리: 데이터 정규화와 표준화 (비선형 변환 포함)

데이터 변환 및 전처리 데이터 변환은 머신러닝과 데이터 분석에서 중요한 과정으로, 데이터가 모델 학습에 적합하도록 변환하여 성능을 향상시키는 역할을 합니다. 1. 정규화 (Normalization) 정규화는 데이터를 특정 범위(일반적으로 0과 1 사이)로 변환하여 데이터의 스케일을 맞추는 과정입니다. 1.1 Min-Max 정규화 Min-Max 정규화는 아래 공식을 사용하여 데이터를 변환합니다: $$ x' = \frac{x - \text{min}(x)}{\text{max}(x) - \text{min}(x)} $$ 예제: import pandas as pd from sklearn.preprocessing import MinM..

Python 2024.12.03

데이터 전처리: 인코딩 (Encoding)

인코딩(Encoding)은 범주형 데이터를 숫자형 데이터로 변환하는 과정입니다. 머신러닝 모델은 대부분 숫자 데이터를 다룰 수 있기 때문에, 데이터가 문자, 텍스트, 혹은 범주형 값으로 이루어져 있다면 이를 숫자로 변환해야 합니다.왜 인코딩이 필요한가?머신러닝 모델은 수치형 데이터만 처리할 수 있습니다.범주형 데이터를 숫자로 변환하면 모델이 데이터의 패턴을 학습할 수 있습니다.데이터 분석 및 전처리 과정에서 필수적인 작업입니다.인코딩의 기본 목적데이터를 머신러닝 모델에 적합한 형식으로 변환예: '남자', '여자' → 0, 1범주 간 관계를 모델이 올바르게 이해할 수 있도록 보장예: 순서가 있는 데이터는 순서를 유지하면서 변환, 순서가 없는 데이터는 편향 없이 변환.인코딩의 종류레이블 인코딩 (Label ..

Python 2024.12.03

데이터 전처리: 데이터 정규화와 표준화

1. 데이터 정규화 (Normalization)정규화란? 데이터를 0과 1 사이의 값으로 변환하는 과정입니다. 목적: 서로 다른 범위를 가진 데이터를 동일한 스케일로 맞춰 비교 가능하게 만듭니다.1) Min-Max 정규화공식:\[X' = \frac{X - X_{\text{min}}}{X_{\text{max}} - X_{\text{min}}}\] \( X \): 원래 데이터 값 \( X_{\text{min}} \): 최소값 \( X_{\text{max}} \): 최대값예제 코드import pandas as pdfrom sklearn.preprocessing import MinMaxScaler# 데이터 생성data = { '특성1': [10, 20, 30, 40, 50], '특성2': [..

Python 2024.12.03

데이터 전처리: 이상치 탐지 및 처리

1. 이상치(Outlier)란?이상치는 데이터의 일반적인 패턴에서 벗어난 값을 의미합니다.문제점:분석 결과에 부정적인 영향을 미침.모델 학습 과정에서 왜곡 발생 가능.해결 필요성:탐지 후 적절히 제거하거나 처리해야 합니다.2. 이상치 탐지 방법1) 기술 통계 기반 탐지describe() 함수: 데이터의 기본 통계량 확인.이상치 의심 기준:평균(mean)과 최대값(max)이 지나치게 차이 나는 경우.표준편차(std)가 지나치게 큰 경우.import pandas as pd# 데이터 생성data = { '이름': ['철수', '영희', '민수', '지수', '상수'], '나이': [25, 30, 22, 35, 120], # 120은 이상치로 의심됨 '점수': [90, 85, 95, 80, 8..

Python 2024.12.03

IQR

1. IQR(Interquartile Range)이란?데이터를 작은 값부터 큰 값까지 정렬했을 때, 전체 데이터를 4등분한 값 중 일부를 이용하는 방법입니다.Q1 (1사분위수): 데이터의 하위 25% 지점 (데이터를 4등분했을 때 첫 번째 경계).Q3 (3사분위수): 데이터의 상위 25% 지점 (데이터를 4등분했을 때 세 번째 경계).IQR: Q3 - Q1 (데이터의 중간 50% 범위).2. IQR로 이상치를 정의하는 이유대부분의 데이터는 Q1과 Q3 사이(즉, 중간 50%)에 몰려 있습니다.이상치는 이 범위를 벗어난 값으로 판단합니다.이상치 기준 공식:아래쪽 이상치: Q1 - 1.5 × IQR보다 작은 값.위쪽 이상치: Q3 + 1.5 × IQR보다 큰 값.3. 간단한 예제1) 데이터 준비data = ..

카테고리 없음 2024.12.03

데이터 전처리: 결측치 탐지와 처리 방법

1. 결측치란 무엇인가요?결측치의 정의결측치(Missing Value): 데이터셋에서 값이 누락된 경우를 말합니다.결측치를 제대로 처리하지 않으면 분석 결과의 신뢰성이 크게 떨어질 수 있습니다.2. 결측치 탐지결측치 탐지 방법Pandas를 활용하면 데이터프레임에서 결측치를 쉽게 탐지할 수 있습니다.1) isna() / isnull() 함수 데이터프레임의 각 요소가 결측치인지 여부를 반환합니다.isna()사용 방법: 데이터프레임에서 .isna()를 붙이면 끝!결과: 결측치(True)와 아닌 값(False)을 확인할 수 있습니다. import pandas as pd# 데이터 준비data = { '이름': ['철수', '영희', '민수', '지수'], '나이': [25, 30, None, 35], ..

Python 2024.12.03