본문 바로가기

Archive/TIL48

[TIL] Dacon 하면서 자잘하게 배운 내용들 정리 이번 Dacon에 컴페티션 하나 풀어보면서 자잘하게 배운 내용 정리 * xgboost 시각화 몇년전 따릉이 때도 했지만, 실제 xgboost의 분류기준을 알기 좋아 정리 from xgboost import plot_tree from matplotlib.pylab import rcParams # 의사 결정 트리 시각화 plt.rcParams["figure.figsize"] = (75,40) plot_tree(model) plt.show() 다만, 문제는 한글 깨짐이 발생하기 때문에, 컬럼명을 모두 영어로 바꾸고 진행해야 한다. 정확하게는 matplotlib에서 한글 깨짐을 방지할수는 있지만 xgboost.plot_tree에 이것이 적용되지 않는다! * seaborn에서 차트 x축 순서 바꾸기 plt.rcP.. 2024. 1. 20.
[TIL] Soft Voting, Hard Voting 캐글을 풀게 되다가 알게 된 내용. 기본적으로 Ensemble 은 보팅, 배깅과 부스팅으로 나뉘는데, 부스팅은 약화된 학습기를 가지고 중첩해서 학습을 하는거였다면, 배깅과 보팅은 기본적으로 투표를 활용한다. - 보팅 : 한 데이터 세트에 대해서 "서로 다른 알고리즘"을 가진 분류기들을 결합하는 방식 - 배깅 : 각 분류기는 모두 같은 유형의 알고리즘, 데이터 샘플링이 달라짐(부트스트래핑) 여기서, 보팅의 경우는 하드보팅과 소프트 보팅으로 나뉜다. - 하드 보팅 : 각 분류기의 최종 결과에 따른 다수결 - 소프트 보팅 : 각 분류기마다 Class의 확률을 정하고, 그 확률들의 평균값이 큰 값을 최종으로 결정. from sklearn.ensemble import VotingClassifier vo_clf =.. 2024. 1. 14.
[TIL] 0808 아침스터디 - 다차원척도법 (MDS) 다차원 척도법 (Multidimensional Scaling, MDS) MDS란, 다변량 데이터의 특성 및 구조를 파악하여, 원래 차원보다 낮은 차원에 시각화를 시키는 방법이다. 이 때, 개체간의 유사성 / 비유사성이 드러나도록 진행한다. 즉, 개체간의 유사성 / 비유사성이 잘 표현되도록 "거리"를 시각화하는 작업을 하게 될 것이다. 중요한 점은, 거리 관계가 잘 유지되어야 한다는 점이다. 거리를 계산하기 위해, 일반적으로는 Eucliden-metric을 쓰긴 하나, Manhattan distance 등 필요에 따라 다른 distance를 이용할 수 있다. Python Example 코드를 통해서 어떻게 쓰는지 확인해보자. # 출처 : https://stackabuse.com/guide-to-multid.. 2022. 8. 8.
[TIL] 0805 아침스터디 - 나이브 베이즈 복습 Naive Bayes란? 원리 - 베이즈 정리 베이즈 정리란, 사전확률과 사후확률의 관계를 나타내는 정리이다. 사전확률은, 특정 사건이 일어나기 전에 우리가 구하고자 하는 사건의 확률을 의미한다. (예시 - 어떤 질병에 걸릴 확률) 여기에 증거, 즉 추가적인 조건을 붙힌다면, 이 때 확률은 어떻게 될지를 구하는 것이, 베이즈 정리이다. 다시 말해, A -> B라는 관계가 있을 때, B가 일어날 확률만 아는데, , B가 일어날 확률을 구하는 것이 베이즈 정리의 목표이다. 다음과 같이, 조건부 확률 형태로 얻을 수 있다. 작동 원리 기본적으로, 나이브 베이즈는 feature끼리는 서로 독립이어야 한다. 독립을 가정하게 되면 좋은 점은, 여러 특성들을 가졌을때, 그 확률의 .. 2022. 8. 5.
[TIL] 0729 아침스터디 - Kernel Trick 들어가기 분류 문제에서, 선형 분류로 풀 수 없는 상황이 여럿 존재할 것이다. 이를 해결 할 수 있는 방법 중 하나가 Kernel Trick이다. 다음과 같이, 일차원 상에, 데이터가 놓여있다고 하자, 초록색 데이터와 파란색 데이터는 선분 하나만으로는 구분할 수 없다. 하지만, 여기에 차원을 추가하면 어떻게 될까? 즉 x -> {x, x^2} 으로 보내는 mapping을 고려하자. 2차원으로 보낸 순간, 빨간 구분선을 기준으로, 초록색 데이터와 파란색 데이터의 구분이 가능해졌다. 이렇게 쉬운 상황만 고려하면, 좋을텐데, 문제는 일반적으로는 mapping 이 되는 함수를 찾기가 매우 어렵다는 것이다. Kernel이란? Kernel 이란, mapping 이후에도 "내적"의 값을 유지시켜주는 함수를 의미힌다... 2022. 7. 29.
[TIL] 0725 아침스터디 - ROC curve, 비용민감 곡선 ROC Curve binary classification 모델의 평가 방법 중 하나. TPR/FPR TPR : 양성인 케이스에 대해 실제로 양성으로 잘 예측한 비율. FPR : 음성인 케이스에 대해 양성으로 잘못 예측한 비율. -> TPR이 높으면서, 1-FPR이 낮은 지점을 찾는 것이 중요할 것이고, 이를 위한 방법 중 하나가 ROC-Curve ROC Curve는 다음과 같이, 생겼고 curve-밑 부분의 넓이를 AUC라고 한다. curve가 이렇게 생긴 이유?, 어떻게 유도된 것일까? 양성인 분포와, 음성인 분포가 그림과 같다 가정하고 β값 이상을 가지면 무조건 양성이라고 판단하자. 그러면 그림과 같이 TP, TN, FP, FN이 나올 것이다. β값이 극단적으로 커지면, TPR, FPR이 모두 낮아지.. 2022. 7. 25.