전체 글

전체 글

    [Pandas] Apply, Map Practice

    이 예제는 https://www.datamanim.com/dataset/99_pandas/pandasMain.html#apply-map 를 풀이한 예제입니다. Import library import pandas as pd Load Data df = pd.read_csv('https://raw.githubusercontent.com/Datamanim/pandas/main/BankChurnersUp.csv',index_col=0) df.info() Int64Index: 10127 entries, 0 to 10126 Data columns (total 18 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 CLIENTNUM 10..

    의사결정 나무 (Decision Tree) 예측, 분류 정리

    의사결정나무(Decision Tree)는 데이터에 내재되어 있는 패턴을 변수의 조합으로 나타내는 예측 / 분류 모델을 나무의 형태로 만든 것이다. 과거에 수집된 자료를 분석하여 이들 사이에 존재하는 패턴을 나타내는 모델을 나타낸다. 질문을 던져서 맞고 틀리는 것에 따라 우리가 생각하고 있는 대상을 좁혀나가게 된다. 예전에 '스무고개' 게임과 비슷한 개념이다. 사람이 스무번의 질문을 던지면서 하나의 정답을 맞춰나가는 과정이 이와 매우 유사하다. 데이터가 입력되었을 때 알고리즘에 의해 데이터를 2개 혹은 그 이상의 부분집합으로 분할하게 된다. 분류-의사결정나무의 분할는 비슷한 범주를 갖고 있는 관측치끼리 모으는 것이고 예측-의사결정나무의 분할은 비슷한 수치를 갖고 있는 관측치끼리의 모음이다. 이러한 과정을 ..

    정규화 모델 (Regularization Model)의 기본 원리

    좋은 모델이란? 현재 데이터(training data)를 잘 설명하는 모델이자 미래 데이터(testing data)에 대한 예측 성능이 좋은 모델 Explanatory modeling + Predictive modeling 현재 데이터를 잘 설명하는 모델이란 학습 에러를 최소화 하는 모델이다. 즉 트레이닝 에러를 최소화 하는 모델을 만들어야 한다. $Expected MSE = E[(Y-\hat{Y})]$$ $ = \sigma + (E[\hat{Y}]- \hat{Y})^2 + E[\hat{Y} - E[\hat{Y}]]^2$ $ = \sigma^2 + Bias^2(\hat{Y}) + Var(\hat{Y})$ $ = Irreducible Error + Bias^2 +Variance$ Expected MSE를 ..

    [MLflow] #3. MLflow Model 정리하기

    MLflow 플랫폼은 크게 MLflow Tracking, MLflow Projects, MLflow Model, MLflow Model Registry의 컴포넌트로 구성된다. 이 글에서는 그 중 MLflow Models 기능에 대해서 정리한다. MLflow Models 의 기본적인 기능은 아래와 같다. MLflow Model 머신러닝 모델을 패키징하고 서빙할 수 있는 표준화 방법 제공 동일한 모델을 AWS, Apache Spark 등 으로 쉽게 배치할 수 있도록 지원 다양한 다운스트림 도구(예: REST API를 통한 실시간 제공 또는 Apache Spark의 추론)에서 사용할 수 있는 기계 학습 모델을 패키징하기 위한 표준 형식 이 형식은 모델을 다른 하위 도구에서 이해할 수 있는 다양한 "flavor..

    [MLflow] #2. Tracking 기능 사용해보기

    MLflow 플랫폼은 크게 MLflow Tracking, MLflow Projects, MLflow Models, MLflow Model Registry의 컴포넌트로 구성된다. 이 글에서는 그 중 MLflow Tracking 기능에 대해서 정리한다. MLflow Tracking의 기본적인 기능은 아래와 같다. 기계 학습 코드를 실행할 때 파라미터, 코드 버전, 메트릭 및 결과 파일을 기록 나중에 결과를 시각화하기 위한 API 및 UI를 제공한다 MLflow Tracking의 컨셉 MLflow Tracking은 `runs(실행)` 의 개념을 사용한다. 각 실행은 아래와 같은 정보를 기록한다. Code Version 실행에 사용된 Git commit hash 값. (MLflow Project에 의해 실행 시..

    [MLflow] #1. MLflow 개요 정리

    최근 시스템 프로그래머 직무에서 AI / 데이터 분석 쪽으로 직무를 변경하면서 새로운 지식들을 쌓아가고 있다. 그 중 팀 내에 MLflow를 적용하려는 움직임이 있어서 공부 겸 MLflow 정리를 진행한다. 시작하기 전에 머신러닝 프로젝트를 진행하다보면 많은 어려움이 많다. 머신러닝 프로젝트는 관리가 필요한 요소가 너무나 많다. 학습에 사용된 데이터 모델에 사용된 파라미터 모델에 사용된 Feature 실험 결과 저장 장소 및 히스토리 학습된 모델의 버전 관리 학습에 사용된 코드 버전 위 요소 외에도 관리해야 할 요소들이 매우 많다. 이러한 요소들을 로컬환경에서 개인별로 관리하는 것이 아닌 중앙 서버에서 관리해준다면 매우 편리할 것이다. 그리고 모델을 배포하는 것에도 난이도가 있다. 머신러닝 개발자마다 k..

    Ubuntu 20.04에 python 3.10 설치하기

    Python 3.10은 Ubuntu의 기본 저장소에서 사용할 수 없습니다. 따라서 Python 3.10 설치를 위해 다른 저장소를 추가해야 합니다. deadsnake라는 이름의 launchpad 저장소에서는 Python 패키지에 사용할 수 있습니다. 1. 저장소 추가하기 다음 명령을 사용하여 deadsnake 저장소를 추가합니다. sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get update 패키지가 잘 업데이트 됐는지 아래 명령어로 확인해 줍니다. apt list | grep python3.10 WARNING: apt does not have a stable CLI interface. Use with caution in scripts. idle-pyth..

    [Pandas] Grouping Practice

    이 예제는 https://www.datamanim.com/dataset/99_pandas/pandasMain.html#grouping 을 풀이한 예제입니다. import pandas as pd Load Data df= pd.read_csv('https://raw.githubusercontent.com/Datamanim/pandas/main/AB_NYC_2019.csv') df.head() id name host_id host_name neighbourhood_group neighbourhood latitude longitude room_type price minimum_nights number_of_reviews last_review reviews_per_month calculated_ho..

    t-value와 t-test

    들어가기 전에 통계학에서 추정을 위해서 모집에서 표본을 추출하고, 추출한 표본에서 표본 통계량 (평균, 분산 등)을 구할 수 있다. 이 때 구한 표본 통계량으로 검정 통계량이란 것을 구할 수 있으며 이 통계량을 이용하여 표본에서 모집단을 추론하는 과정을 진행한다. 여기서 검정통계량이란 이 글에서 정리할 t-value를 포함하여, F, z 등을 통칭하는 통계량으로 통계적 가설의 진위여부를 검정하기 위해 계산하는 통계량을 의미한다. 즉 이 통계량을 이용하여 표본을 이용하여 모집단에 대한 가설이 맞는지 여부를 확인하는 과정이다. t-value란? 앞서 검정통계량은 모집단에 대한 가설이 맞는지 여부를 확인하는 과정이라고 했다. t-value의 의미와 어떻게 사용하는지 정리해본다. 연구를 진행하다 보면 모집단에서..

});