본문 바로가기

분류 전체보기

(17)
5. PCA PCA (Principal Component Analysis)데이터의 주요 특성을 유지하면서 차원을 줄여 계산 효율성을 높임from sklearn.decomposition import PCApca = PCA(n) # n개의 주성분만 뽑고싶다pca.fit(data)pca.transform(data)pca.fit_transform(data) explained_variance_ratio_ : 주로 주성분 분석(Principal Component Analysis, PCA)과 같은 차원 축소 기법에서 사용되는 속성. 이 속성은 각 주성분이 원본 데이터의 분산(variance)을 얼마나 설명하는지에 대한 비율을 나타냄(pca.explained_variance_ratio_).sum()  장점데이터를 시각화 할때 유..
4. sklearn : scaling(standard, robust, minmax) scale 이란?데이터 단위의 크기(범위)scaling 이란?각 변수의 범위를 조절하는 과정.거리기반 모델을 쓸때는 반드시 스케일링 써서 각각 변수의 특성에 따라 동일한 스케일을 지닐수 있게 맞춰주는것이 중요 합니다.from sklearn.preprocessing import StandardScaler, RobustScaler, MinMaxScalerss = StandardScaler()rs = RobustScaler()mm = MinMaxScaler() standard scaling (x - 평균 / 분산)평균 0, 분산 1인 형태로 데이터를 재배열**결과를 보면 one-hot encoding 되어있는 부분도 0,1이 아닌 다른 값으로 변경되어있음정규분포를 따르고 outlier가 없을 때 사용하기(li..
3. matplotlib으로 그래프 그리기 많이 쓰이는 라이브러리matplotlib : 가장 기본이 되는 시각화 라이브러리, 다양하게 생성할 수 있으나 복잡함공식문서, 위키독스seaborn : 좀 더 발전되서 통계적 그래프에 중점을 둔 고급 시각화 라이브러리, 더 간단함설치pip list | grep matplotlib pip list | grep seaborn matplotlib 데이터정의import matplotlib.pyplot as plt%matplotlib inline %matplotlib inline : Rich output(그래프와 같은 그림, 소리, 애니매이션과 같은 결과물)에 대한 IPython의 매직메서드, Jupyter Notebook에서도 이 명령어를 입력하면 그래프가 바로 출력됨축 그리기(figure , add_subplo..
2-6. pandas : outlier outlier(아웃라이어) 이란?데이터 분석에서 다른 데이터 포인트들과 크게 다르거나 이질적인 값.아웃라이어는 통계 분석, 데이터 분석, 머신 러닝 모델링 등에 있어서데이터의 패턴을 왜곡시키거나 잘못된 결론을 내리게 할 수 있기 때문에 중요한 역할을 함 왜 생기는걸까? 데이터 입력 오류: 데이터 입력 중의 실수나 잘못된 기록으로 인해 발생실험적 오류: 실험 과정에서의 오류나 장비의 결함으로 인해 발생자연적인 변동성: 데이터 자체의 본질적인 변동성 때문에 발생분포 특성: 특정 분포의 특성으로 인해 극단적인 값이 존재  그럼 어떻게 알아? 시각적 방법:박스 플롯(Box Plot): 박스 플롯에서 상자 밖에 위치하는 점들은 아웃라이어로 간주산점도(Scatter Plot): 2차원 산점도에서 다른 점들과 멀리 ..
2-6. pandas : 결측치 결측치(NULL, NaN, NA; 비어있는값) (isna, dropna, fillna)count() #결측치 제외한 수를 반환# isna = isnull : 결측치 여부 확인data.isna() # 결측치=True(1) 출력됨data.isna().sum() # 칼럼별로 결측치 갯수 측정data.isna().mean() # 칼럼별로 결측치 비율 측정(얘를 좀 더 많이 씀)data[data['칼럼'].isna()] # 해당 칼럼에서 결측치 있는 항목(정보전체) 출력됨data[data['칼럼'].isna()].index # 해당 칼럼에서 결측치 있는 항목의 인덱스 출력됨※ 결측치는 결국 노이즈라 해당 항목은 삭제하고 진행하는게 좋음 # dropna : 결측치..
2-5. pandas : dt 메소드와 python datetime 모듈 datetime 모듈from datetime import datetimehttps://docs.python.org/ko/3.8/library/datetime.html datetime — 기본 날짜와 시간 형 — Python 3.8.19 문서datetime — 기본 날짜와 시간 형 소스 코드: Lib/datetime.py datetime 모듈은 날짜와 시간을 조작하는 클래스를 제공합니다. 날짜와 시간 산술이 지원되지만, 구현의 초점은 출력 포매팅과 조작을 위한docs.python.orgformat code코드뜻예시%Y연도-숫자 4자리0001, 0002, …, 2023, 2024, …, 9998, 9999%y연도-숫자 끝 2자리00, 01, …, 99%B월-영어이름January, February, …, De..
2-4. pandas : 문자열 처리 문자열 처리 : str 메소드str 메소드는 pandas 시리즈의 문자열 데이터를 조작하는 데 사용됩니다.주로 문자열의 부분 추출, 변환, 검색, 대체 등의 작업을 수행합니다.주요 기능부분 문자열 추출: str.slice, str[:n], str[-n:]문자열 변환: str.upper(), str.lower(), str.capitalize()문자열 검색: str.contains(), str.startswith(), str.endswith()문자열 대체: str.replace()공백 제거: str.strip(), str.lstrip(), str.rstrip()# str처리data['칼럼'][-5:] # 이렇게 하면 행 기준 제일 뒷 값 5개 출력됨data['칼럼'].str[-5:] # str 처..
2-3. pandas로 데이터 분석,변환하기 : 값 삭제, 값 불러오기, 변화하기, aggregation data 값 삭제하기(drop, del)# 특정 값을 가진 행을 삭제하려면data = data[data['칼럼'] != 30] # 칼럼의 값이 '30'인 행 삭제하기# drop# 특정 행 삭제index_to_drop = df[df['B'] == 30].indexdf.drop(index_to_drop, inplace=True)# 칼럼 제거data.drop('칼럼이름', axis=1, inplace)data.drop(columns=['칼럼'], inplace=True)# name : 라벨 이름(열) , 숫자(행) -> 여러개의 칼럼을 입력하려면 리스트로 묶# axis ( 0 : 디폴트 값, 행 부분 / 1 : 라벨(제목)부분)# inplace ( False : 디폴트값, 출력했을때 한번만 보임 / Tru..