Python 30

[머신러닝] 분류모델 평가지표

예측 양성 음성 실제 양성 TP FN 음성 FP TN * TP : True Positive(예측 Positive, 실제 값도 Positive) * TN : True Negative(예측 Negative, 실제 값도 Negative) * FP : False Positive(예측 Positive, 실제 값은 Negative) * FN : False Negative(예측 Negative, 실제 값은 Positive) * 정확도(Accuracy) - 예측 결과와 실제 값이 동일한 건수/전체 데이터 수 - 분류 모델을 평가하기에 가장 단순한 지표이나, 불균형한 클래스를 가진 데이터셋을 평가하기 어렵다는 단점 있음 - 0 ~ 1 사이의 값을 가짐. 1에 가까울수록 좋다. - 정확도 = (TN + TP) / (TN ..

Python 2024.02.20

Feature Enginering

데이터 가공 및 변환 : 모든 데이터를 숫자로 변경하는 것이 중요 - 데이터 가공 정의 : Raw 데이터를 적절하게 변환 - 데이터 전처리 정의 : Raw 데이터를 적절하게 처리 -> 둘의 차이가 무엇인가? 헷갈림 Feature Enginerring 용어를 사용함. 데이터 전처리 1차적으로 데이터 가공을 함. : 쓰지 않을 컬럼 삭제/행 추출(예: 조건문 부여, 이상치 제거)/파생 변수 Feature Engineering : 인코딩 변환(문자 컬럼을 숫자로 변경) Feature Scaling : 숫자 컬럼을 적절하게 표준화, 정규화) 주성분 분석(PCA)(숫자 컬럼을 적절하게 줄여주는 역할, 차원축소) 요인분석(Factor Analysis)(숫자 및 문자 컬럼을 적절하게 줄여주는 역할)

Python 2024.02.19

하이퍼 파라미터 - Grid Search, Random Search

* 하이퍼 파라미터 : 머신러닝 알고리즘을 구성하는 주요 구성 요소. 모델의 학습 과정이나 구조를 제어하는 매개변수로, 이 값을 조정해 알고리즘의 예측 성능을 개선할 수 있다. -> 학습 알고리즘들은 각각 다른 하이퍼 파라미터를 가지게 되는데, 모델은 주어진 하이퍼 파라미터를 가지고 데이터를 학습하게 된다.(ex. 의사 결정 트리의 최대 깊이, 랜덤 포레스트의 트리 개수 등) * Grid Search : 가능한 모든 하이퍼파라미터 조합을 시도하여 최적의 조합을 찾는 방법. 촘촘하게 파라미터를 입력하면서 테스트를 하는 방식 > 주어진 각 하이퍼파라미터에 대해 미리 정의된 값의 그리드(격자)를 만들고, 이 그리드의 모든 조합을 탐색함 > 각 조합에 대해 교차 검증을 사용하여 모델을 평가하고, 최적의 하이퍼파..

Python 2024.02.19

PyCaret Windows 10 아나콘다 설치

PyCaret 설치 1. Anaconda Prompt를 관리자로 실행한다. 2. 아래 명령어로 conda 환경이 잘 작동되는지 확인한다. conda --version >> 이렇게 버전이 뜨면 된다. 3. conda 가상환경을 만든다. conda create --name ml_pycaret python=3.10 >> 여기서 ml_pycaret은 폴더명임 4. conda 가상환경에 접속한다. conda activate ml_pycaret 5. 아래 명령어를 통해 pycaret을 설치한다. pip install pycaret 설치가 잘 되면 끝 Jupyter lab 실행 1. 폴더 경로로 접속한다. cd "C:\Users\jeong\Desktop\ml_pycaret" >> 형식 : cd "폴더 경로" 2. 아..

Python 2024.02.14

환경 변수 설정으로 API 키 숨기기

환경변수 이용한 API 크롤링을 할 때, 깃허브 등 온라인에 코드 업로드 시 API 인증키에 대한 보안을 유지하기 위해 환경 변수를 설정해야 한다. (이 외에 DB username, password 등 민감한 정보를 사용할 때 설정함) *** 그 전에 .env와 .streamlit을 이용해야 하므로 .gitignore에 해당 폴더 등을 사전에 미리 정의해서 업로드 한 후 진행한다.(깃허브에 커밋되지 않게 하는 것) >> 위와 같이 입력해준다.(없는 것만 작성하면 됨) git add .gitignore >> 이후 git commit & push하면 된다. 1. python-dotenv 이용 >> 프로젝트 폴더 내에 .env 파일을 생성한다. pip install python-dotenv >> python-..

Python 2024.02.01

캐글 튜토리얼 연습

캐글의 Bank Customer Churn Prediction 데이터셋을 통해 탐색적 데이터 분석을 진행해보았다. [ 주제 : 신용평가에 영향을 미치는 주요 요인 분석 ] 분석방법 : 독립표본 t-검정 - 가설 설정 가설1 : 신용도가 낮은 그룹과 높은 그룹의 급여에 차이가 있는가? 가설2 : 신용도가 낮은 그룹과 높은 그룹의 나이에 차이가 있는가? 가설3 : 신용도가 낮은 그룹과 높은 그룹의 잔고에 차이가 있는가? 귀무가설 : 신용도가 낮은 그룹과 높은 그룹의 급여/나이/잔고 평균에 차이가 없다. 대립가설 : 신용도가 낮은 그룹과 높은 그룹의 급여/나이/잔고 평균에 차이가 있다. - 데이터 불러오기 import pandas as pd import seaborn as sns import matplotli..

Python 2024.01.16

통계검정별 사용함수 정리(+예시)

- 정규성 검정 * 예시 어느 회사의 직원들의 월급 데이터가 있다. 이 데이터가 정규 분포를 따르는지 확인하고 싶다. 주어진 월급 데이터를 사용하여 정규성 검정을 수행하고 결과를 해석한다. salaries = [3500, 4000, 4000, 4500, 5000, 5000, 5500, 6000, 6500, 7000] # 월급 from scipy import stats t_statistic, p_value = stats.shapiro(salaries) t_statistic, p_value if p_value >= 0.05: print("귀무가설 : 데이터는 정규성을 만족합니다") else: print("대립가설 : 데이터는 정규성을 만족하지 않습니다") # out: 귀무가설 : 데이터는 정규성을 만족합니다..

Python 2024.01.12

가설검정 (2표본 문제에 관한 가설검정)

- 2표본 문제 : 두 모집단에 관한 검정 - 2표본 대푯값의 차이에 대한 검정 정규분포를 가정할 수 있음 정규분포를 가정할 수 없음 대응표본 대응비교 t 검정 윌콕슨의 부호순위검정 독립표본 독립비교 t 검정 만·위트니의 U 검정 >> 대응표본 : 데이터에 대응이 있다. / 두 데이터에서 서로 대응하는 동일한 개체에 대해 각각 다른 조건으로 측정한 것 >> 독립표본 : 데이터에 대응이 없다. / 두 데이터에서 개체가 다른 데이터로 되어 있는 독립표본 1) 대응비교 t 검정 대응하는 데이터가 있고, 데이터 차이에 정규분포를 가정할 수 있는 경우의 평균값 차이에 대한 검정 - 예시 * A 학생은 친구 20명에게 1주일간 근력 운동을 하게 함(intervention, 개입) * 운동 전후에 집중력을 측정하는 ..

Python 2024.01.11

가설검정 (t-검정/가설검정 오류/양측검정과 단측검정)

- 개념 * 통계적 가설검정 : 모집단의 모수에 관하여 두 가지 가설을 세우고 표본으로부터 계산되는 통계량을 이용하여 어느 가설이 옳은지 판단하는 통계적인 방법 * T 검정 : 모수 검정 방법 중 하나로, 단일 집단의 검정 및 집단 간 비교 분석을 목적으로 한다. * 가설 : 모집단의 특성, 특히 모수에 대한 가정 혹은 잠정적인 결론 귀무가설(Null Hypothesis) 기존과 비교하여 차이, 효과가 없음을 나타내는 가설 대립가설(Alternative Hypothesis) 주장하는 가설. 차이, 효과가 있음을 입증하고자 하는 가설 >> 결론 : 귀무가설을 기각한다 or 귀무가설을 기각하지 못한다(= 귀무가설 채택) >> T-검정에서의 가설 설정 귀무가설(H0) 모평균과 표본평균은 같다 대립가설(H1) ..

Python 2024.01.11