본문 바로가기

통계/머신러닝50

27. Partial Dependence Plot (부분 의존도 그림), Individual Conditional Expectation Plot (개별 조건부 평균 그림)에 대해서 알아보자 with Python 이번 포스팅에서는 머신러닝 예측 모형의 해석을 도와주는 시각화 방법인 Partial Dependence Plot (부분 의존도 그림), Individual Conditional Plot (개별 조건부 평균 그림)에 대해서 소개한다. 또한 파이썬을 이용한 구현 방법을 소개한다. - 목차 - 1. Partial Dependence Plot 2. Individual Conditional Expectation Plot 1. Partial Dependence Plot(부분 의존도 그림) 1) 정의 Partial Dependence Plot (부분 의존도 그림)은 학습된 예측 모형과 (예측에 사용된) 개별 변수의 관계를 시각화한 그림이다. 위의 말을 자세히 뜯어보자. 부분 의존성? 그게 뭐야? 부분 의존성은 다변수.. 2022. 9. 2.
26. 변수 중요도(Variable Importance) with Python 이번 포스팅에서는 변수 중요도(Variable Importance)가 무엇인지 알아보고 자주 활용되는 변수 중요도로써 Correlation, Linear Regression Coefficient를 이용한 변수 중요도, Mean Decrease in Impurity(MDI)와 Gini Importance 그리고 Permutation Importance와 Mean Decrease in Accuracy를 소개한다. 또한 파이썬(Python)을 통한 구현 방법도 소개한다. - 목차 - 1. 변수 중요도란? 2. Correlation, Linear Regression Coefficient 3. Mean Decrease in Impurity(MDI), Gini Importance 4. Permutation Impo.. 2022. 8. 27.
25. Shapley Value와 SHAP에 대해서 알아보자 with Python 이번 포스팅에서는 게임 이론에서 상금 분배 방법의 하나인 Shapley Value와 이를 머신러닝 예측 모형을 해석하는 데 활용한 SHAP에 대해서 알아보고자 한다. 그리고 SHAP Value를 계산하는 과정을 파이썬(Python)으로 구현해보고자 한다. - 목차 - 1. Shapley Value란? 2. SHAP란? 3. SHAP 종류 4. 장단점 1. Shapley Value란? 1) 배경 Shapley Value(SV)는 공정 분배 게임 이론에서 나온 개념으로 주어진 게임에 참여한 플레이어들에게 상금을 공정하게 배분하는 하나의 방법을 말한다. SV에 대한 수학적 정의를 내리기 위해 기본적인 정의를 해보자. 먼저 주어진 게임에 참여한 총플레이어가 $n$명이라 하고 각 플레이어는 1번부터 $n$번까지 .. 2022. 8. 25.
24. 랜덤 포레스트(Random Forest)에 대해서 알아보자 이번 포스팅에서는 랜덤 포레스트(Random Forest)에 대해서 알아보고자 한다. 랜덤 포레스트(Random Forest)의 개념, 알고리즘, 여러 고려사항 및 장단점에 대해서 정리해보려고 한다. - 목차 - 1. 랜덤 포레스트(Random Forest)란 무엇인가? 2. 랜덤 포레스트(Random Forest) 알고리즘 3. 장단점 및 고려사항 랜덤 포레스트(Random Forest)을 이해하려면 의사결정나무와 배깅의 대한 내용을 알아야 한다. 아래 포스팅에 정리해 두었으니 먼저 보면 좋다. 9. 의사결정나무(Decision Tree) 에 대해서 알아보자 with Python 9. 의사결정나무(Decision Tree) 에 대해서 알아보자 with Python 이번 포스팅에서는 모형의 해석이 쉽다는.. 2022. 8. 5.
23. 배깅(Bagging)에 대해서 알아보자 이번 포스팅에서는 앙상블 기법의 하나인 배깅(Bagging)에 대해서 알아보고자 한다. 여기서 다루는 내용은 다음과 같다. - 목차 - 1. 배깅(Bagging)이란 무엇인가? 2. 배깅(Bagging) 알고리즘 3. 예제 본 포스팅에서는 수식을 포함하고 있습니다. 티스토리 피드에서는 수식이 제대로 표시되지 않을 수 있으니 PC 웹 브라우저 또는 모바일 웹 브라우저에서 보시기 바랍니다. 배깅(Bagging)이란 무엇인가? 1. 정의 배깅(Bagging)은 Bootstrap Aggregating의 준말로 다음과 같이 정의할 수 있다. 배깅(Bagging)은 붓스트랩(Bootstrap) 샘플링을 이용하여 주어진 하나의 데이터로 학습된 예측 모형보다 더 좋은 모형을 만들 수 있는 앙상블 기법이다. 이 말의 뜻.. 2022. 7. 20.
22. 로지스틱 회귀(Logistic Regression)에 대해서 알아보자. 이번 포스팅에서는 로지스틱 회귀에 대한 개념과 적합 알고리즘에 대해서 소개한다. - 목차 - 1. 로지스틱 회귀(Logistic Regression)란 무엇인가? 2. 로지스틱 회귀 적합 알고리즘 3. 장단점 본 포스팅에서는 수식을 포함하고 있습니다. 티스토리 피드에서는 수식이 제대로 표시되지 않을 수 있으니 PC 웹 브라우저 또는 모바일 웹 브라우저에서 보시기 바랍니다. 1. 로지스틱 회귀(Logistic Regression)란 무엇인가? 로지스틱 회귀는 분류 문제에서 활용되는 회귀 모형이며 그 정의는 다음과 같다. 로지스틱 회귀는 출력 변수의 조건부 확률을 Softmax 함수를 이용하여 모델링한 것이다. 이 말의 뜻을 살펴보자. a. Softmax 함수란 무엇인가? Softmax 함수는 $K$범주 분.. 2022. 7. 3.
21. XGBoost에 대해서 알아보자 이번 포스팅에서는 부스팅 계열에 떠오르는 샛별 XGBoost에 대해서 알아보려고 한다. 여기에서는 XGBoost의 개념, 알고리즘 동작 원리를 예제와 함께 알아보고자 한다. - 목차 - 1. XGBoost란 무엇인가? 2. XGBoost 알고리즘 3. 장단점 및 고려 사항 XGBoost는 Gradient Boosting 알고리즘을 알아야 이해하기 쉽다. 아래 포스팅에 Gradient Boosting에 대한 설명을 해놓았으니 먼저 읽고 오기 바란다. 20. Gradient Boosting 알고리즘에 대해서 알아보자 with Python 20. Gradient Boosting 알고리즘에 대해서 알아보자 with Python 이번 포스팅에서는 Gradient Boosting의 개념과 알고리즘을 소개하며 이를 .. 2022. 6. 26.
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.
19. 서포트 벡터 머신(Support Vector Machine)에 대해서 알아보자 with Python 딥러닝이 나타나기 전에 전성기를 구가했던 서포트 벡터 머신(Support Vector Machine)에 대해서 공부한 내용을 포스팅하려고 한다. 서포트 벡터 머신에 대한 개념과 종류 그리고 파이썬으로 구현하는 방법을 소개한다. 구현은 직접 구현을 해보고 Scikit-learn에서 제공하는 것과 비교하려고 한다. 이번 포스팅에서 다루는 내용은 다음과 같다. 1. 서포트 벡터 머신(Support Vector Machine)이란? 2. 서포트 벡터 머신(Support Vector Machine) 종류 3. 서포트 벡터 머신(Support Vector Machine) 장단점 4. 파이썬 구현 이곳은 꽁냥이가 머신러닝을 공부한 내용을 정리하는 곳입니다. 이 포스팅에서는 수식을 포함하고 있습니다. 티스토리 피드에서.. 2022. 5. 16.
18. 다중 클래스(Multi-Class) 분류를 위한 One vs Rest, One vs One 방법을 알아보자. 이진(Binary) 클래스에서는 잘 동작하는 분류기(모형)들이 다중 클래스(Multi-Class) 분류 문제로 확장하기가 어려운 경우가 있다. 이때에는 다중 클래스(Multi-Class) 분류 문제를 여러 개의 이진 분류 문제로 쪼개서 해결할 수 있다. 다중 클래스(Multi-Class)에서 한 클래스를 1 나머지를 0으로 코딩하여 이진 분류기를 여러개 생성하는 One vs Rest 방법이 있고 다중 클래스 문제를 서로 다른 모든 클래스의 쌍으로 쪼개서 푸는 One vs One 방법이 있다. 이번 포스팅에서는 이 방법에 대한 내용을 소개한다. - 목차 - 1. One vs Rest 2. One vs One 이곳은 꽁냥이가 머신러닝을 공부한 내용을 정리하는 곳입니다. 이 포스팅에서는 수식을 포함하고 있습니.. 2022. 5. 9.

맨 위로