파이썬 분석 도구 및 주요 함수의 이해
상수와 변수
상수
: 값이 변하지 않는 숫자, 문자, 문자열 같은 고정된 값
데이터 분석에서 사용하지 않는다
변수
: 변화된 값으로 들어있는게 데이터분석 대상
매개변수 : 수치를 인수로 던지는 것
기본자료형
숫자형
: 숫자로 이루어진 자료형
정수, 실수, 8진수, 16진수 (색상 지정시 사용)
문자형
문자열 포맷팅 % : 문자열 안에 어떤 값을 삽입하는 방법
color = '파랑'
s = '나는 %s를 좋아합니다.' % color
# %s에 color값을 대입
자유도
- 식의 구성:
- yy: 종속 변수 (Dependent variable)
- β0: 상수항 (Intercept)
- β1: xx에 대한 기울기 (Slope of xx)
- β2: x^2에 대한 계수 (Coefficient of x^2)
- x: 독립 변수 (Independent variable)
- 회귀식과 계수 해석:
- β0, β1, 는 각각 회귀모형의 계수(coefficient)입니다.
- β1은 x에 대한 기울기를 나타내며, β2\beta_2는 x2x^2에 대한 기울기를 나타냅니다.
- 자유도 (Degrees of Freedom):
- 모집단 또는 샘플에서 자유롭게 변화할 수 있는 독립적인 데이터의 수를 의미
- 자유도는 n−k−1로 표현
- n: 샘플의 크기 (데이터 포인트의 수)
- : 회귀식에 포함된 독립 변수의 수 (여기서는 x와 x^2이므로 k=2)
- 회귀식의 특성:
- 주어진 회귀식은 이차 다항식으로, x의 제곱에 대한 영향을 포함
- β0가 없을 경우 회귀식은 축을 원점을 지나게 됨
- β0, β1, β2의 값에 따라 회귀식의 모양이 결정됨
복합 자료형
리스트 (List)
- 가변자료형
- 머신러닝에서 파라미터값들을 리스트 구조로 넣고 사용
( 머신러닝 모델에서 사용할 하이퍼파라미터들을 리스트에 담아 모델에 전달하고,
모델 학습 시 이들 값을 활용하여 모델을 설정하거나 조정할 수 있다.
또한, 모델의 학습이나 예측 결과를 리스트 형태로 반환할 때도 사용됨 )
튜플 (Tuple)
- 리턴되는 값 2개 이상일시 튜플로 반환
- 하이퍼파라미터를 보호할 때 사용 (하이퍼파라미터 : 사람이 지정한 파라미터, 수식 내 값이 변하지 X)
- 변경 불가능한(immutable) 시퀀스 형태의 자료형으로, 각 요소는 순서대로 저장되어 있음
딕셔너리 (Dictionary)
- 데이터프레임 구조를 쉽게 만든다
- .json → pd.DataFrame(딕셔너리구조로 바꿀 수 있음
- 그리드 서치 할 때 사용
( 그리드 서치(Grid Search) : 머신러닝 모델에서 하이퍼파라미터를 최적화하는 기법 중 하나 )
집합 (Set)
중복을 허용하지 않음, 순서 없음 -> 인덱싱으로 값 얻기 불가능
- & (intersection) : 교집합
- | (union) : 합집합 (or)
- - (difference) : 차집합
익명함수 (lambda 키워드)
함수 이름 지정 X
자동 리턴 기능 존재
데이터 수집 및 정제
- 메크로 데이터 : 한 번 가공된 데이터
- 마이크로 데이터 : 발생되는 원시 데이터
불균형 데이터
: 목표변수 y에 범주형 데이터만 발생
-> 특정 클래스(범주)가 다른 클래스에 비해 현저히 적게 발생하는 상황
- under sampling : 데이터 줄이는 거
- over sampling : 데이터 늘리는 거, 조심하게 다뤄야한
SMOTE(Synthetic Minority Over - sampling Technique)
: 오버샘플링 기법으로 불균형 데이터 문제를 해결하기 위해 사용
-> 적은 데이터 세트에 있는 개별 데이터들의 K 최근접 이웃을 찾아서
이 데이터와 K개의 이웃들의 차이를 일정값으로 만들어서
기존 데이터와 약간의 차이가 나는 새로운 데이터들을 생성
설치 : pip install imbalanced-learn
pandas 패키지
시리즈 : 1차원 배열구조
데이터프레임 : spreadsheet(m * n 행렬구조) 형식
데이터 읽어보기
-> sheet_name='Sheet1': 읽어올 시트의 이름을 'Sheet1' 로 지정
데이터 저장하기
-> euc-kr 인코딩을 사용하여 한글이 깨지지 않도록 함 (최신 버전에서 엑셀은 X)
-> index=False : 데이터프레임의 인덱스(행 번호)를 파일에 포함하지 않도록
데이터 내용 미리보기
-> 앞부분 미리보기 : 데이터프레임객체.head(n)
-> 뒷부분 미리보기 : 데이터프레임객체.tail(n)
요약정보 확인하기
- 데이터프레임 크기 확인 : 객체.shape()
- 데이터프레임 기본 정보 : 객체.info()
- 기술통계량 정보 요약 : 객체.describe() -> inclue = 'all'을 추가하면 문자열에 대한 unique, top, freq 정보 추가
-> dtypes : 각 열의 데이터 타입을 확인
- mpg 열의 데이터 타입은 float64
- cyl 열의 데이터 타입은 int64
- disp 열의 데이터 타입은 float64
-> df.mpg.dtypes : df 데이터프레임의 mpg 열의 데이터 타입을 보여줌
데이터 선택
slice : 이름 또는 인덱스를 이용한 선택
loc : 이름을 이용한 선택
iloc : 위치를 이용한 선택
데이터 선택 연습
slice를 이용한 선택
loc를 이용한 선택
iloc를 이용 선택
query를 이용한 선택
query를 이용한 선택 - 복수 조건
filter로 데이터 선택 연습
- axis = 0 : 행단위로 처리
- axis = 1 : 컬럼 단위로 처리
데이터 결합
연결(concantenate) / 추가(append)
- 기존 열을 사용하지 않고 단순히 데이터를 연결 (concantenate) -> 데이터 자료 수 증가
- 기본적으로는 위/아래로 데이터 행 추가, 단순히 두개의 Series 또는 DataFrame 형테를 연결하여 index값 중복 발생
- A와 B를 붙일 때 -> concat(A, B, axis = 0)
- A에 B를 붙일 때 -> A.append(B)
데이터 결합 연습
concat을 이용
'파이썬 & 머신러닝과 딥러닝' 카테고리의 다른 글
통계의 이해(기술통계, 확률분포, 중심극한정리, 추론통계, 구간추정, 가설검정, 정규성검정, 평균검정) (0) | 2024.07.16 |
---|---|
데이터 수집 및 정제 (데이터 결합, 데이터 변환, 데이터 정제), 시각화 (0) | 2024.07.15 |
데이터베이스 윈도우 함수, 데이터 모델링 개요 및 정규화, Selenium 크롤링 (0) | 2024.07.11 |
데이터베이스 DDL, 뷰, 인덱스 (0) | 2024.07.10 |
데이터베이스 CTE, 상관 서브쿼리, 다중 컬럼 서브쿼리, DML (0) | 2024.07.09 |