본문 바로가기
728x90

기계학습(ML)13

왜도(skewness)와 첨도(Kurtosis) 왜도는 데이터가 한쪽으로 치우친 정도 첨도는 분포가 얼마나 뾰족한지를 나타내는 정도 2023. 5. 30.
n234 Interpreting ML Model( X-AI ) 부분의존도그림(Partial dependence plot, PDP)을 시각화하고 해석할 수 있습니다. 개별 예측 사례를 Shap value plots을 사용해 설명할 수 있습니다. black box model이란? * X-AI - 모델이 어떻게 이런 예측을 했는지를 확인하기 위한 ( 예측모델 설명 ) *Partial Dependence Plots( PDP ) - ICE곡선들의 평균(= ICE 곡선은 하나의 관측치에 대해 관심 특성을 변화 시킴에 따른 타겟값 변화 곡선 ) 복잡한 모델 -> 이해하기 어렵지만 성능이 좋다. ( 특성중요도가 긍정인지 부정인지 파악 어려움 ) ==> so, PDP사용 = feature 가 target의 어떻게 영향을 미치는지 파악 가능 단순한 모델 -> 이해하기 쉽지만 성능이 .. 2021. 6. 26.
n233 Feature Importances/ bagging, boosting 특성 중요도 계산 방법들(permutation importances, Feature importance, ...)을 이해하고 사용하여 모델을 해석하고 특성 선택시 활용할 수 있다. gradient boosting 을 이해하고 xgboost를 사용하여 모델을 만들 수 있다. *특성 중요도( Feature Importances ) 보통 가지에서 몇번 등장하는지, 혹은 불순도를 얼마나 낮추는 지에 대한 지표 기본 특성 중요도는 빠르지만 특성 종류에 따라 부정확한 결과가 나올 수 있어 주의가 필요합니다. = 트리 모델에서 feature_importances_를 사용하면 cardinality가 높은 특성은 분기에 이용될 확률이 높아 중요도가 높게 나오는데, 따라서 모델이 과적합될 위험 and 문제점은 (-)영향을.. 2021. 6. 26.
n232 Data Wrangling(랭글링) / merge / groupby prior['product_id'].mode() = 최빈값으로 가장 많이 나온 값이 나옴 prior['product_id'].value_counts() In [24]: df3 = pd.DataFrame({"X": ["A", "B", "A", "B"], "Y": [1, 4, 3, 2]}) In [25]: df3.groupby(["X"]).get_group("A") Out[25]: X Y 0 A 1 2 A 3 In [26]: df3.groupby(["X"]).get_group("B") Out[26]: X Y 1 B 4 3 B 2 2021. 6. 26.
n231 Choose your ML problems 예측모델을 위한 타겟을 올바르게 선택하고 그 분포를 확인할 수 있다. 테스트/학습 데이터 사이 or 타겟과 특성들간 일어나는 정보의 누출(leakage)을 피할 수 있다. 상황에 맞는 검증 지표(metrics)를 사용할 수 있다. Data science Workflow *데이터 사이언티스트 실무 프로세스 비즈니스 문제 실무자들과 대화를 통해 문제를 발견 데이터 문제 문제와 관련된 데이터를 발견 데이터 문제 해결 데이터 처리, 시각화 머신러닝/통계 비즈니스 문제 해결 데이터 문제 해결을 통해 실무자들과 함께 해결 * Project process( 먼저 데이터 수집 Data Collection ) == * 해결하고자 하는문제는 무엇인가? * 답을 얻기 위해 필용한 data는? * data와 결과는 어떤 상관.. 2021. 6. 26.
n224 Resampling(Cross Validation / K- hold out / BootStrap) 모델선택을 위한 교차검증 방법을 이해하고 활용할 수 있다. 하이퍼파라미터를 최적화하여 모델의 성능을 향상시킬 수 있다. 왜 train validation test로 나누나? * 모델 선택 ( Model Selection ) 우리 문제를 풀기위해 어떤 학습 모델을 사용해야 할 것인지? 어떤 하이퍼파라미터를 사용할 것인지? ==> 데이터 크기에 대한 문제, 모델 선택에 대한 문제를 해결하기 위해 사용 하는 방법 중 한가지 Cross validation (= 시계열 데이터는 안되) # 데이터셋 분리 from sklearn.model_selection import train_test_split X_train_val, X_test, y_train_val, y_test = train_test_split( X, y,.. 2021. 6. 20.
n223 Evaluation Metrics for Classification 분류모델을 할 때에는Confusion matrix 를 만들고 해석할 수 있습니다. (=해당 matrix로 설명해야되) 정밀도, 재현율 을 이해하고 사용할 수 있습니다. ROC curve, AUC 점수 를 이해하고 사용할 수 있습니다. * True / False ==> 예측이 정확했는지 (판단을 올바르게 했다) * Positive / Negative ==> 모델을 통한 예측값 (판단자가 그렇다 판별) 병원에서 초기 암진단을 하는 경우? 넷플릭스에서 영화추천을 해주는 경우? 재현율이 중요 지표인 경우는 암 판단 모델이나 금융 사기 적발 모델과 같이 실제 Positive 양성 데이터를 Negative로 잘못 판단하게 되면 업무상 큰 영향이 발생하는 경우이다. 따라서 보통 재현율이 정밀도보다 상대적으로 중요한 .. 2021. 6. 19.
n222 RandomForest/ OrdinalEncoder 랜덤포레스트 모델을 이해하고 문제에 적용할 수 있습니다. 순서형인코딩(Ordinal encoding) 과 원핫인코딩을 구분하여 사용할 수 있습니다. 범주형 변수의 인코딩 방법이 트리모델과 선형회귀 모델에 주는 영향 이해합니다. * decision Trees / RandomForest 차이점 결정트리모델은 한 개의 트리만 사용하기 때문에 한 노드에서 생긴 에러가 하부 노드에서도 계속 영향을 주고 트리의 깊이에 따라 과적합되는 경향 ==> 앙상블모델인 랜덤포레스트를 사용하면 됨 (= 과적합을 막아주고 복원추출과정을 시행하여 서로다른 학습시행 == 최종결과(다수결 or 평균)에 영향 X ) 랜덤포레스트에서 학습되는 트리들은 배깅을 통해 만들어집니다.(bootstrap = true) 이때 각 기본트리에 사용되는.. 2021. 6. 19.
728x90