본문 바로가기

전체 글

(148)
[Week5] 05. 회귀(2) 05. 다항 회귀와 과(대)적합/과소적합 이해 다항 회귀 이해 이전 회귀는 독립변수(feature)와 종속변수(target)의 관계가 일차 방정식으로 표현된 회귀였다. 다항(Polynomial) 회귀란 독립 변수의 단항식이 아닌 2,3차 방정식과 같은 다항식으로 표현되는 것을 말한다. 여기서 다항 회귀는 선형 회귀이다. 사이킷런은 다항 회귀를 위한 클래스를 제공하지 않으므로, 비선형 함수를 선형 모델에 적용시키는 방법을 사용해 구현한다. 이를 위해 사이킷런은 PolynomialFeatures 클래스를 통해 피처를 다항식 피처로 변환한다. degree 파라미터를 통해 입력받은 단항식 피처를 degree에 해당하는 다항식 피처로 변환한다. from sklearn.preprocessing import Poly..
[Week5] 05. 회귀(1) 01. 회귀 소개 회귀(Regression)는 여러 개의 독립변수와 한 개의 종속 변수 간의 상관관계를 모델링하는 기법. Y = W1X1 + W2X2 + ... + WnXn 이라는 선형 회귀식에서, Y는 종속변수, X는 독립변수, W는 독립변수의 값에 영향을 미치는 회귀 계수(Regresstion coefficients)이다. 머신러닝 관점에서 독립변수는 피처에 해당되며 종속변수는 결정 값이다. 즉, 머신러닝 회귀 예측의 핵심은 주어진 피처와 결정 값 데이터 기반에서 학습을 통해 최적의 회귀 계수(W)를 찾아내는 것 분류 회귀 계수의 선형 여부 : 선형 회귀, 비선형 회귀 독립 변수의 개수 : 단일 회귀, 다중 회귀 이전에 배운 분류는 예측값이 카테고리와 같은 이산형 클래스 값이고, 회귀는 연속형 숫자 ..
[Docker] Docker에서 Mysql 한글 설정하기 멋사 실습 중 Docker로 임시 배포중 DB에 한글이 저장이 안돼서 오류가 발생했다. AWS에 배포할때는 RDS 설정을 직접 수정하기 때문에 상관없지만...다덜 꼭 확인하고 싶어하고 알아두면 좋으니까 근데 내가 바꿔도 오류가 나서 시간 많이 뺏겼당 ㅎㅅㅎ Mysql에 접속해서 DB 설정을 바꿔준다. 이전에 세션 준비할때는 간단한 프로젝트여서 ALTER TABLE (테이블명) convert to charset utf8; 를 이용해서 테이블 한두개만 한글로 설정을 바꿔주었다. 하지만 다른 사람들은 큰 프로젝트여서...테이블을 하나하나 바꾸는 건 거의 불가능하다. 일단 임시로 테이블 하나를 바꿔주었는데 연관된 다른 테이블에서 또 오류가 나고...(오류 난 테이블은 Django에서 알려줘서 확인이 가능하다.)..
[Week4] 04. 분류 - 캐글 실습 09. 캐글 산탄데르 고객 만족 예측 데이터 전처리 캐글 산탄데르 고객 만족 데이터 세트를 이용해 고객 만족 여부를 XGBoost와 LightGBM을 활용해 예측한다. 클래스 레이블 명은 RARGET이며, 이 값이 1이면 불만을 가진 고객, 0이면 만족한 고객이다. 이러한 데이터의 대부분은 만족이르모, 정확도 수치보다는 ROC-AUC로 성능을 평가하는 것이 좋다. cust_df = pd.read_csv(r"C:\Users\jain5\Desktop\Euron\Data_Handling\train.csv", encoding='latin-1') print('dataset shape:', cust_df.shape) cust_df.head(3) # 클래스 레이블 명 TARGET, 1이면 불만족, 0이면 만족한 고객..
[Sklearn] 분류 알고리즘 정리 결정 트리 : 데이터 균일도에 따른 규칙 기반의 결정트리, 매우 단순한 구조 나이브 베이즈 : 베이즈 통계와 생성 모델에 기반, 조건부 확률 로지스틱 회귀 : 독립 변수와 종속 변수의 선형 관계성, 일반적이고 효과적인 분류 서포트 벡터 머신 : 개별 클래스 간의 최대 분류 마진 찾기, 명확한 분류와 고차원 공간 최소 근접 알고리즘 : 근접 거리 기준, 데이터 간의 유사한 특징 기반 분류 신경망 : 심층 연결 기반, 딥러닝 앙상블 : 서로 다른(or 같은) ML 알고리즘 결합, 더 나은 예측 결과를 도출하고자 할 때 결정트리(Decision Tree) 데이터에 있는 규칙을 학습을 통해 찾아내 트리 기반의 분류 규칙을 만든다. 최종적으로 만들어진 리프 노드가 클래스 값을 가지며, 예측할 데이터는..
[Sklearn] 알고리즘 학습/예측 기본 데이터 전처리 fit & predict 평가(정확도) 최적 하리퍼 파라미터 찾기 1. 데이터 전처리 info(), head() 등으로 데이터의 타입/종류 등을 확인한다. titanic_df = pd.read_csv(r"C:\Users\jain5\Data_Handling\titanic_train.csv") titanic_df.head(3) print('\n ### train 데이터 정보 ### \n') print(titanic_df.info()) drop, 스키일링, 레이블 인코딩 등을 실시해 데이터를 가공한다. drop : 필요없는 컬럼 제거, 이때 특정 열 제거 및 적용을 위해 axis=1, inplace=True를 추가한다. 수치형 데이터 : 데이터 분석 및 오버/언더플로우 방지를 위해 ..
[Week3] 04. 분류(2) 중간에 모듈 설치하면서 오류가 났다.anaconda가 원래 오류가 많이 난다고 한다....그럴 때는 pip로 주피터 노트북에 직접 설치하기.오류찾기 힘들어서 중간에 colab으로 해볼까...했는데 운영진의 도움으로 해결했다.05. GBM(Gradient Boosting Machine) 부스팅 알고리즘은 여러 약한 학습기를 순차적으로 학습-예측하면서 잘못 예측한 데이터에 가중치 부여를 통해 오류를 개선해 나가면서 학습하는 방식이다.대표적으로 에이다 부스트(AdaBoost)와 그래디언트 부스트(Gradient Boost)가 있다.두 방법 모두 오류 데이터에 가중치를 부여하며 업데이트 하지만, GBM은 경사 하강법(Gradient Descent)을 이용한다.실제 결괏값=y, 피처 = x, 피처에 기반한 예측 ..
[Week2] 04. 분류(1) 01. 분류(Classfication)의 개요 지도학습의 대표적인 유형인 분류(Classification)을 배운다. 분류는 기존 데이터가 어떤 레이블에 속하는지 패턴을 알고리즘으로 인지한 뒤에 새롭게 관측된 데이터에 대한 레이블을 판별하는 것이다. 분류 구현 ML 알고리즘 나이브 베이즈 : 베이즈 통계와 생성 모델 기반 로지스틱 회귀 : 독립변수와 선형 관계성에 기반 결정 트리 : 데이터 균일도에 따른 규칙 기반 서포트 벡터 머신 : 개별 클래스 간의 최대 분류 마진을 효과적으로 찾아주는 서포트 벡터 머신 최소 근접 알고리즘 : 근접 거리 기준 신경망 : 심층 연결 기반 앙상블 : 서로 다른(또는 같은) 머신러닝 알고리즘을 결합 분류에서 가장 각광받는 방법 중 하나인 앙상블 방법(Ensemble Met..