본문 바로가기
728x90

전체 글171

git , 가상환경 터미널 등 CLI 를 접근하고 사용할 수 있다. 파이썬 가상환경을 만들고 사용할 수 있다. 파이썬 가상환경이 왜 필요한지 설명할 수 있다. 깃에 대한 설명을 할 수 있다. 깃을 사용해 프로젝트 관리를 할 수 있다. 깃헙과 같은 사이트를 통해 깃 레포 관리를 할 수 있다. Anaconda 가상환경 프로그램 -개발 당시에 작동이 되었다면 배포 환경에서도 개발 환경과 비슷하게 만들어 최대한 잘 작동을 할 수 있도록 도와주는 역할 *많은 언어들과 동일하게 파이썬도 패키지, 모듈 등을 저장하고 불러오는 방식이 존재 패키지들이 저장되는 방법 (HOW) 패키지들이 저장되는 장소 (WHERE) - standard library, system packages, site packages 파이썬을 설치하게 될 때 같이 설치.. 2021. 7. 14.
Train / Validation / Test Train / Test - > 답지를 보고 훈련을 하게되면 다른 학습데이터가 들어와도 제대로 맞출 수가 없다, train_test_split 함수는 데이터를 랜덤하게 섞은 후, 인덱스 기반으로 train set과 validation set으로 나누는 함수 - 배열의 형태가 들어갈 수 없음 * training set중 몇개를 따로 빼내서(hold out) test error를 직접적으로 추정하는 방법. hold-out은 데이터셋을 훈련셋과 테스트셋으로 분리 예를들어, 데이터셋의 80%를 훈련셋으로 삼아 모델을 훈련시키고, 나머지 20%를 테스트셋으로 이용해서 성능을 평가 그런데 훈련셋과 테스트셋으로만 나눠서 모델의 성능을 평가하다보면, 테스트셋이 모델의 파라미터 설정에 큰 영향 ==> 모델이 테스트셋에 오.. 2021. 7. 7.
정규화( Normalization, Standardization, Regularization ) Generalization : 통계에서 말하는 일반화를 말한다. 기계학습에서는 일반화 성능을 향상시킨다는 말이 많이 나오는데, Train data에 너무 overfitting 되지 않고, 좀 더 일반적인 모델을 만드는 것을 의미한다 == 학습된 모델이 새로운 데이터에서 얼마나 좋은 실행이 일어나는지의 정도 출처: https://jkook.tistory.com/23 [JinKook] Normalization 값의 범위(scale)를 0~1 사이의 값으로 바꾸는 것 학습 전에 scaling하는 것 머신러닝에서 scale이 큰 feature의 영향이 비대해지는 것을 방지 딥러닝에서 Local Minima에 빠질 위험 감소(학습 속도 향상) ==> normalization 하지 않으면 중요한 특성임에도 다른 특.. 2021. 7. 4.
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.
728x90