본문 바로가기

전체 글523

operator 모듈 알아보기 operator 모듈은 파이썬에서 수행 가능한 연산을 효율적으로 처리할 수 있는 함수를 모아놓은 것이다. 이번 포스팅에서는 자주 활용되는 operator 기능을 소개한다. operator 기능 1) 사칙 연산 우선 덧셈에 대해서 살펴보자. operator.add(x, y)는 두 인자의 합을 계산하며 x+y와 같은 기능을 한다. 굳이 operator.add를 사용하는 이유는 두 인자를 동적으로 넣어줘야 할 때 필요하기 때문이다. 물론 이것도 lambda 등을 사용하면 operator가 필요 없을 때가 있다. 아래 코드는 operator의 사용 예시이다. import operator a = [1,2,3] b = [10, 20, 30] list(map(operator.add, a, b )) operator에서.. 2022. 8. 30.
functools reduce 함수 사용법 알아보기 이번 포스팅에서는 functools 모듈의 reduce 함수 사용법을 알아보려고 한다. reduce 함수 사용법 1) 기본 사용법 reduce 함수는 첫 번째 인자로 두 개 인자를 받는 함수를 받는다. 그리고 두 번째 인자는 함수를 적용할 객체를 받는다. 세 번째 인자는 초기값 설정인데 없어도 된다. 아래 코드를 통해 reduce 함수의 사용 방법을 익혀보자. from functools import reduce f = lambda x, y: 3*x+2*y ## x, y 2개 인자를 받는 함수 result = reduce(f, [1,2,3]) print(result) 아래 그림은 위 코드에서 reduce 함수 작동 방식을 나타낸 것이다. 먼저 첫 단계에서 리스트의 첫 번째, 두 번째 원소가 x, y에 들어.. 2022. 8. 29.
Python map 함수 사용법 알아보기. 이번 포스팅에서는 파이썬(Python) 내장 함수 map 사용 방법을 알아보자. map 사용법 1) 필요성 먼저 map 함수가 왜 필요한지 예를 통하여 살펴보자. 숫자를 담고 있는 리스트에 원소별로 제곱을 한다고 해보자. 가장 먼저 떠오르는 방법은 다음과 같을 것이다. def f(x): return x**2 li = [1,3,5,6,7,8] res = [] for v in li: res.append(f(v)) print(res) 하지만 이는 빈 리스트와 for 문을 사용하고 append까지 해주는 등 코딩해야 할 것이 많다. 2) map 사용법 이제 같은 작업을 map을 이용하여 수행해보자. map은 첫 번째 인자로 리스트 원소에 적용할 함수, 두 번째 인자로 대상 리스트(또는 순회 가능한 객체)를 받는.. 2022. 8. 29.
[SciPy] 2. 적분 계산하기 (feat. quad, dblquad, tplquad) SciPy는 적분 계산 관련된 기능을 제공하고 있다. 이번 포스팅에서는 Scipy에서 제공하는 적분 관련 기능인 quad, dblquad, tplquad 사용 방법에 대해서 알아본다. - 목차 - 1. 일반 적분 계산하기 with quad 2. 이중 적분(Double Integral) 계산하기 with dblquad 3. 삼중 적분(Triple Integral) 계산하기 with tplquad 1. 일반 적분 계산하기 with quad 1) 기본 quad를 사용하면 일반적인 적분 계산이 가능하다. quad는 첫 번째 인자로 적분하고자 할 함수를 넣고, 두 번째, 세 번째 인자의 각각 적분 구간의 시작 값과 끝 값을 넣어준다. quad는 적분 값과 오차를 튜플로 리턴하게 된다. 아래 코드는 $$\int_{.. 2022. 8. 28.
[SciPy] 1. 확률 분포와 확률 변수 (feat. scipy.stat) Scipy에서는 여러가지 확률 분포에 대한 확률 밀도 함수 값, 누적 분포 값 및 확률 변수를 생성할 수 있는 강력한 기능을 제공한다. 이번 포스팅에서는 실제로 통계에서 자주 활용되는 여러 분포(정규 분포, 카이 제곱 분포, 이항 분포 등)에 대해서 확률 밀도 함수 값(pdf, pmf), 누적 분포(cdf), 분위수(ppq) 그리고 확률 변수(난수) 생성 방법(rvs)을 알아보려고 한다. - 목차 - 1. 연속형 확률 변수 2. 이산형 확률 변수 1. 연속형 확률 변수 여기서는 정규분포, 유니폼(균등)분포, t 분포, 카이 제곱 분포, F 분포를 다룬다. 1) 확률 분포 정의 먼저 필요한 모듈을 불러오고 확률 분포를 먼저 정의한다. from scipy.stats import norm, uniform, t.. 2022. 8. 28.
[Scikit-Learn] 14. Permutation Importance 계산 해보기 (feat. permutation_importance) 변수 중요도 방법론 중에서 Permutation Importance 이 많이 사용되는데 Scikit-Learn (sklearn)에서는 permutation_importance를 이용하여 Permutation Importance 를 계산할 수 있다. 이번 포스팅에서는 Scikit-Learn (sklearn) 에서 제공하는 permutation_importance 사용 방법을 알아보자. Permutation Importance의 대한 아이디어와 알고리즘에 대한 내용은 여기를 참고하면 된다. permutation_importance 사용법 먼저 필요한 모듈을 임포트하고 데이터를 받아준다. 여기서는 보스턴 집값을 사용했다. 그러고 나서 Permutation Importance를 비교를 위해 의사결정나무와 Ada.. 2022. 8. 28.
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.
“Why Should I Trust You?” Explaining the Predictions of Any Classifier 오늘은 LIME을 제안한 논문 “Why Should I Trust You?” Explaining the Predictions of Any Classifier를 읽고 정리해본다. - 목차 - 1. Introduction 2. The Case for Explanations 3. Local Interpretable Model-Agnostic Explanations 4. Submodular Pick for Explaining Models 5. Simulated User Experiments 6. Evaluation with Human Subjects 7. Related Work 8. Conclusion and Future Work 1. Introduction 어떤 사람이 예측 결과나 그 모형을 신뢰할 수 없는 .. 2022. 8. 17.
A Unified Approach to Interpreting Model Predictions 오늘은 SHAP의 논문 "A Unified Approach to Interpreting Model Predictions"을 읽고 정리한 것을 적어본다. - 목차 - 1. Introduction 2. Additive Feature Attribution Methods 3. Simple Properties Uniquely Determine Additive Feature Attribution 4. SHAP(SHapley Additive exPlanation) Values 5. Computational and User Study Experiments 6. Conclusion 1. Introduction 요즘은 복잡한 예측 모형의 해석을 위한 방법들이 제공되고 있다. 하지만 어느 방법이 다른 방법보다 좋은지에 대한.. 2022. 8. 15.

맨 위로