본문 바로가기

데이터 분석14

데이터 전처리 #age 항목을 Intger type으로 변경 cust=cust.astype({'age': int}) #결측치가 문자 '_'로 되어있어 에러발생 cust = cust.replace("_", np.NaN) #replace()함수로 결측치 채우기 cust=cust_fix.copy() cust['age']=cust['age'].replace(np.nan, cust['age'].median()) cust.head() # interpolate 함수의 선형 방법을 사용하여 결측값을 채우기 cust=cust_fix.copy() cust=cust.interpolate() cust.head() #범주형 데아터의 값 분포 확인하기 print(cust['sex'].value_counts()) #Normalization 값들.. 2023. 10. 29.
시각화 라이브러리 # 시각화 라이브러리 import matplotlib.pyplot as plt #pyplot 모듈 불러옴 import seaborn as sns # 차트 그리기 plt.plot(data['Temp']) ->1차원 값 plt.plot('Date', 'Temp', data = data) x축 : 인덱스 y축 : 1차원 값 color= 'red','green','blue' ... 혹은 'r', 'g', 'b', ... https://matplotlib.org/stable/gallery/color/named_colors.html linestyle= 'solid', 'dashed', 'dashdot', 'dotted' 혹은 '-' , '--' , '-.' , ':' marker= List of named colo.. 2023. 8. 20.
시계열 데이터 처리 날짜 타입으로 변환 pd.to_datetime(날짜데이터, format = '입력되는 날짜 형식') -> date = pd.Series(['03-01-2023', '03-02-2023', '03-03-2023']) date = pd.to_datetime(date, format = '%d-%m-%Y') #입력받은 날짜 데이터 형식이 '%d-%m-%Y'! shift : 시계열 데이터에서 시간의 흐름 전후로 정보를 이동시킬 때 사용 # 전날 매출액 열을 추가합시다. temp['Amt_lag'] = temp['Amt'].shift() #default = 1 # 전전날 매출액 열을 추가. temp['Amt_lag2'] = temp['Amt'].shift(2) # 2행 shift rolling.집계함수 -> 시간의.. 2023. 8. 19.
데이터 축소 - 특징 선택 : 가장 좋은 성능을 보여줄 수 있는 데이터의 부분 집합을 찾아내는 방법 -> 모델 생성에 밀접한 데이터의 부분 집합을 선택하여 연산 효율성 및 모델 성능을 확보 목적 및 필요성 -> 연산 효율성 : 원본 데이터에서 가장 유용한 특징만을 선택하여 간단한 모델 구성 및 성능을 확보하고자 하는 것이 주요 목적 특징 생성 방안 1.필터 : 특징들에 대한 통계적 점수를 부여하여 순위를 매기고 선택하는 방법론 : 실행속도가 빠르다는 측면에서 시간 및 비용 측면의 장점을 보임 1) 카이제곱 필터 - 범주형인 독립 및 종속 변수 간의 유의미성을 도출하기 위한 통계적 방안 - 연속형 변수를 이산화(범주)를 하여 활용 가능 2) 상관관계 필터 - 연속형인 독립 및 종속변수 간 유의미성을 도출하기 위한 통계적 방안 - 보.. 2023. 8. 2.
데이터 변환 - 특징 생성 원본 데이터의 조합/변환 등을 기반하여 새로운 특징들을 구축 및 생성하는 방법 -> 원본 데이터로 특징을 새롭게 생성하여 분석 과정 내 성능과 효율성을 확보하고자 함 목적 및 필요성 -품질 확보 -최적화된 형태 변환 특징 생성 방안 1. 범주 인코딩 : 크게 Nominal(순서가 없는)과 Ordinal(순서가 있는)형식으로 나뉘는 범주형 변수 : 숫자가 아닌 범주 변수 값을 숫자로 표현하고 모델링에 적용하기 위한 과정 -> 범주형 데이터의 알고리즘 적용을 위한 수치형 변환 One-hot Encoding -> 순서의 의미를 지니지 않은 범주형 변수를 처리하는 대표적 방법 2. 결합 및 분해 : 데이터 셋의 변수들의 조합을 기반으로 새로운 특징을 구축하는 방법 : 변수 간의 연산 혹은 분해를 통해 새로운 특.. 2023. 8. 2.
데이터 변환 - 정규화, 구간화 데이터변환 : 주어진 목적 기반의 올바른 결과 획득을 위하여 원시 데이터를 데이터 분석에 용이하도록 형태 변환 구간화 : 연속형 데이터를 구간으로 구별하여 범주화 형태 변환 -지정 길이 기반 구간 정의 : 사용자 기준으로 데이터 범위의 간격을 구분하여 관측치를 나누는 방안 -분포 기반 구간 정의 : 관측치가 각 구간 내 동일한 개수로 구분되도록 나누는 방안 정규화 : 데이터 탐색 및 기계학습 적용을 위한 연속형 변수 변환 -최대-최소 정규화 : 데이터 구간을 0에서 1사이로 변환 / 특정 데이터의 위치 파악 -Z-점수 정규화 : 0을 중심으로 양쪽으로 데이터 분포시킴 / 특정 데이터가 평균과 얼마나 떨어져 있는지 파악 2023. 8. 2.
데이터 정제 - 결측 / 이상 데이터 처리 결측치 : 데이터가 수집되지 않거나 누락되어 정보(값) 가 존재하지 않음을 의미 -> 결측치가 포함된 데이터는 모델학습이 불가능하므로 사전에 반드시 결측치 처리를 진행 결측치 처리 방안 -제거하기 -> 엄청난 데이터 손실 발생 -대체하기 -> 편향 발생 가능 제거시 정보의 손실이 발생할 수 있음 Listwise deletion : 결측치가 존재하는 행 삭제 > df.dropna() Pairwise deletion : 모든 변수가결측치로만 존재하는 행 삭제 >df.dropna(how='all') 정보의 손실을 방지하나 변수 특성(평균, 상관관계 등)에 영향 발생 일정 값 대체 : 결측치를 각 변수의 평균값으로 대체 > df['col1].replace(np.nan.df['col1'].mean()) 선형 값 .. 2023. 8. 1.
다변량 비시각화 / 시각화 탐색 : 두개 이상의 변수로 구성된 데이터의 관계를 교차표 및 상관계수 등으로 파악하는 데이터 탐색 유형 -> 주어진 변수 간의 관계를 수치 및 통계적 지표 기반으로 파악하는 것이 목적 다변량 비시각화 종류 높은 상관계수 : 비슷한 정보를 제공하는 밀접한 관계의 변수 >회귀 분석에서 독립 변수 간에 강한 상관관계 발생 -> 다중 공선성 발생 > 데이터 탐색 중 상관분석 결과를 통해 모델링 사전 단계 내 고려 필요 : 두 개 이상의 변수로 구성된 데이터의 관계를 시각화 기반으로 파악하는 데이터 탐색 유형 -> 주어진 변수 간의 패턴 및 관계를 다양한 그래프의 시각화를 통해 전체적으로 파악 다변량 시각화 종류 모자이크 플롯 > 범주 그룹 간 비중의 차이를 전체적으로 파악 가능 > 범주 수가 많고, 각 조합별 비중.. 2023. 7. 30.
일변량 비시각화 / 시각화 탐색 탐색적 데이터 분석 EDA ->통계적 요약, 분포 파악 및 시각화 등의 기법을 통해 직관적으로 데이터 특성 파악 속성 파악 ex) 가격 예측 분석 과제에서 가격 컬럼 유형 및 관측치 범위 확인 관계 파악 ex) 건물의 건축연도와 가격 사이 유의미한 영향 관계 유무 확인 사전 데이터 탐색 데이터 정의 확인 : 정의서 기반 데이터 확인 > 테이블별 변수 목록, 개수, 설명 타입 등 실 데이터 확인 : 실제 데이터 개요, 결측치, 형상 등 확인 >head, tail, info 기반 확인 변수별 정의된 범위 및 분포 등 확인 >관측치 범위/분포 등 요인별 EDA 유형 구분 1. 데이터 변수 개수가 몇 개 인가? 1개 -> 일변량 2개이상-> 다변량 2. 결과를 어떻게 파악할 것인가? > 비시각화, 시각화 3. .. 2023. 7. 30.