본문 바로가기

전체 글523

[Scikit-Learn] 6. AdaBoost 모형 만들기(feat. AdaBoostClassifier, AdaBoostRegressor) 오늘은 Scikit-Learn(sklearn)을 이용하여 AdaBoost 알고리즘을 통한 모형 학습 방법을 알아보고자 한다. AdaBoost는 분류와 회귀 문제 모두 적용할 수 있는데 이에 대해서 각각 알아본다. 1. 분류 문제(AdaBoostClassifier) 2. 회귀 문제(AdaBoostRegressor) AdaBoost에 대한 개념과 Scikit-Learn에서 의사결정나무를 학습하는 방법을 아래 포스팅에서 소개했으니 읽고 오면 좋다. 15. AdaBoost(Adaptive Boost) 알고리즘에 대해서 알아보자 with Python 15. AdaBoost(Adaptive Boost) 알고리즘에 대해서 알아보자 with Python 이번 포스팅에서는 부스팅 알고리즘의 하나인 AdaBoost 알고리.. 2022. 6. 18.
[Scikit-Learn] 5. 의사결정나무(Decision Tree) 만들기(feat. DecisionTreeClassifier, DecisionTreeRegressor) 이번 포스팅에서는 Scikit-Learn(sklearn)을 이용하여 의사결정나무를 학습하고 이를 시각화하는 방법에 대해서 알아본다. 또한 결과를 시각화하는 것뿐만 아니라 노드 정보(샘플 수, 불순도, 예측값)를 가져오는 방법에 대해서도 소개한다. 여기서는 분류 나무와 회귀 나무를 학습하는 방법을 알아본다. 1. 분류 나무(DecisionTreeClassifier) 2. 회귀 나무(DecisionTreeRegressor) 의사결정나무에 대한 개념은 아래 포스팅을 참고하기 바란다. 9. 의사결정나무(Decision Tree) 에 대해서 알아보자 with Python 9. 의사결정나무(Decision Tree) 에 대해서 알아보자 with Python 이번 포스팅에서는 모형의 해석이 쉽다는 장점을 가진 의사결.. 2022. 6. 18.
[Matplotlib] gridspec을 이용하여 여러 Axes 배치하기(feat. subplot) 안녕하세요~ 꽁냥이에요. 데이터 시각화를 하다 보면 하나의 화면 속에 여러 그림을 그려야 할 때가 있습니다. 이때에는 각 그림을 어떻게 배치할 것인가가 중요합니다. Matplotlib에서는 각 그림을 어떻게 배치하느냐는 결국 Axes를 어떻게 배치하느냐를 결정하는 것과 같습니다. 왜냐하면 Axes안에 그림이 그려지니까요. Matplotlib에서는 gridspec이라는 것이 있는데요. 이를 이용하면 여러 Axes를 자기가 원하는 대로 배치할 수 있습니다. 이번 포스팅에서는 Matplotlib의 gridspec을 이용하여 여러 Axes를 배치하는 방법에 대해서 알아보겠습니다. 여기서 다루는 내용은 다음과 같습니다. 1. Gridspec 기본 사용법 2. 여러 Gridspec을 이용한 복잡한 배치 1. Gri.. 2022. 6. 17.
Greedy Function Approximation : A Gradient Boosting Machine 이번엔 Gradient Boosting(GB)의 시초인 Friedman의 2001년 논문 Greedy Function Approximation : A Gradient Boosting Machine을 읽고 정리해보았다. - 목차 - 1. Function Estimation 2. Numerical Optimization in Function Space 3. Finite Data 4. Applications : Additive Modeling 5. Regularization 6. Simulation Studies 7. Tree Boosting 8. Interpretation 9. Real Data 10. Data Mining 본 포스팅에서는 수식을 포함하고 있습니다. 티스토리 피드에서는 수식이 제대로 표시되지.. 2022. 6. 15.
20. Gradient Boosting 알고리즘에 대해서 알아보자 with Python 이번 포스팅에서는 Gradient Boosting의 개념과 알고리즘을 소개하며 이를 응용한 Gradient Tree Boosting의 개념과 알고리즘도 소개한다. 그리고 Gradient Tree Boosting 알고리즘을 파이썬으로 직접 구현하는 방법을 소개한다. 이렇게 구현한 것을 실제 데이터에 적용하는 예제를 살펴보고 Scikit-Learn에서 제공하는 결과와 비교해보고자 한다. 이 글을 읽기 전에 의사결정나무와 AdaBoosting 관련 내용을 보고 오기 바란다. 9. 의사결정나무(Decision Tree)에 대해서 알아보자 with Python 15. AdaBoost(Adaptive Boost) 알고리즘에 대해서 알아보자 with Python - 목차 - 1. Gradient Boosting이란?.. 2022. 6. 13.
[Jupyter Notebook] 주피터 노트북 커널(Kernel) 파이썬 경로 확인, 변경 방법 알아보기 이번 포스팅에서는 주피터 노트북 커널(Kernel)에서 사용하는 파이썬(Python) 경로를 확인하고 바꾸는 방법을 알아본다. 1. 현재 파이썬(Python) 경로 확인하기 주피터 노트북의 현재 경로는 다음과 같이 sys.executable을 이용하여 확인할 수 있다. import sys print(sys.executable) 2. 경로 바꾸기 경로를 바꾸는 방법은 다음과 같다. 먼저 아래 그림과 같이 주피터 노트북 파일에서 상단 'Edit' 탭에서 'Edit Notebook Metadata'를 클릭한다. 그러면 JSON 형태의 기본 설정이 나와있다. 이때 다음과 같이 "PYTHONPATH" 이 옆부분의 실행하고자할 파이썬 경로를 입력한다. 나머지는 건드리지 않는다. { "argv": [ "python".. 2022. 6. 11.
Random Forests 이번 포스팅에서는 랜덤 포레스트를 제안한 Breiman의 Random Forests 논문을 읽고 정리한다. 본 포스팅에서는 수식을 포함하고 있습니다. 티스토리 피드에서는 수식이 제대로 표시되지 않을 수 있으니 PC 웹 브라우저 또는 모바일 웹 브라우저에서 보시기 바랍니다. Abstract 랜덤 포레스트의 일반화 오류는 트리의 개수가 커질수록 수렴한다. 그리고 분류 나무로 이루어진 포레스트의 일반화 오류는 개별 나무의 정확도와 나무 사이의 상관성에 따라 달라진다. 분리할 변수들을 랜덤으로 선택하는 경우 오류율이 AdaBoost와 맞먹을 정도가 되며 노이즈의 더 강건하다. Random Forests 1.1 Introduction 앙상블 나무를 성장시키고 나무들의 분류 결과 중 다수로 뽑힌 클래스를 해당 클래.. 2022. 5. 27.
[Pandas] 27. 문자열 데이터 다루기(공백 제거, 슬라이싱, 문자 대체, 분리, 문자 연결) (feat. strip, slice, split, replace, cat) 안녕하세요~ 꽁냥이에요. 지난 포스팅에서 특정 문자열, 단어를 포함하는 행 추출하는 방법에 대해서 소개했는데요. Pandas에서는 이외에도 문자열을 위한 여러 가지 기능을 제공하고 있습니다. 이번 포스팅에서는 Pandas에서 제공하는 문자열을 다루는 여러 기능을 소개합니다. - 목차 - 1. 공백 제거 2. 슬라이싱 3. 문자 대체 및 분리 4. 문자 연결 1. 공백 제거 파이썬에는 공백제거를 위한 내장 함수로 strip, rstrip, lstrip이 있는데요. Pandas에서도 똑같습니다. 아래 코드를 보면 금방 이해되실 거예요. import pandas as pd df = pd.DataFrame() df['A'] = ['서울', '서울', '경기'] df['B'] = [' 꽁냥이', '꽁냥이 ', '.. 2022. 5. 27.
[Scikit-Learn] 4. 서포트 벡터 머신 모형 만들기. feat SVC, SVR 이번 포스팅에서는 Scikit-Learn(sklearn)에서 서포트 벡터 머신을 학습하는 방법에 대해서 알아본다. 여기서는 분류 서포트 벡터 머신과 회귀 서포트 벡터 머신을 나누어 살펴보겠다. 1. Scikit-Learn 분류 서포트 벡터 머신(SVC) 2. Scikit-Learn 회귀 서포트 벡터 머신(SVR) 서포트 벡터 머신에 대한 개념은 아래를 참고하기 바란다. 19. 서포트 벡터 머신(Support Vector Machine)에 대해서 알아보자 with Python 19. 서포트 벡터 머신(Support Vector Machine)에 대해서 알아보자 with Python 딥러닝이 나타나기 전에 전성기를 구가했던 서포트 벡터 머신(Support Vector Machine)에 대해서 공부한 내용을 .. 2022. 5. 27.
[Scikit-Learn] 3. 데이터 칼럼 표준화하기 feat. StandardScaler 이번 포스팅에서는 Scikit-Learn(sklearn)을 이용하여 데이터 칼럼을 표준화하는 방법을 알아보려고 한다. 표준화는 데이터를 주어진 평균과 표준편차를 갖도록 변환하는 것이다. Scikit-Learn에서는 StandardScaler를 통해 데이터를 표준화할 수 있다. StandardScaler를 이용한 표준화 변환 과정은 지난 포스팅에서 다룬 MinMaxScaler를 이용한 Min Max 변환 과정과 동일하므로 아래 포스팅을 참고하면 좋다. [Scikit-Learn] 2. Min Max 변환하기 feat. MinMaxScaler [Scikit-Learn] 2. Min Max 변환하기 feat. MinMaxScaler 예측 모델링을 할 때 학습 데이터에 대하여 변환하는 경우가 굉장히 많다. 그중에.. 2022. 5. 27.

맨 위로