전체 글 (64) 썸네일형 리스트형 [머신러닝] 3-1 모델 해석 (특성 기준) 0. 모델 해석이란? 이번주는 모델을 완성한 뒤, 클라이언트에게 모델을 설명하는 방법에 대해 배운다. 실무에 사용하도록 모델에 신뢰도를 부여하는 작업이다. 또 모델이 어떤 과정을 통해 예측값을 반환하는 지 설명한다. 해석 내용 모델의 의사결정에 대한 이유 제시 모델이 주요하게 학습한 규칙 및 특성 제시 모델 해석이 왜 중요한가 검증지표만으로 모델을 신뢰할 수 없다 모델 해석을 통해 개선사항을 확인할 수 있다 어떤 경우에는 모델이 왜 이런 결정을 내렸는지 설명해야할 때도 있다 1. Feature Importance 트리 기반 모델에서 특성이 불순도를 감소시키는 정도를 수치로 나타낸 것이다. 이때 불순도를 크게 감소시킬수록 중요한 특성으로 판단한다. 카디널리티가 높은 특성에 feature importance.. [머신러닝] 2-4 Model Tuning 1. 모델 하이퍼파라미터 튜닝 모델 내 하이퍼파라미터를 조정하여 모델의 성능을 끌어올리는 작업이다. A. 직접 튜닝 최적의 하이퍼파라미터를 찾아주는 함수들이 있지만, 튜닝 과정을 전적으로 일임하는 것은 옳지 않다. 엔지니어가 직접 여러 값을 넣어보며 조정하는 과정이 꼭 필요하다. 이를 통해 모델에 대한 통찰을 얻고 효율적으로 시간을 쓸 수 있다. 모델별로 중요한 하이퍼파라미터 트리 기반 - max_depth 부스팅 - max_depth, learning_rate 회귀 - alpah, C B. Grid Search 검증하고자 하는 하이퍼파라미터 범위 내에서 모든 조합에 대해 모델을 학습하고 그 중 가장 좋은 조합을 선택한다. 튜닝할 파라미터 수가 많으면 시간이 오래 걸려 효율적이지 못하다. from skl.. [머신러닝] 2-3 전처리 (Preprocessing) 실무에서는 전처리 시간이 80%를 차지한다고 한다. 그만큼 모델의 성능을 좌우하는 중요 작업으로 꼽힌다. 1. 모델 유형별 전처리 요구사항 A. Regression (Linear, Polimial, Rogistic, etc..) 값 자체가 실제 대수적 연산에 사용 이는 값들의 대소관계, 분포, 크기, 범위가 모델 성능에 직접적 영향을 미친다는 뜻이다. 그러므로 표준화, scaling 등 여러 변환 방법으로 모델의 성능을 높여야 한다. 결측치 해결 결측치가 존재할 시에 연산과 학습이 어렵기 때문이다. 따라서 모든 값을 수치형으로 변환하고 결측치를 해결해야한다. 특성-타겟 간 선형적 관계를 위한 전처리 선형회귀는 선형적 관계를 가정하는 알고리즘이다. 그래서 최대한 선형적 관계가 잘 보이도록 전처리를 해주는 .. [머신러닝] 2-2 Boosting 1. Bagging과 Boosting 앞서 배운 RandomForest 모델에서는 앙상블 기법 중 하나인 Bagging을 이용한다. Bagging은 샘플 데이터를 무작위로 뽑아 각각의 모델이 독립적으로 학습한다. 독립적인 모델들이 내놓은 결과를 토대로 최종 결과를 낸다. 하지만 Boosting은 앞서 학습한 모델의 영향을 받는다. 이전 모델의 오류를 고려하여 다음 모델을 학습시키는 것이다. 그래서 앞서 학습된 모델보다 발전적인 방향을 학습을 할 수 있으나 갈수록 복잡도가 상승하고 과소적합이 해소된다. 1. XGBoost A. 모델 생성 및 학습 from xgboost import XGBClassifier xgb = XGBClassifier( objective = 'binary:logistic', # 이진.. [머신러닝] 2-1 Tree Based Model 오늘의 주제는 tree 기반 모델로 Decision Tree와 Random Forest를 데이터에 적용해본다. 1. Decision Tree 질문을 던져 yes or no로 데이터를 분할하는 알고리즘. 나무가 가지를 뻗어나가는 모양과 비슷해 Tree라는 이름이 붙었다. 질문이나 정답을 담고있는 node와 연결선 edge로 구성된다. 위 그림으로 볼 때 node는 박스, edge는 선으로 생각하면 된다. 회귀와 분류 문제 모두에서 쓰일 수 있다. 분류 문제에서의 결정 트리 - 불순도를 최소화하는 방향으로 데이터 분할. 불순도에는 지니 불순도와 엔트로피가 있다. - 마지막 노드에 있는 타겟값들의 최빈값을 예측값으로 반환 회귀 문제에서의 결정 트리 - MSE를 최소화하는 방향으로 데이터 분할 - 마지막 노드에.. [머신러닝] 1-4 로지스틱 회귀 (Logistic Regression) 0. 분류 문제 분류 문제는 데이터가 속할 특정 범주(또는 특정 범주에 속할 확률)을 예측한다. 이진 분류 : 타겟값이 두가지 범주인 경우 (Yes or No) 다중 분류 : 타겟값이 세가지 이상의 범주인 경우 (Class1 or Class2 or Class3) 1. 로지스틱 회귀 로지스틱 회귀는 분류 문제에 쓰이는 선형회귀 알고리즘. 선형회귀에 시그모이드 함수를 씌워 확률을 구한다. 이진 분류 문제에 주로 쓰이는 방법으로서 0과 1사이의 값을 출력한다. 임계값(threshold)을 0.5로 지정해둔 경우, 출력값이 0.5 이상인 경우에 class 1을 반환하고, 0.5 미만인 경우 class 0을 반환한다. *만약 타겟값이 yes, no 등의 문자형일 경우 0과 1의 수치형으로 바꿔주어야 한다. *아래.. Section1 Intoduction to Data Sceince를 마치며! 1. What I Learned EDA, Data Wrangling 등 데이터를 다루고 정제하는 일부터 통계학, 수학까지 배웠다. 이 과정에서 시각화 등 데이터 분석에 필요한 방법들을 배울 수 있어 좋았다. 완전 첫날은 부트캠프 내 시스템 다루는 법을 몰라 헤맸고, 생각보다 수업 난이도가 높아서 정신없고 울상으로 보냈던 기억이 난다 ㅋㅋ 삼일째부터는 온전히 내게 투자할 수 있는 시간을 가지게 되어서 행복감을 느꼈고 재밌었다. section 프로젝트도 짧은 시간 안에 많은 걸 해보느라 바쁘긴 했지만 즐기며 완성했다. 이 마음을 부트캠프 끝날 때까지 잘 가져가야지. 2. What to Study Additionally Data Science를 위한 기초 수학 수업 듣기 Udemy 통계학 기초 수업 끝내기 [머신러닝] 1-3 정규화 회귀모델 (Regularized Regression) 0. 과적합을 예방하기 위한 세가지 방법 보통 과소적합보다는 과적합의 문제가 많이 발생한다. ① 더 많은 데이터 학습시키기. 데이터 크기가 클수록 더 복잡한 모델을 쓸 수 있기 때문이다. ② 모든 특성을 사용하지 않는다. 중요한 특성 위주로 단순화 ③ 정규화 모델. 모델에 규제항을 더해 기존 모델보다 단순화 1. 정규화 회귀모델이란? 선형모델에 규제항을 더해 과적합을 방지하는 방법. Regularized가 번역상 정규화가 되었지만 사실 규제를 한다는 뜻. 규제항은 회귀계수를 감소시켜 예측에 미치는 영향력을 축소시킨다. 그래서 모델이 학습데이터에 덜 적합하게 만들고 일반화 성능을 높인다. 편향을 더하고 분산을 줄이는 방식이다. 규제항의 종류에 따라 ridge, lasso, elasticNet으로 구분된다... 이전 1 ··· 3 4 5 6 7 8 다음