DataScience/MachineLearning23 [트리계열 이해하기] 4. GBM 1. 기본 컨셉 Gradient Boosting Machine 은 이름처럼 Boosting 계열의 트리 모델입니다. 2023.07.28 - [DataScience/MachineLearning] - [트리계열 이해하기] 3. AdaBoost [트리계열 이해하기] 3. AdaBoost AdaBoost는 이름에서 알 수 있 듯, Boosting 계열 모델 중 하나입니다. Boosting은 Ensemble 기법 중 하나로, Bagging과 다르게 Sequenital한 기법입니다. 2023.07.28 - [DataScience/MachineLearning] - [트리계열 이해하기] 2. mkk4726.tistory.com AdaBoost가 틀린 데이터에 대해서는 양의 가중치를, 맞은 데이터에 대해서는 음의 가중치.. 2023. 7. 29. [트리계열 이해하기] 3. AdaBoost AdaBoost는 이름에서 알 수 있 듯, Boosting 계열 모델 중 하나입니다. Boosting은 Ensemble 기법 중 하나로, Bagging과 다르게 Sequenital한 기법입니다. 2023.07.28 - [DataScience/MachineLearning] - [트리계열 이해하기] 2. Random Forest (Feature Importance Score 계산하는 법) [트리계열 이해하기] 2. Random Forest (Feature Importance Score 계산하는 법) Random Forest를 이해하기 위해서는 ensemble과 bagging을 이해할 필요가 있습니다. 1. Ensemble 앙상블이란 함께 결과를 만드는 하나의 그룹입니다. 앙상블의 기본 개념은 여럿이 모이면 .. 2023. 7. 28. Bias와 Variance 이해하기 머신러닝을 공부하다보면 무조건 접할 수 밖에 없는 개념이 있습니다. 바로 bias와 variance인데요, 이에 대해 정리해보겠습니다. 그림1을 통해 두 개념에 대해 직관적으로 이해해볼 수 있습니다. bias는 "목표물"과 "점의 평균"과의 차이입니다. variance는 "점"과 "점의 평균"과의 차이입니다. 즉 bias는 정답에 얼마나 근접하느냐를 의미하고, variance는 얼마나 균일하게 정답을 예측하냐로 정리해볼 수 있습니다. 이를 수식으로 나타낼 수 있습니다. Error는 x와 예측값 f(x)의 차이인데, 이는 그림2와 같이 Bias와 Variance로 분리해서 볼 수 있습니다. Bias와 Variance를 모두 낮출 수 있으면 좋겠지만, 이 2개념은 trade-off 관계입니다. 이를 직관적으.. 2023. 7. 28. [트리계열 이해하기] 2. Random Forest (Feature Importance Score 계산하는 법) Random Forest를 이해하기 위해서는 ensemble과 bagging을 이해할 필요가 있습니다. 1. Ensemble 앙상블이란 함께 결과를 만드는 하나의 그룹입니다. 앙상블의 기본 개념은 여럿이 모이면 혼자일 때보다 더 좋은 결과를 낸다는 것입니다. 이는 꽤나 직관적인 컨셉입니다. 이를 트리모델에 적용하면, 여러 약한 분류기들을 이용해 하나의 모델을 구성하는 것입니다. 랜덤 포레스트에서는 약한 트리모델의 결과를 합쳐 하나의 결과를 구성합니다. 2. Bagging Bagging은 bootstrapping과 aggregation의 합성어입니다. bootstrapping은 원래 데이터 수만큼 복원추출한다는 것입니다. 복원추출은 sampling을 진행할 때 뽑았던 것들을 다시 넣고 뽑습니다. 따라서 뽑.. 2023. 7. 28. [트리계열 이해하기] 1. Decision Tree 1. 기본 컨셉 decision tree, 의사결정나무의 컨셉은 굉장히 간단합니다. 그림1처럼 특정 기준을 가지고 데이터들을 계속해서 잘게 쪼개겠다는 것입니다. 그럼 어떤 기준을 세울 것인지를 정해야하는데요, 이를 위해 알아야하는 것이 loss function, 손실함수입니다. 손실함수를 정하고 이를 줄이는 방향으로 기준을 세워나가면 됩니다. 2. 손실함수 매번 노드에서는 불순도를 줄여나가려는 목표를 가지고 분기해나갑니다. 즉 0과 1로 구분해야할 때, 해당 노드에 0만 있거나 1만 있다면 굉장히 잘 분류했다고 할 수 있고, 이를 순도가 높다고 표현합니다. 불순도를 줄여나가 순도를 높이는 것이 목표입니다. 불순도를 정의하는 데에는 대표적으로 Gini Index, Entropy가 있습니다. 2.1 Gini.. 2023. 7. 28. 선형함수 정리 (Linear Regression, Ridge, Lasso, Elastic Net) 선형함수를 한번 쭉 정리해보려고 합니다. 선형함수를 이해하기 위해서 "선형"이라는 말에 대해 생각해볼 필요가 있습니다. 선형이라는 말은 선형결합과 비선형성을 이해하면 그 의미를 알 수 있습니다. 먼저 선형결합은 $y = x_1*\beta_1 + x_2*\beta_2 + x_3*\beta_3$ 와 같이 $x$와 $\beta$의 곱을 뜻하고, 비선형성은 딥러닝의 활성화함수처럼 값이 일정하게 증가하지 않고 특정 부분에서 값의 변화가 있는 것을 뜻합니다. 여기서 선형은 $beta$에 대한 것이며, 따라서 $y = x_1^2*\beta_1 + x_2*\beta_2 + x_3*\beta_3$ 도 선형적입니다. 하지만 $y = x_1*\beta_1^2 + x_2*\beta_2 + x_3*\beta_3$ 은 선형적이지.. 2023. 7. 28. [평가지표] AUC-ROC Curve AUC-ROC Curve는 이진분류에서 사용되는 평가지표입니다. 모델의 성능을 할 때 사용하며, 모델을 학습해나가는 목표 지점으로도 사용되는 평가지표로 굉장히 자주 사용되기에 꼭 알아야하는 평가지표라고 생각합니다. 이를 이해하기 위해서는 Confusion Matrix에 대해 이해하고 있어야 합니다. 2023.07.14 - [DataScience/MachineLearning] - [평가지표] Confustion Matrix [평가지표] Confustion Matrix 0과 1, 두 가지로 분류하는 이진분류 문제에서 Confusion Matrix는 굉장히 중요합니다. 특히 0과 1의 비율이 맞지 않는 경우 accuracy만으로 모델을 평가하기엔 한계가 있습니다. 처음에는 헷갈릴 수 있 mkk4726.tist.. 2023. 7. 14. [평가지표] Confustion Matrix 0과 1, 두 가지로 분류하는 이진분류 문제에서 Confusion Matrix는 굉장히 중요합니다. 특히 0과 1의 비율이 맞지 않는 경우 accuracy만으로 모델을 평가하기엔 한계가 있습니다. 처음에는 헷갈릴 수 있는 개념이나 알고보면 굉장히 단순한 개념입니다. Accuracy, Precision, Recall, F1-Score에 대해 하나씩 정리해보겠습니다. 1. Confusion Matrix 란? 0과 1로 분류하는 문제에는 당연히 0과 1로 예측한 것과 0과 1이 정답인 것이 있습니다. 실제 값과 예측값이 맞는 경우를 True라고 칭하고 앞 글자에 T로 표시합니다. ( TN, TP ) 실제값과 예측값이 틀린 경우를 False라 칭하고 앞 글자에 F로 표시합니다. ( FN, FP ) 1로 예측한 .. 2023. 7. 14. 와디즈 - 모델링 * Jupyter Notebook에서 작성했습니다. https://mkk4726.tistory.com/20 와디즈 url, 상품 코드 가져오기 와디즈(wadiz)라는 보상형 크라우드 플랫폼을 대상으로 프로젝트를 진행 중이다. 상품들의 정보를 불러오기 위해서는 상품들의 코드를 알거나 url을 알면된다. 이를 통해 html을 받아와 원하는 정 mkk4726.tistory.com https://mkk4726.tistory.com/21 와디즈 크롤링 - 필요한 정보 수집해오기 * Colab에서 작성되었습니다. 전편 (https://mkk4726.tistory.com/20) 에서 만든, 홈페이지 정보를 가지고 있는 meta.csv를 이용해 이번에는 원하는 정보들을 추출해올 것이다. 기간, 새소식 수, 본문에 있는.. 2022. 4. 10. ML - NaiveBayes, Scikit learn Scikit Learn을 이용해 나이브 베이즈 모델을 구현해본다. 데이터는 ML의 국룰 데이터인 타이타닉 데이터다. 삭제도 해보고 그대로 one-hot encoding도 적용해보고 pclass를 object로 바꾼다음에 적용도 해봤다. 타이타닉 데이터는 survived를 예측하는 분류문제다. 평가지표로는 정확도만 사용했다. 5가지 모델을 적용했다. 각 모델에 대해서는 정확한 이해를 하지 못했다. 통계공부의 필요성을 느낀 순간이었다. 모델들의 차이는 가능도를 계산하는 함수가 다르다는 점이다. 가장 좋은 성능을 보인 모델은 가우시안을 함수로 가지는 모델이었다. 이를 통해 과제를 제출했다. 이번 과제를 하면서 그 동안 가지고 있었던 궁금증이 해결되.. 2021. 10. 31. 이전 1 2 3 다음