파이썬기초 8

[Python Data Analysis]선형 회귀분석을 통해 'BMI지수'에 영향을 주는 요소 알아보기

1) 필요 패키지 불러오기 - pandas, train_test_split(데이터 분할) 2) 데이터 불러오고 결측값 제거 - dropna()는 전체 데이터에 적용하기 (X, Y 따로따로 했다가 행 수가 안맞아서 error가 계속 났다..) - isnull.sum(): 결측값 제거 확인하기 3) 데이터 분할, 통계기반 변수선택 4) Y에 로그 적용 5) 데이터 분할, 데이터 표준화 - 변수선택에서 연속형 데이터를 가진 변수만 도출되었기 때문에, StandardScaler()적용 6) 선형 회귀분석 - LinearRegression() - R2 = 0.843 (모델이 평균의 84%정도의 정확도로 설명하고 있다. ) - RMSE= 0.014 (실제값과 예측된 y의 오차가 0.014이다. ) 7) 실제값과 예..

[Python Data Analysis]주성분 분석(Principal Component Analysis), 요인 분석(Factor Analysis)_PCA 코딩

*주성분 분석(Principal Component Analysis) - 아래에서부터 위로의 분석; ‘데이터’에서 시작 - 변수의 수를 줄이는 차원 축소 기법 중 하나 - 다수의 변수를 어떻게 모아서 y에게 주는 영향을 더 잘 추정할 수 있을까? 에 대한 고민 - 고차원 데이터를 압축 : 변수 서로서로의 상관성이 큼 -> 묶을 수 있는 변수들을 찾아서 뭉터기로 반영(x1,x2,x3 => I1하나의 뭉터기) - 데이터로부터 x들을 뽑아서 I들로 묶은 뭉터기로 종속변수 추정 - Eigen value, Factor Loading -목적: 회귀분석시 독립변수 간에 (상관성이 높기 때문에) 다중공산성이 존재하는 문제 해결 - 주성분 분석 전 표준화 : 데이터 스케일링을 하지 않으면 스케일에 따라 주성분의 설명 가능..

[Python Data Analysis]상관관계 분석(Correlation Analysis)

* 상관관계 분석 - 근본: 공분산, np.cov(x,y) - 상관계수 종류 1) 피어슨 상관계수: 연속형 자료에 사용 2) 스피어만 상관계수: 순위가 변수별로 연관이 있는가 3) Kendall의 tau: 스피어만과 비슷하지만 표본이 작을 때 사용 - 편상관관계 분석: 제 3의 변수를 통제한 상태에서 두 변수의 상관관계를 분석하는 것 - 정준상관관계 분석: 2개 이상의 종속변수와 2개 이상의 독립변수 간의 관계를 살펴보는 기법 - 히트맵: 변수간 상관계수를 히트맵으로 한눈에 확인 가능 - 산점도 그래프: 두 변수간의 분포를 통해 상관관계성 혹은 선형성을 확인할 수 있다. 1. 필요한 패키지, 함수 불러오기 2. 데이터 불러오기 3. 피어슨 상관계수 - .corr(method = "pearson") - 상..

[Python Data Analysis]가설검정, 독립성/등분산성 검정, 정규화, T-test, ANOVA

* 가설검정 - 가설? 내가 주장하고 싶은 바 - 귀무가설(H0): 전과 후가 똑같은 상태(=차이가 없다), Xa = Xb 통계적으로 검정하는 가설 -대립가설(H1): 차이가 있다, Xa ≠ Xb 내가 연구하고자 하는 목적 -유의확률(p-value): 어느정도를 보면 유의한가, 평균에서 완전히 벗어나 있는 끝쪽 면적 P-value가 작다(0.05): 귀무가설 채택, 대립가설 기각 *독립성 검정 - 데이터셋이 독립성을 따르는지 검정하는 방법 - 결과 순서대로 (검정통계량, p-value, 자유도, 기대도수) - 귀무가설(H0): 두 변수 X와 Y는 독립적이다. (관련성이 없다) - 대립가설(H1): 두 변수 X와 Y는 독립적이지 않다. ..

[Python Data Analysis]데이터 분할&합치기, 산점도(Scatter), 조건에 따른 평균/분산/표준편차, 왜도&첨도

1. 데이터 불러오기_encoding - encoding: 파일 안의 한글 column을 해석하는 방식 - "cp949", "utf-08"을 주로 사용 2. 데이터 분할 - "고객 ID"가 500이하인 행, 500이상인 행으로 데이터 분할해보기 - .head(n) : n개의 갯수만큼 데이터를 보여줌, 숫자를 안넣으면 '처음 5개' 보여줌 3. 데이터 합치기_.append(), .merge() - .append(): 데이터와 데이터 결합하기 - .merge(): 데이터프레임과 데이터프레임을 합치기 4. 산점도(Scatter) -두 변수간의 관계를 시각화한 그래프 - 두 변수의 상관관계, 데이터 분포를 파악하는데 유용 - %matplotlib incline - .plot.scatter(x="", y"", t..

[Python Data Analysis]반복문 코드리뷰(while, for)

1. 목숨5개에서 0개가 되면 게임 종료 2. 리스트에 이름 추가하기 - input(): 사용자가 값을 직접 입력 - .append(): 리스트에 값을 추가 3. 'quit'입력 시 까지 while문 돌리기 - names 리스트, new_name 변수 만들기 - while new_name != 'quit': -> new_name변수가 'quit'이 아닐시에, while문 반복실행 - new_name = input() -> new_name변수에 사용자가 입력한 값이 들어감 - names.append(new_name) -> names리스트에 new_name추가 4. while문 안의 if-elif문 - while choice != 'q': -> 'q'가 입력될때 까지, while문 실행 ('q'이외의 값이 ..

[Python Data Analysis]파이썬 기초문법(2)_조건문(if), 반복문(while, for), def만들기

1. 조건문(If문) -조건문: True, False값이 나오는 식 - false = 0, true = 1 - true AND false = false(0) - true OR false = true(1) - not 1: true가 아니다 = False - not 0: False가 아니다 = True - in: 안에 해당 값이 있으면 True, 없으면 False - not in: 안에 해당 값이 없으면 True, 있으면 False - If문 형식 If 조건문: 명령 else: 명령 *들여쓰기: tap키 2번 *모든 줄의 들여쓰기가 맞아야함 - 하위 if문 만들기 - if, elif문 형식 if 조건문: 명령 elif 조건문: 명령 else: 명령 - try, except, else: 에러 확인해보기 2. ..

[Python Data Analysis] 파이썬 기초문법(1)_변수, 타입, 인덱스, 리스트, 튜플, 딕셔너리, 세트

1. 변수a 생성, 삭제(del) 2. 변수의 사칙연산 3. 변수의 타입(Type) - int: 정수 - float: 상수 - str: 문자열 4. 제곱, 루트, 몫, 나머지 - 제곱: 3**20 = 3486784401 (3의 20승) - 루트: 3**0.5 = 1.73205.. (루트3) - 몫: 13//4 = 3 (13÷4의 몫) - 나머지: 13%4 = 1 (13÷4의 나머지) 5. 문자열 특징 - 문자열을 " "로 묶었을 때에는 안에 ' 를 써도 출력되지만, ' '로 묶었을 때에 '를 출력하려면 앞에 \ 를 붙여 에러를 막음. - \n : enter키 삽입 - 문자열 합치기: 문자열 + 문자열 - 문자열 n회 반복: 문자열 * n 6. 문자열의 인덱스 & 범위 & 관련함수 - S / o / h /..

728x90
반응형