728x90
반응형

살콤아내 자기계발/파이썬 58

파이썬 머신러닝 완벽가이드 6주차 정리 (경사하강법, 퍼셉트론/아달린)

참고자료) 간단한 분류 알고리즘 훈련 2.1 인공 뉴런: 초기 머신 러닝의 간단한 역사 (48pg) - 맥컬록-피츠 뉴런: 1943년 워런 맥컬록, 월터피츠가 처음으로 AI를 설계하기 위한 뇌의 뉴런 개념을 발표함. 수상돌기에 여러신호가 도착하면 세포체에 합쳐진다. 합쳐진 신호가 특정임계값을 넘으면 출력 신호가 생성되고 이 신호는 축삭돌기를 이용하여 전달된다. - 인공뉴런의 수학적 정의: 이진분류(-1, +1)분류 작업으로서 가중치 벡터 w의 선형조합으로 결정함수(z)가 만들어짐. z=w1x1+w2x2+....+wmxm (이는 벡터와 벡터의 내적과 비슷하다.) - 단위계단함수: Φ(z)= 1 (z>=θ일 때) 그리고 -1 (그외) **단위계단함수는 알고리즘에 따라 변화가능 2.1.2. 퍼셉트론 학습규칙 ..

파이썬 머신러닝 완벽가이드 5주차 정리 (분류 262pg, 캐글 신용카드 사기 검출, 스태킹앙상블)

262pg. 캐글 신용카드 사기검출 아래의 링크에서 creditcard.csv 파일을 다운받고 아나콘다에서 오픈한다. https://www.kaggle.com/mlg-ulb/creditcardfraud?select=creditcard.csv Credit Card Fraud Detection Anonymized credit card transactions labeled as fraudulent or genuine www.kaggle.com 불균형한 레이블 값 분포로 인한 문제점을 해결하기 위해서 적절한 데이터를 확보하는 샘플링 방법이 다음과 같이 있다. 언더샘플링: 많은 데이터 샘플을 적은 데이터 세트 수준으로 감소. (정상 레이블 데이터를 이상 레이블 수준으로 감소) 오버샘플링: 적은 데이터 세트를 증식..

파이썬 머신러닝 완벽가이드 5주차 정리 (244pg. LightGBM)

244pg. LightGBM XGBoost보다 수행속도가 빠르고 메모리 사용량도 적다. 리프중심트리분할(Leaf Wise) 방식 사용. 최대손실값(max delta loss)를 가지는 리프 노드를 지속적으로 분할하면서 트리의 깊이가 깊어지고 비대청직적인 규칙트리가 생성됨. 이는 예측오류 손실을 최소화 할 수 있음. (10,000건 이하 데이터 세트일 경우 과적합 발생이 쉽다는 단점이 있음) 참고) 일반적인 알고리즘은 균형트리분할 Level Wise 방식 사용. 이는 트리의 깊이를 효과적으로 줄이며 오버피팅에 더 강한구조를 가짐. (트리의 균형을 맞추기 위한 시간이 필요하므로 수행속도가 상대적으로 느림) 주요 LightGBM파라미터 - bagging_fraction: 데이터를 샘플링하는 비율 (일부 데티어..

파이썬 머신러닝 완벽가이드 5주차 정리 (분류 214pg~, 보팅분류기, 랜덤포레스트, XGBoost)

214pg. 보팅분류기 (Votting Classifier) - 45줄: LR, KNN라고 분류기 이름을 명명함. voting방법은 soft라고 하는 vo_clf Estimator를 생성함 보팅 분류기의 정확도가 좀 더 높게 나타났음을 알 수 있다. 217pg. 랜덤포레스트 Bagging방식은 같은 알고리즘의 여러개의 분류기(Estimator)가 전체 데이터를 샘플링(일부중첩)+학습 후 보팅하여 최종 결정하는 방식이다. 결정트리 기반의 랜덤포레스트는 빠르고, 다양한 영역에서 높은 예측 성능을 보인다. 참고) Bagging=boostrap aggregating (부스트트래핑 분할방식=일부중첩) - n_estimators: 결정트리개수로 많을수록 시간이 오래걸림 - max_features: 기본값은 sqrt..

파이썬 머신러닝 완벽가이드 4주차 정리 (분류 211pg~, 앙상블학습)

211pg. 앙상블 여러개의 Classifier를 생성하고 그 예측을 결합하여 정확한 최종 예측을 도출하는 기법. 정형데이터 분류에 성능이 좋다. - 앙상블 유형: Voting(하드보팅, 소프트보팅), Bagging(랜덤포레스트 알고리즘), Boosting(그래디언트 부스트, EGBoost, LightGBM 모듈), Stagging(메타모델 재학습) - Voting방식: Data Set를 각각의 분류기가 학습을 한다. 서로 다른 Estimator를 사용하는 경우가 많음. 하드보팅은 다수결 원칙으로, 소프트보팅은 평균적인 확률값이 높은 것을 원칙으로 예측값을 도출한다. - Bagging방식: Data Set를 샘플링해서 각각의 분류기가 학습을 한다. 서로 동일한 Estimator를 사용하는 경우가 많음. ..

파이썬 머신러닝 완벽가이드 4주차 정리 (분류 202pg~)

202pg. UCK HAR Datasets.zip를 다운받고 실습 archive.ics.uci.edu/ml/datasets/Human+Activity+Recognition+Using+Smartphones UCI Machine Learning Repository: Human Activity Recognition Using Smartphones Data Set Human Activity Recognition Using Smartphones Data Set Download: Data Folder, Data Set Description Abstract: Human Activity Recognition database built from the recordings of 30 subjects performing a..

파이썬 머신러닝 완벽가이드 4주차 정리 (분류 183pg~)

183pg. 분류의 개요 - 지도학습은 label값 (명시적 답)이 주어진 상태에서 머신러닝 알고리즘으로 학습해 모델을 생성하고 이 모델을 통해 미지의 label값을 예측하는 것이다. 지도학습의 대표적인 유형에는 분류(Classification)가 있고, Baive Bayes, Logistic Regression, Decision Tree, Support Vector Machine, Nearest Neighbor, Neural Network, Ensemble 등의 머신러닝 알고리즘으로 구현할 수 있다. - 앙상블 방법: 서로다른/같은 머신러닝 알고리즘을 결합한 방법으로 정형데이터의 예측분석영역에서 높은 예{측성능을 가지고 있다. 기본적으로 Decision Tree알고리즘을 사용하며, 앙상블 방법은 Bag..

파이썬 머신러닝 완벽가이드 3주차 정리 (평가 175pg, Diabetes 실습)

Diabetes 파일을 이용해서 다음 실습을 완료하시오 STEP1 1. estimator: logisticRegressor 2. test_train_split: 0.2, 156(random state) 3. 정확도, 정밀도, 재현율을 구하시오 diabetes.csv 파일을 import 한다. y에는 outcome의 결과값이 들어간다. 177pg에는 X, y 데이터를 다른 방법으로 호출했다. data1=data.iloc[:, :] row, column 데이터가 전부 다 담긴다. data2=data.iloc[:, :-1] row는 전부 다 선택, column은 가장 마지막에서 한 줄을 제외한다.>>feature데이터 data3=data.iloc[:, -1] row는 전부 다 선택, column은 가장 마지막..

파이썬 머신러닝 완벽가이드 3주차 정리 (평가 147pg~)

머신러닝은 데이터 가공/변환, 모델학습/예측, 평가로 구성됨. 성능평가지표(Evaluation Metric)은 분류/회귀모델에 따라 달라진다. - 회귀: 실제값과 예측값의 오차 평균값을 성능평가지표로 갖는다. - 분류: 분류는 이진분류/멀티분류로 나뉘며, 정확도(Accuracy), 오차행렬(Confusion Matrix), 정밀도(Precision), 재현율(Recall), F1스코어, ROC AUC의 성능평가지표를 갖는다. 1. 정확도 Accuracy 참고) 정확도와 재현율은 trade-off(상충)관계이다. - 새로만든 MyDummyClassifier 클래스에 BaseEstimator를 상속한다. - fit는 pass를 하기 때문에 아무것도 학습하지 않는다. - predict는 test 데이터의 fe..

파이썬 머신러닝 완벽가이드 2주차 정리 (사이킷런 131pg, 타이타닉 생존자 예측)

131pg. 사이킷런으로 수행하는 타이타닉 생존자 예측 - titanic 파일을 열어 대략적인 데이터 구조/타입을 본다. - Age, Cabin, Embarked 열의 null값을 fillna로 채워넣는다. - titanic_df.isnull( )은 bullean값의 DataFrame을 말한다. - 여기에 .sum( )을 적용하면 각 Column값의 True값의 합을 Series 타입으로 보여준다. - titanic_df.isnull( ).sum( )에 다시 .sum( )을 적용하면 각 series의 합이기 때문에 0이라는 int값 하나가 나온다. -value.coutns( ) 각 Column별로 unique한 값이 몇개가 있는지 count해줌 - 그런데 Cabin 값이 유난히 많다. 선실 타입이 중요하..

728x90
반응형