본문 바로가기

전체 글48

[S2-Week3]Choose your ML problems 1. Data Leakage(정보 누수) : 학습 데이터에 검증 데이터나 테스트 데이터가 들어가 모델을 제대로 예측할 수 없는 것 Over fitting(과적합) : 학습 데이터에 너무 과도하게 학습되어, 검증 데이터나 테스트 데이터를 제대로 예측할 수 없는 것 2. Data Leakage를 확인 하는 법 : 너무 과한 정확도가 나오는지 확인(특히, 시계열 데이터에서 주의) 3. Data Leakage를 최소화 하는 순서 : 1. 학습 성능 확인을 위한 검증 데이터를 따로 빼둔다. 2. 표준화 과정을 진행한다. (표준화를 하고 cv 하면 이미 data leakage가 됨) 3. 모델을 학습시킨다 4. 검증한다 예를 들어) 1. train_test_split으로 train, val, test 세트를 나눈다.. 2022. 5. 13.
[S2-Week2]Model Selection Warm up K-fold Session Hold-out 검정 : train_test_split으로 나누는 것 교차검증 데이터가 부족할 때 과적합을 막을 수 있다. 한 번 사용해보는 게 좋음. 하이퍼파라미터를 최적화 해서 최적화 : 모델의 손실값을 최소한으로 줄이도록 하이퍼파라미터를 결정하는 것. 일반화 : 새로운 데이터가 와도 어느정도의 성능을 내는 것. Leave-p-Out Cross-Validation(LpOCV) Leave-One-Out CV(LOOCV) gridserch / randomizedsearch searchCV / CV Quiz cross_val_score from sklearn.datasets import load_iris from sklearn.model_selection impor.. 2022. 5. 10.
[인프런]파이썬 머신러닝 완벽 가이드 section3 정확도(accuracy) = 예측 결과가 맞은 데이터 건수 / 전체 예측 데이터 건수 ( TP + TN / ( TP + TN + FP + FN ) ) 불균형한 레이블 값 분포에서는 왜곡. ex) 레이블 값이 0이 90%, 1이 10% 인 경우, 그냥 예측값을 무조건 0으로 하면 정확도 90% 나옴. print('Dummy Classifier의 정확도는: {0:.4f}'.format(accuracy_score(y_test y_pred))) 정밀도(precision) = Positive라고 한 것 중에 진짜 Positive인 것 ( TP / ( FP + TP ) ) Negative 인데 Positive라고 하면 큰일 나는 것. 예시 이유 스팸 메일 스팸 아닌데 스팸이라고 분류하면 큰일 주가 등락 여부 안 오.. 2022. 5. 10.
[인프런]파이썬 머신러닝 완벽 가이드 section2 사이킷런 내장 예제 datasets.load_boston() 회귀 datasets.load_breast_cancer() 분류 datasets.load_diabetes() 회규 datasets.load_digits() 분류 datasets.load_iris() 분류 데이터프레임에서 feature랑 target 값 나눠주기 + train_test_split 해주기 ftr_df = iris_df.iloc[:, :-1] tgt_df = iris_df.iloc[:, -1] X_train, X_test, y_train, y_test = train_test_split(ftr_df, tgt_df, test_size=0.3) stratified K-fold : 불균형한 분포도를 가진 레이블 데이터 집합을 위한 폴드 방식.. 2022. 5. 9.
[S2-Week2]Random Forests Warm up 결정 트리는 과적합이 되기 쉬워서 랜덤 포레스트와 같은 앙상블 기법을 사용함. 예를 들어, 30개의 feature가 있다면, 그 중 5개만 feature로 사용하는 결정 트리를 하나 만들고 또 5개씩 계속 만들고 예측값 중 가장 많이 나온 값을 최종 예측값으로 정함. 분류의 경우는 최빈값, 회귀일 경우는 평균값 n_estimators: 랜덤 포레스트 안의 결정 트리 갯수 / max_features: 무작위로 선택할 Feature의 개수 앙상블기법에는 투표, 배깅, 부스팅이 있고, 그 중 랜덤포레스트는 배깅을 사용. Bagging : 하나의 데이터 세트를 가지고 여러 개의 훈련 세트를 만듬. 이 훈련 세트는 부트스트랩 방법에 의해 샘플이 추출되기 때문에 복원 추출이 허용된다. 랜덤 포레스트 .. 2022. 5. 9.
[S2-Week2]Decision Trees Warm up 탐욕 알고리즘(Greedy Algorithm) : 그 순간 순간에 최적의 해답을 선택하는 것. 단, 최종적으로 최적이라고는 말 못함. 근시안적임. 빠름. 탐욕 알고리즘은 항상 최적의 결과를 도출하는 것은 아니지만, 어느 정도 최적에 근사한 값을 빠르게 도출할 수 있는 장점이 있다. 이 장점으로 인해 탐욕 알고리즘은 근사 알고리즘으로 사용할 수 있다. 탐욕 알고리즘을 적용해도 언제나 최적해를 구할 수 있는 문제(매트로이드)가 있고, 이러한 문제에 탐욕 알고리즘을 사용해서 빠른 계산 속도로 답을 구할 수 있다. 그래서 실용적으로 사용할 수 있다. 참고) https://hanamon.kr/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%ED%83%90%EC%9A%95%EC%9.. 2022. 5. 6.
[인프런]파이썬 머신러닝 완벽 가이드 section1 변경을 원하는 타입을 astype()으로. 주로 대용량 데이터 다룰 때, 절약을위해 형변환을 고려해야 함. array.astype() ndarray-arange, zeros, ones np.arange(10) np.zeros((3,2), dtype='int32') # shape은 아는데, 값을 모를 때 빈 상자 만들기 np.ones((3,2), default='float64') reshape array.reshape(2,5) array.reshape(-1,5) # -1은 가변적으로 알아서 처리해라라는 뜻 array1d = [0,1,2,3,4] array1d.reshape(-1,1) # [[0],[1],[2],[3],[4]] array2d = [[0],[1],[2],[3],[4]] array2d.resha.. 2022. 5. 5.
[AI 부트캠프]5주차 총 복습 AIB / SECTION 2 / SPRINT 1 / NOTE 1 학습목표 선형회귀모델을 이해합니다. 데이터들을 가장 잘 설명할 수 있는 선을 찾는 모델. 실제 데이터와 선과의 오차를 가장 줄일 수 있도록 설정해야함. -> 그를 위한게 최소제곱법(OLS) 이 오차를 제일 작게 하는 기울기(coef)와 절편(intercept)을 찾아갈건데, 하다보면 어느정도 최적의 값으로 수렴(converge)한다. 지도학습(Supervised Learning)을 이해합니다. 정답이 있는 데이터를 활용해 답이 있는 문제를 푸는 것. 이 안에, '분류'와 '회귀'라는 2가지 유형이 있다. 참고로, 비지도학습은 답이 없는 문제를 푸는 것. 대표적으로 군집화(clustering) 회귀모델에 기준모델을 설정할 수 있습니다. 회귀문.. 2022. 5. 2.