본문 바로가기

Data/Python

(9)
[Data/Python] 로지스틱 회귀분석 y값을 확률로 봄. y값이 0.5보다 크거나 같으면 A, 작으면 B. 분류문제 statsmodels - Logit() 로지스틱 회귀분석을 실시하는 statsmodels의 함수 endog, exog 인자에 각각 종속변수, 독립변수 할당 산출 모델 객체의 params어트리뷰트에 모델의 계수 저장 산출 모델 객체의 predict()메서드로 예측값을 생산. 이는 종속변수가 1이 될 확률값 sklearn - LogisticRegression() 로지스틱 회귀분석 실시 fit_intercept, solver 인자로 절편 적합 여부 및 최적화 알고리즘 설정 가능 random_state 인자에 자연수를 할당하여 결과 고정 가능 fit() 메서드에 독립변수 및 종속변수 할당 산출 모델 객체의 coef_어트리뷰트에 모델의..
[Data/Python] 회귀분석 [이론] 회귀분석 상관분석을 통해 두 변수 간에 의미있는 선형성이 있음을 알았지만 인과관계를 설명하는건 아니었음->회귀분석으로 인과관계 확인 마케팅 비용 늘리면 매출 늘어나는가?얼마나 늘어나? 회귀분석은 관찰된 연속형 변수들에 대해 변수들 사이의 모형을 구한 뒤, 적합도를 측정해내는 분석 방법 예측함수의 형태에 따라 선형회귀/비선형회귀 독립변수의 개수에 따라 단순회귀/다중회귀 종속변수의 개수에 따라 단변량회귀/다변량회귀 선형 회귀분석의 목적 설명 : 종속변수에 대한 설명변수(독립변수)의 영향을 측정, 설명함 예측 : 설명변수(독립변수)정보가 있을 때 이에 따른 종속 변수를 예측함 단순 선형 회귀분석 회귀분석의 가설 1) 회귀식이 존재하는지? -> f검정을 통해 회귀식의 존재여부 판정 * 선형 회귀분석의 ..
[Data/Python] 비계층적 군집분석 [이론] 비계층적 군집분석(Non-hierarchical Clustering) 주어진 데이터를 k개의 군집으로 나눔. 원하는 군집의 수, k를 사전에 지정. k값이 이러지 않겠어~? k=3을 넣으면 군집이 무조 3개가 형성됨. K-means Clustering k-means 알고리즘 군집의 중심이 되는 k개의 seed 점들을 선택하여 그 seed 점과 거리가 가까운 개체들을 그룹화하는 방법 계산량 많음 + 왜곡(Distortion). 거리제곱의 총합. 거리 제곱의 총합이 작을 수록 똘똘 뭉쳐있음 Distortion값이 작을수록 좋음. 왜곡값이 움직였는데 이전보다 커지면, 커지기 직전상태를 최종 왜곡값으로 두고 멈춤 k값을 얼마를 줄 때 성능이 가장 좋을까? -> 실험을 여러번 해서. k값을 증가시켜서 k..
[Data/Python] 상관분석 [이론] 회귀분석 전에 상관분석으로 선형성이 있는지 확인해야함. 선형성이 없는걸로 선형 회귀분석을 하면 안됨. 상관분석 연속형 두 변수간의 직선적(선형)관계 정도를 검정하는 통계 분석 방법 상관관계는 인과관계를 의미하지 않음. A와 B 간에 높은 상관관계가 산출되었을 때 우연일 수도 있다. 두 변수가 비선형관계이거나 우연히 상관관계가 높을 수 있어서 상관계수 절댓값이 1에 가까워도 상관관계가 높지 않을 수 있고, 0에 가까워도 상관관계가 없는건 아닐 수 있음 시계열 자료처럼 독립적이지 않은 자료에 대해 상관계수 사용x 상관계수는 원인-결과로 해석x 산점도 두 개의 숫자형 데이터를 직교좌표계에 표시하여 두 변수 간의 관계를 나타내는 방법 - 산점도를 통해 확인할 사항 두 변수 간에 선형관계 존재하는지 두 ..
[Data/Python] 이론 정리 [자료의 이해1_기본 용어] 모집단 : 관심 대상의 전체 집합 모수 : 모집단을 분석해서 얻은 결과 (ex 평균, 분산 등) 하지만 실제로는 모집단 전체를 조사하기 힘듦 -> 표본 추출 표본 : 모집단 중 일부 통계량 : 표본을 분석해서 얻은 결과값 통계량을 통해 모수를 추정하자!! 변수형 종류 범주형(빈도 분석) 명목형 단순히 범주(성별, 혈액형) 순서형 범주의 순서 상대적으로 비교 가능(비만도, 학점) 수치형(분포 분석) 이산형 셀 수 있음. 유한한 범위(멤버의 수, 교통사고 건수) 연속형 등간형 독립 변수 X 수치형 범주형 종 속 변 수 Y 수 치 형 상관분석 회귀분석 t-test 범 주 형 로지스틱 회귀분석 카이제곱 검정 [자료의 이해2_시각화] 범주형 데이터 - 질적 자료 수치형 데이터 - 양적..
[Data/Python]실습_데이터 전처리: 결측치 이상치 이상치 중심 경향성에서 멀리 떨어진 값 처리 방법 이상치 처리에 절대적인 기준 x Carling, Tukey 방법 등 분포 기반으로 처리도 가능 결측치 값이 기록되지 않고 비어 있음 처리 방법 결측치 처리에 절대적인 기준 x 단순 제거, 특정 값으로 대체하는 방식 등 분석 데이터에서 결측치가 차지하는 비중이 낮은 경우 보통 단순 제거함 붓꽃 결측 데이터 - iris_missing.csv 주요 함수 및 메서드 pandas - isna(), isnull() 결측치 원소를 True, 관측치를 False로 반환 반대 기능 메서드 notna(), notnull() pandas - fillna() 결측치 채우기 위한 메서드 value 인자에 결측치를 채워 넣을 값을 입력하며 딕셔너리 사용 가능 'bfill'은 뒤의..
[Data/Python]실습_표본 추출 단순 임의 추출로 하면 데이터를 학습시킬 때 한쪽으로만 치우쳐 학습될 수 있음. 따라서 데이터를 균등하게 학습시키기 위해 층화 표본 추출 사용 층화 표본 추출 군집별로 지정한 비율 만큼의 데이터를 임의 추출 의료 통계에서 코호트 분석할 때 사용 계통 추출 첫 표본은 무작위 추출. 표집 간격 k만큼 떨어진 곳 데이터 추출 특정 데이터가 주기성을 가지면, 데이터를 추출할 때 편향된 표본을 뽑을 수 있어 자주 사용x 군집 추출 소수의 군집으로 분할. 일정 수의 소집단을 임의 표본 추출 Pandas 메서드 pandas - sample() 단순임의 추출 수행 n은 표본 개수, frac은 비율, random_state는 표본 추출 결과를 고정 groupby() 추가하면 층화 표본추출 가능 sklearn(사이킷런) ..
[Data/Python]실습_EDA: 수치형, 범주형 기술통계 NumPy 배열 : NumPy의 객체인 배열(array)을 생성하기 위해서는 기본적으로 "array"함수 사용 집합은 중복을 허용하지 않음. 집합으로 설정하면 중복제거된 나머지만 남음 nums=np.array([1,2,2,3]) set(nums) # {1,2,3}. 집합으로 설정->중복제거 np.unique(nums) # array([1,2,3]). 중복 제거하고 고유한 것만 남겨라 np.arange(3, 8, 2) #array([5,10,15]). 3부터 7까지 2씩 증가하는 수열 생성 np.where(nums==2,1,0) #array(['no!', 'ok!', 'ok!', 'no!'], dtype='