zenn.skin 무료버전 배포중!
자세히보기

전체 글 182

DataScience
[ML] 분류모형의 평가지표(confusion matrix, accuracy, precision, sensitivity(recall), specificity, F1-score)

지난번에 회귀모형을 평가하는 지표에 대해 알아보았습니다. [ML] 회귀모형의 평가지표, MAE, MSE, RMSE, RSE, R^2 회귀모델을 평가하는 평가지표는 여러 가지가 있습니다. 1. MAE(Mean Absolute Error, 평균 절대 오차) 데이터의 단위와 동일하기 때문에 해석이 직관적이라는 장점이 있습니다. MSE에 비해 이상치의 영 koosco.tistory.com 분류모형을 평가할 때는 회귀모형에서의 MAE나 RMSE, R^2를 사용할 수 없기 때문에 혼동행렬(confusion matrix)을 이용한 별도의 지표를 사용해 모델을 평가하게 됩니다. 1. 혼동행렬(Confusion Matrix) confusion matrix는 모델의 성능 측정을 위해, 실제값과 측정값을 비교하기 위한 표를..

DataScience
[ML] MAB(Multi-Armed Bandit Algorithm, 멀티 암드 밴딧)

MAB는 다중 처리 실험에 대한 모델링으로 볼 수 있습니다. 카지노에 여러 개의 슬롯머신이 있습니다. 슬롯머신들은 각각이 다른 수익율을 낸다고 할 때 어떤 슬롯머신을 선택하는 것이 좋을지에 대한 답을 알려줍니다. 여러 슬롯머신들의 손잡이는 실험에서의 처리를 나타내고, 슬롯머신을 통해 얻은 수익을 처리에 대한 효과로 볼 수 있습니다. MAB 알고리즘의 핵심 아이디어는 탐색과 활용(Exploration & Exploitation)입니다. 슬롯머신들을 돌려보고(탐색) 수익이 높다고 생각하는 슬롯머신을 돌려봅니다.(활용) 1. Greedy Algorithm 가장 먼저 생각해볼 수 있는 방법은 일정 횟수만큼 슬롯머신을 돌려보고, 돌려본 슬롯머신들 중 가장 수익률이 높은 슬롯머신에 몰빵을 하는 방법입니다. A, B..

카테고리 없음
[가볍게 떠먹는 데이터 분석 프로젝트] Chapter6. 데이터 시각화 차트 사용법

적절한 차트를 활용한 데이터 시각화는 청중에게 설득력 있는 메시지를 전달 할 수 있다. 복잡한 차트나 잘못된 차트의 사용은 혼란을 야기시킬 수 있으므로, 차트를 선택하기에 앞서 신중한 고민이 필요하다. - 복잡하고 어려운 개념을 알기 쉽게 설명할 수 있다 - 전달하고자 하는 메시지를 명확히 할 수 있다 - 중요 포인트를 청중의 기억에 깊이 각인시킬 수 있다 자주 쓰는 차트들을 의도에 따라 네 가지 그룹으로 나눌 수 있다. 집단 간 데이터 비교 분석 데이터 집합의 구성 분석 변수들 간의 관계 분석 데이터의 분포 분석 1. 비교 분석에 주로 사용되는 차트 비교 분석은 다양한 항목 간에 어떠한 차이가 있는지를 명확히 보고자 할 때 사용 표보다 차트를 사용하는 것이 직관적이다 ① 막대 차트(Bar Chart) ..

DataScience
임의순열검정(random permutation test)

1. 부트스트랩(Bootstrap) 표본분포를 추정하는 쉽고 효과적인 방법은, 현재 있는 표본에서 추가적으로 표본을 복원추출하여 통계량과 모델을 다시 계산하는 방법입니다. 이러한 방법을 부트스트랩이라 하며, 부트스트랩을 할 때 데이터나 표본통계량이 정규분포를 따라야 한다는 가정은 필요하지 않습니다. 원래 부트스트랩은 갖고있는 표본을 무한대로 복제한 후 거기에서 표본을 추출하는 방법을 의미합니다. 하지만 실제로는 표본을 복제하지 않고 복원추출하는 방법으로 부트스트랩을 사용합니다. 부트스트랩을 사용하는 이유는 작은 표본크기를 보완하거나 새로운 데이터를 만드는 것이 아닙니다. 표본을 이용해 가상의 모집단을 만들고 거기서 표본추출을 했을 때, 새로운 표본이 원래의 표본과 얼마나 비슷할지를 보여주는 역할을 합니다..

DataScience
[ML] 회귀모형의 평가지표, MAE, MSE, RMSE, RSE, R^2

회귀모델을 평가하는 평가지표는 여러 가지가 있습니다. 1. MAE(Mean Absolute Error, 평균 절대 오차) 데이터의 단위와 동일하기 때문에 해석이 직관적이라는 장점이 있습니다. MSE에 비해 이상치의 영향을 덜 받습니다. 절대값을 취하기 때문에 모델이 underperformance인지, overperformance인지 알 수 없습니다. underperformance: 모델이 실제보다 낮은 값으로 예측 overperformance: 모델이 실제보다 높은 값으로 예측 from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_absolute_error lr = LinearRegression() lr.fit..

DataScience
[ML] 교차 검증(cross validate)

train_test_split을 사용하면 데이터셋을 train 데이터와 test 데이터로 분리할 수 있습니다. 하지만 train 데이터를 이용해 모델을 학습하고 test 데이터로 모델의 적합성 여부를 계속해서 판단하다 보면, 모델은 test데이터에 맞춰지게 됩니다. 그렇기 때문에 test 데이터는 마지막에 한 번만 사용해야 합니다. train 데이터를 다시 train 데이터와 검증용 데이터로 나누고, train 데이터로 학습한 후 검증용 데이터로 모델을 평가합니다. 교차 검증 train 데이터의 일부를 사용해 검증 세트를 만들었기 때문에 train 데이터가 많이 줄어들었습니다. 하지만 train 데이터를 늘리려고 검증 세트를 줄이게 되면 검증 점수가 불안정해집니다. 교차검증을 사용하면 안정적인 검증 점수..

DataScience
[ML] train_test_split을 이용한 데이터 분할

모델은 데이터를 이용해 학습을 합니다. 학습용 데이터만 가지고 모델이 학습한다면, 학습용 데이터에만 너무 과대적합(overfitting)되어 새로운 데이터가 들어왔을 때 정확한 예측이 어려울 수 있습니다. 그렇기 때문에 데이터셋을 먼저 학습용 데이터와 테스트용 데이터로 나누는 작업이 필요합니다. 학습용 데이터로 모델을 학습한 후에, 테스트용 데이터를 사용했을 때의 점수와 비교하여 모델이 잘 학습되었는지 평가합니다. sklearn.model_selection의 train_test_split은 데이터가 입력되면 학습용 데이터와 테스트용 데이터로 나누어집니다. import seaborn as sns from sklearn.model_selection import train_test_split iris = sn..

Python/Syntax
[Pandas] DataFrame 조건부 검색 시 주의사항

DataFrame은 bool값을 이용한 boolean indexing을 사용할 수 있습니다. import pandas as pd df = pd.read_csv('./data.csv') df[df['country'].isin(['Australia', 'New Zealand')] 위와 같이 boolean indexing을 사용하면 원하는 조건의 값을 쉽게 찾을 수 있습니다. 파이썬에서 if문을 사용할 때처럼, | 또는 & 연산자를 사용하여 동시에 여러 개의 조건을 사용할 수도 있습니다. 이 때는 꼭 각 조건들을 '(', ')'을 사용하여 묶어주어야 합니다. df[df['country'].isin(['Australia', 'New Zealand']) & df['points'] >= 95] 괄호를 사용하지 않고..