728x90 TIL/머신러닝17 11/28 월 머신러닝 "불균형 데이터 SMOTE" -2 SMOTE 실제로 데이터를 탐색해보면 불균형한 데이터가 매우 많습니다 EX) 불량품과 정상제품 / 1년중 눈이 오는 날과 오지않는날 / 10년간 지진이 발생한경우/ 암검진 대상중 암에 걸린환자와 아닌환자 이렇듯 균형있게 분포되있는 분류문제가 더 드뭅니다 이러한 불균형한 데이터를 해결하는 방법으로는Resampling 로서 under-sampling과 over-sampling이 있습니다 주요 골자는 두값의 비율을 비슷 하게 맞춰 줍니다 under-sampling over-sampling 더 값이 많은 쪽에서 일부만 샘플링하여 비율을 맞춰주는 방법 더 값이 적은 쪽에서 값을 늘려 비율을 맞춰준 방법 구현이 쉽지만 전체 데이터가 줄어 머신러닝 모델 성능이 떨어질 우려가 있습니다 어떻게 없던 값을 만들어야 하는지.. TIL/머신러닝 2022. 11. 30. 11/28 월 머신러닝 불균형 데이터 SMOTE -1 (혼동행렬) Q왜 아래 그림으로 혼동행렬을 이해하는 것을 추천할까요? A : 사이킷런과 기준이 같기 때문입니다. Q : 정확도로 제대로 된 모델의 성능을 측정을 하기 어려운 사례는 어떤게 있을까요? A : 클래스가 불균형한 데이터일 때, 제대로된 평가를 내리기 어렵습니다. EX ) 불균형한 데이터예시 금융 => 은행 대출 사기, 신용카드 사기, 상장폐지종목 여부 제조업 => 양불(양품, 불량품) 여부 헬스케어 => 희귀질병(암 진단여부) IT관련 => 게임 어뷰저, 광고 어뷰저, 그외 어뷰저 대회에서 어뷰저 관련 내용을 찾을 때는 Fraud 등으로 검색하면 여러 사례를 찾을 수 있습니다. 혼동행렬 실제 결과 예측된 결과 거짓 0 참 1 거짓 0 TN 예측 거짓 / 실제 거짓 아닌 것을 올바르게 틀리다고 예측함 FP .. TIL/머신러닝 2022. 11. 29. 11.23일 수업 TIL Gradient Boosting Machine (XGBoost, lightGBM,CatBoost ) https://www.kaggle.com/c/mercedes-benz-greener-manufacturing Mercedes-Benz Greener Manufacturing | Kaggle www.kaggle.com train = pd.read_csv(f'{base_path}/train.csv.zip', index_col="ID") test = pd.read_csv(f'{base_path}/test.csv.zip', index_col="ID") submission = pd.read_csv(f'{base_path}/sample_submission.csv.zip', index_col="ID") 벤츠 데이터셋을 불러옵니다 ! 2.타입전환 cat_col = train.select_dtypes(include="o.. TIL/머신러닝 2022. 11. 26. 11.24일 얕은복사,깊은복사 / 혼동행렬 얕은복사(shallow copy) 1메로리에 있던 데이터를 2로 얕은 복사를 하면 2에 복사된것은 1의 a를 가져온게아니라 a로 가는 b라는 바로가기를 만들어준것 b = a b = a[:] b = copy.copy(a) 코드 예시 >>> import copy a를 지정한후 >>> a = [[1,2],[3,4]] b에 a를 카피 >>> b = copy.copy(a) 이떄 a에 5를 넣어주면 >>> a[1].append(5) >>> a [[1, 2], [3, 4, 5]] b또한 함께 바뀌게된다 (a로 가는 바로가기이므로 ) >>> b [[1, 2], [3, 4, 5]] 깊은 복사 copy.deepcopy 깊은 복사는 1메모리에 넣은 모나와라는 데이터를 2메모리에 깊은복사할시 모나와라는 데이터 자체가 새로 복.. TIL/머신러닝 2022. 11. 24. 11.22 오후 Learning rate ,bgd, SGD,모멘텀 4-3. 경사하강법 심화 Learning rate low learning rate: 손실(loss) 감소가 선형의 형태를 보이면서 천천히 학습됨 high learning rate: 손실 감소가 지수적인(exponential) 형태를 보이며, 구간에 따라 빠른 학습 혹은 정체가 보임 very high learning rate: 매우 높은 학습률은 경우에 따라, 손실을 오히려 증가시키는 상황을 발생 good learning rate: 적절한 학습 곡선의 형태로, Learning rate를 조절하면서 찾아내야 함 => 오전에 했던 내용 참고 경사 하강법에서는 학습시 스텝의 크기 (step size)가 중요하다. 학습률이 너무 작을 경우 학습률이 너무 클 경우 학습 시간이 오래걸림 (알고리즘이 수렴하기 위해 반.. TIL/머신러닝 2022. 11. 22. 11.22 오전 머신러닝 최적화 ,경사하강법 4-1. 최적화와 모형 학습 모형학습 머신러닝 모형이라고 하는 것은 Loss 함수를 정의하고 그 Loss함수를 최적화하게끔 하는 것이다 결국에 이 Loss오차를 measure하고 어떻게 이차이를 정의하는가 실제하고 모형이 출력해 주는 출력 결과물 2개의 차이를 최소화하는 최적의 모형을 찾아주는 과정 환경에서 축적된 경험을 가지고 데이터화해서 그 데이터를 가지고 함수를 만든다. Loss를 최소화해 주는 가장 좋은 어떠한 모형, 패턴을 찾는 것 머신러닝에서 러닝은 최적화다 큰틀에서 보자면 이와같은 최적화를 찾아가는 일련의 과정이다! 이러한 복잡할떄는 어떻게 최적화 할수있을까? 이 다음에 배울 최적화와 경사하강법은 복잡하고 기존의 방법으로 해결하기 어려웠던 그런 최적화 문제를 어떤 방식으로 해결하는가에 대해서.. TIL/머신러닝 2022. 11. 22. 11.21 오후 머신러닝 분류 모델링, KNN,선형회귀 3-1. 머신러닝 분류 모델링 1. 머신러닝 사람이 일련의 규칙을 입력하여 데이터(input)를 넣어 주었을떄 데이터를 학습하여 유의미한 패턴을 찾아내는 작업(output) 2. 기계학습 유형 3.supervise lerning 학습데이터로부터 f를 찾는 방법론 4. 3을 위한 데이터셋 독립변수 X 종속변수 Y = f(X) 범주형이면 classification 연속형이면 regression training데이터와 testing데이터로 분리 이떄 training만 잘된상태가 아닌 training에서 없는 데이터를 예측하는것이 중요하기떄문에 test데이터셋의 성능도 봐야합니다 또한 training 과정에서 함수의 특성을 결정지어주는, 기저가 되는 기저함수. 영어로는 basis function의 특징들, 복잡.. TIL/머신러닝 2022. 11. 21. 11.21 오전 인공지능,머신러닝, 딥러닝 /머신러닝 프로세스 개요 1. 인공지능과 머신러닝 개요 2.머신러닝 학습개념 3. 머신러닝 프로세스 및 활용 1.인공지능과 머신러닝 개요 1-1 인공지능과 머신러닝개요 ,인공지능 머신러닝 딥러닝비교 머신러닝: 인공지능을 구현하는 1가지 방법이다 => 결국에 머신러닝이라고 하는 건 유용한 함수를 학습하는것. [데이터 => 머신러닝(컴터)=> 함수 => 해결(컴터) => 결과물도출] 전통적 ai 일련의 로직들, 일련의 절차들을 직접 디자인을 해서 모두 다 사람의 지식을 그대로 모사하게끔 만들었고,그 다음에 컴퓨터에게 입력을 시켜서 최종적인 output을 내게끔 그렇게 디자인이 되어 있다. 최근 ai function의 기본적인 형태를 컴퓨터에게 알려주면 트레이닝 과정을 통해서 최종적인 optimal function, 굉장히 좋은 유용.. TIL/머신러닝 2022. 11. 21. 11.16 머신러닝 벤츠 그래디언트 부스팅 (선형회귀, 결정 트리 모델 ,엑스트라 트리 모델 (ExtraTree) , Boosting , GBM,LightGBM,XGBoost) 선형회귀 (Linear Regression) 정의 통계학에서, 종속 변수 y와 한 개 이상의 독립 변수 X와의 선형 상관 관계를 모델링하는 회귀분석 기법 선형 회귀는 선형 예측 함수를 사용해 회귀식을 모델링하며, 알려지지 않은 파라미터는 데이터로부터 추정한다 주요 파라미터 fit_intercept 이 모델에 대한 절편을 계산할지 여부입니다. False로 설정하면 계산에 절편이 사용되지 않습니다(즉, 데이터가 중앙에 위치할 것으로 예상됨). n_jobs 계산에 사용할 스레드 수입니다. 선형회귀 특징 다른 모델들에 비해 간단한 작동 원리를 가지고 있다. 학습 속도가 매우 빠르다. 조정해줄 파라미터가 적다. 이상치에 민감하다. 데이터가 수치형 변수로만 이루어져 있을 경우, 데이터의 경향성이 뚜렷할 경우 사용하.. TIL/머신러닝 2022. 11. 17. 11.15 머신러닝 주택가격, 벤츠 append Kaggle 사이트: House Prices 복습 내용 skew 왜도 첨도 Skewness (왜도) 왜곡 정도를 말한다. 데이터 분포의 대칭성이 얼마나 결핍되었는지를 측정한다. 완전히 대칭인 분포는 skewness가 0이다. Positive Skewness는 오른쪽 꼬리가 왼쪽보다 더 길 때를 의미하고 평균(Mean)과 중위수(Median)가 최빈값(Mode)보다 크는 것을 의미합니다. Positive Skew : Mode – Median – Mean 순으로 존재 / 긴꼬리가 오른쪽 Negative Skewness 왼쪽 꼬리가 오른쪽보다 더 길 때를 의미하고 평균(Mean)과 중위수(Median)가 최빈값(Mode).. TIL/머신러닝 2022. 11. 16. 11.14일 주택가격 피처엔지니어링 0702 희소값 범주가 적은 값을 피처로 만들어 줄떄 문제점 1. 오버피팅이 발생할수 있다 2. one-hot-encoding을 사용할 경우 피쳐가 너무 많이 생겨 불필요하게 자원을 많이 소모할 수 있다. 너무 희소한 값이라면 one-hot-encoding 하기전 전처리 방법 1. 기타로 묶어준다 2.아예 결측치로 처리하고 pd.get_dummies 혹은 OneHotEncoder를 사용했을 때 인코딩 하지 않습니다 표준정규분포화 만드는 순서 로그변환 -> 스케일링 왜 데이터를 정규분포 형태로 만들어주면 머신러닝이나 딥러닝에서 더 나은 성능을 낼까요? 피처의 범위가 다르면 피처간 비교가 어려우며 경사하강법(Gradient Descent)이나 KNN, Clustering 등의 거리 기반 알고리즘에서는 머신러닝이 제대.. TIL/머신러닝 2022. 11. 16. 11/10 머신러닝 주택가격 피처엔지니어링 변수 스케일링 Feature의 범위를 조정하여 정규화하는 것을 의미합니다 Feature의 분산과 표준편차를 조정하여 정규분포 형태를 띄게 하는 것이 목표입니다 변수 스케일링이 중요한이유 Feature의 범위가 다르면,Feature끼리 비교하기 어려우며 일부 머신러닝 모델에서는 제대로 작동하지 않습니다. FeatureScaling이 잘 되어있다면 서로 다른 변수가 있더라도 비교하기 편리합니다 비교가 편리하기에 FeatureScaling 없이 작동하는 알고리즘에서 더 빨리 작동합니다 (트리기반 모델은 피처 스케일링이 필요 X - 데이터의 절대적 크기보단 상대적인 크기에 영향 받기에 ) 또한 머신러닝 성능이 상승합니다 일부 FeatureScaling은 이상치에 대해 강점이 있습니다 (RobustScaler) .. TIL/머신러닝 2022. 11. 10. 이전 1 2 다음 728x90