728x90 TIL39 11/28 월 머신러닝 불균형 데이터 SMOTE -1 (혼동행렬) Q왜 아래 그림으로 혼동행렬을 이해하는 것을 추천할까요? A : 사이킷런과 기준이 같기 때문입니다. Q : 정확도로 제대로 된 모델의 성능을 측정을 하기 어려운 사례는 어떤게 있을까요? A : 클래스가 불균형한 데이터일 때, 제대로된 평가를 내리기 어렵습니다. EX ) 불균형한 데이터예시 금융 => 은행 대출 사기, 신용카드 사기, 상장폐지종목 여부 제조업 => 양불(양품, 불량품) 여부 헬스케어 => 희귀질병(암 진단여부) IT관련 => 게임 어뷰저, 광고 어뷰저, 그외 어뷰저 대회에서 어뷰저 관련 내용을 찾을 때는 Fraud 등으로 검색하면 여러 사례를 찾을 수 있습니다. 혼동행렬 실제 결과 예측된 결과 거짓 0 참 1 거짓 0 TN 예측 거짓 / 실제 거짓 아닌 것을 올바르게 틀리다고 예측함 FP .. TIL/머신러닝 2022. 11. 29. Tensorflow 101 딥러닝강의 정리해보기 **Tensorflow 101 - 1. 오리엔테이션 - 링크 딥러닝 = 뉴럴넷 = 인공신경망 이모든말은 인간의 신경을 모방한 이론을 가리키는 같거나 비슷한 말로서 딥러닝이라는 용어를 머신러닝을 대표하는 용어로 사용하게 되었습니다 하지만 이런 표현은 엄연히 다른것입니다 체적인 딥러닝 원리를 몰라도 코드만 작성하면 딥러닝으로 문제를 해결할 수 있는 여러 도구들이 등장했어요. 이것이 라이브러리입니다 대표적인 예로 Tensorflow, Pytotch,Coffe,Theano 가있습니다 이러한 라이브러리(Tensorflow, Pytotch,Coffe,Theano)는딥러닝이라는 같은 알고리즘안에서 만들어진 라이브러로리서로 경쟁관계입니다 이러한 딥러닝 알고리즘 (이론)은 DecisionTree ,Rand.. TIL/딥러닝 2022. 11. 27. 데이터 분석가에게 ML기술질문으로 자주 등장하는 질문들 1) Cross Validation은 무엇이고 어떻게 해야하나요? 교차검증은 훌련데이터로 모델이 잘 훈련되었는지를 검증데이터를 사용해 검증하는 방법중 하나로 보통 훈련 데이터로 모델을 훈련한 후, 검정 데이터를 사용해 모델이 어떻게 검증되나를 지켜보며 그에 따라 모델의 하이퍼 파라미터를 조정하고 모델의 성능을 올립니다.이때 사용하는 검정 데이터가 한 세트밖에 없다면 검정 데이터로 직접 모델을 훈련하지 않더라도 검정 데이터에 모델이 과적합 될 수 있습니다. 과적합을 피하면서 파라미터를 튜닝하고 일반인 모델을 만들고 더 신뢰성 있는 모델 평가를 진행하기 위해서 사용됩니다 쉽게 말해 데이터를 여러 번 반복해서 나누고 여러 모델을 학습하여 성능을 평가하는 방법입니다 장점 단점 특정 데이터셋에 대한 과적합 방지 .. TIL/프로젝트 2022. 11. 26. 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. 이전 1 2 3 4 다음 728x90