전체 글

공부한 걸 정리하고 공유하며 틀린 부분을 함께 고쳐나가는 블로그입니다.
오늘은 부스팅 중에 Adaboost에 대해서 알아볼까 합나디. 📌 Adaboost 특징 각 단계에서 새로운 모델을 학습하여 이전 단계의 모델의 단점을 보완 학습 오차(Training error)가 큰 관측치의 선택 확률(Weight, 가중치)을 높이고, 학습오차가 작은 관측치의 선택 확률을 낮춤. 즉, 오분류한 관측치에 보다 집중 앞 단계에서 조정된 확률(Weight, 가중치)를 기반으로 다음 단계에서 사용될 학습 데이터(training dataset)를 구성 다시 첫 단계로 돌아감 최종 결과물은 각 모델의 성능지표를 가중치로하여 결합(ensemble) 💻 Algorithm 이번엔 Adaboost의 알고리즘을 알아봅시다. 1. set $W_i = \frac1n, i =1,2,..., n$ (impose ..
오늘은 파이썬의 리스트 타입에 대해서 알아보려 합니다. 별거없어요! 📌 List type 리스트 타입이 좋은게 어떤 타입이든 들어갈 수 있습니다. 선언해봅시다. 선언하는 법은 간단합니다. list name = [element1, element2, element3, ...] 이런식으로 괄호로 묶어 주면 됩니다. list1 = [1, 2.4, 'pizza', True] for i in list1: print(i) >> 1 >> 2.4 >> pizza >> True 위와 같이 정수, 실수, 글자, 참과 거짓 같이 어떤 타입이든 넣어줄 수 있습니다. ◾ 인덱싱과 수정 리스트 타입의 인덱싱입니다. 파이썬의 경우 시작이 1이 아니라 0입니다. 아래와 같이 첫 요소를 불러오기 위해서는 1이 아닌 0을 사용합니다. #..
이번엔 break, continue입니다. 이것도 파이썬의 반복문하면 빼놓을 수 없는 구문입니다! break는 무한히 반복되는 무한루프에서 나올 수 있게 해줍니다. continue는 반복하지 않고 건너뛰게 해줍니다. 📌 break i = 2 while True: print(i,'*',i,'=', i*i) i = i + 1 >> 2 * 2 = 4 >> 3 * 3 = 9 ... >> 2494 * 2494 = 6220036 ... 위 코드를 보면 무한히 실행되는 것을 볼 수 있습니다. while문을 이용하여 참일경우 반복 진행하는 것이니까요. 여기서 break를 이용하여 원하는 부분에서 멈추게 할수도 있습니다. 이를 반복문에서 빠져나온다고 해봅시다. i = 2 while True: print(i,'*',i,'..
📌 python while문 for문 전에 간단하게 쓸 수 있는 반복문이 바로 while 입니다. while 조건식 : 조건식이 True일 경우 반복적으로 실행되는 명령문 입니다. 이게 왜? 반복문이냐? 이유는 *해당 조건이 False가 될 경우 반복문을 종류하기 때문입니다. * 바로 코드로 보시죠. i = 0 while i > i는 0 입니다. >> i는 1 입니다. >> i는 2 입니다. >> i는 3 입니다. >> i는 4 입니다. while i < 5: : i가 5 미만인 것이 True일 경우 반복한다. print('i는', i, '입니다,') : i에 할당된 숫자를 out하여 print하도록 한다. i = i +1 : i에 1일..
📌 python if문(조건문) 이번엔 조건문을 알아보겠습니다. 크게 if, elif, else문이 있습니다. if는 조건식의 결과가 True일 경우 실행될 명령문입니다. 조건식의 첫 문장을 이룹니다. elif는 if의 다음 문장부터 사용하며, 조건식의 결과가 True일 경우 실행될 명령문입니다. else는 if와 elif 모두 포함이 되지 않는 False일 때 실행될 명령문 입니다. 아래 코드를 보시면 이해가 쉬울 것입니다. money = 50 if money 100원 이하 입니다. money를 50원으로 지정해주었기 때문에 if문에 걸려 100원 이하라고 알려줍니다. money = 250 if money 100원 초과, 500원 이하 입니다. money를 250원으로 지정해주었기 때문에 elif문에 ..
📌 python 비교 연산자 아래 코드를 확인해주세요. a = 5 b = 20 print(a > b) # 크다 >> False print(a >= b) # 크거나 같다 >> False print(a > True print(a > True print(a == b) # 같다 >> False print(a != b) #다르다 >> True 이상 python 기초 연산자였습니다! ☠️
파이썬을 배운지는 참 오래됐네요. 그런데 학과 특성상 R을 써왔습니다. 그런데 현업 분들 말을 들어보니 파이썬을 많이 사용한다해서! 안그래도 파이썬을 다시 공부하고 싶었거든요 ㅎㅎ 그래서 기초적인 부분부터 복습해가면서 포스팅 하려고 합니다!! 📌 python 변수 종류 ◾ 숫자형(numeric types) 이번에 볼 숫자형은 두가지 입니다. integer 타입으로 정수형 그리고 floating-point 타입으로 실수형이 있습니다. a = 14 print(a, type(a)) >>> 14 print 함수로 a에 할당한 내용과 내용의 타입을 반환하였습니다. 위 처럼 일반 정수가 나오는게 int b = 14.0 print(b, type(b)) >>> 14.0 위처럼 소수점이 있는 것이 float ◾ 문자형(..
📌 Variable importance measures.(요인 중요도) 단일 트리 모델의 경우 예측할 때 어떤 요인이 중요한지 쉽게 알 수 있습니다. 하지만, 여러 트리들을 묶어 사용하는 Bagging의 방법에서는 이러한 요인 중요도를 쉽게 얻을 수 없습니다. 예측 정확도가 높은 대신, 설명력이 떨어지는 것이죠. 설명력을 위해 어떤 변수가 중요한지 보는 방법을 2가지를 알아보고 후 포스팅에서 최근 유행하는 SHAP에 대해서 알아보려 합니다. ◼️ Mean Decrease Impurity(MDI) 회귀 트리의 경우, 주어진 예측 변수에 대한 분할로 인해 RSS(residual sum of squares)가 얼마나 감소되었는지를 모든 T개의 트리에 대해 평균화한 총량을 볼 수 있습니다. 쉽게 설명하면 어떠한..
📌 선형회귀에 대하여 우선 선형회귀의 경우 Supervised learning으로 지도 학습의 일종입니다. 먼저 가정을 해봅시다. $X$ : input으로 perdictors, covariates, independent variables, features 등으로 불리웁니다. 저같은 경우 feature라고 많이 부르는거 같아요 $Y$ : output으로 reponse variable, dependent variables 등으로 불립니다. 제 전공인 심리학에서는 보통 dependen variables라고 많이 불리우는데 저는 그냥 output으로 부르는게 편하더라구요 $n$ : observations으로 distinct data points의 개수 입니다. $p$ : variables의 수입니다. $n, p..
우리는 흔히 편향과 분산이 trade off 관계라고 알고있습니다. 알 사람은 다 알겠지만.. 한번 왜 그런지 확인해보는 시간을 가지려고 합니다 📌 MSE 우선 MSE에 대해서 봅시다. 우리가 MSE에 대해서 이렇게 표현합니다. $$ MSE = E(y-\hat{f}(\textbf{x}))^2 = Var(\hat{f}(\textbf{x}))+Bias(\hat{f}(\textbf{x}))^2 + Var(\epsilon) $$ MSE = (실제값과 예측값) 제곱의 기댓값 = 예측값의 분산 + 예측값 편향의 제곱 + 노이즈 이렇게 이루어져 있습니다. 이를 한번 유도해 봅시다. ◾ 에러 분산의 유도 $Var(\epsilon)$의 유도입니다. 여기서 필요한 개념은 $y = f(x) + \epsilon$ 이라는 것 ..
Data_novice
데이터 노트 📝