머신러닝 커맨드 정리
·
KT AIVLE School/머신러닝
🩶 기본- 필요한 설치# 한글 표시를 위한 라이브러리 설치!pip install koreanize_matplotlib -q# xgboost 설치# !pip install xgboost# lightgbm 설치# !pip install lightgbm - 기본 라이브러리import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings(action='ignore')%config InlineBackend.figure_format='retina' - 전체 사용 라이브러리# 데이터 분리 from sklearn.model_selection import t..
Random Forest 및 앙상블
·
KT AIVLE School/머신러닝
보팅 (Voting)하드 보팅 : 다수 모델이 예측한 값 선택소프트 보팅 : 가장 확률이 높은 것 선택 배깅 (Bagging)중복을 허용하는 샘플링(Bootstrap Sample) > 다시 뺏다가 넣어서 다시 랜덤으로 뽑기 (복원 랜덤 샘플링 방식)같은 유형의 알고리즘 기반 모델을 사용 - Random Forest  n_estimators : Decision Tree 개수max_depth : 깊이의 의미 부스팅 (Boosting)예측하지 못한 데이터에 가중치를 부여하는 방식속도가 느리고 과적합이 발생할 가능성이 있다.  (의리주)XGBoost, LightGBM Gradient Boost : 오차를 줄이고 합치며 최종 예측 값확인XGBoost : GBM에 비해 빠르지만 느리다.#!pip install xg..
클래스 불균형
·
KT AIVLE School/머신러닝
데이터의 갯수가 한쪽으로 치우쳐져 있으면 생기는 현상 - 데이터 확인# Target 확인print(data['Attrition'].value_counts())# 시각화sns.countplot(x=data['Attrition'])plt.show() - Under Sampling , Over Sampling# imblearn 설치!pip install imbalanced-learn # Under Samplingfrom imblearn.under_sampling import RandomUnderSamplerunder_sample = RandomUnderSampler()u_x_train, u_y_train = under_sample.fit_resample(x_train, y_train)# Over Samplin..
Hyperparameter
·
KT AIVLE School/머신러닝
과대적합을 피하기 위해 결정트리의 분화를 방지하는 역할을 한다.모델 성능을 최적화시킬 매개변수를 찾아주는 다양한 시도로 하이퍼파라미터를 이용하는데,실제로 학습하기 전에 수행한다. KNN 알고리즘n_neighbors : 검색할 이웃의 수 ( 보통 평균, 최빈값 사용 )Descision Tree 알고리즘max_depth : 트리의 최대 깊이 (default: None)min_samples_split : 노드를 분할하기 위한 최소 샘플 데이터 수 ( default: 2 )min_ samples_leaf : 분할할 시에 왼쪽, 오른쪽 리프노드에서 가져야할 최소 샘플 데이터 수 ( default : 1)n_estimators : 생성할 tree의 개수 ( default : 100) 1. 모델 튜닝 param = ..
K-Fold Cross Validation
·
KT AIVLE School/머신러닝
K - 분할 교차 검증평가하기 전, 선발전이라고 생각하면 된다!가장 괜찮은 모델을 구하기 위해 fit하기 전에 예상만 하는 상태이다.  k개의 분할에서 모든 분할을 각각평가 데이터로 k번 한번씩 사용학습 데이터는 k-1번 사용(k는 2이상 이여야 함) 장점 : 일반화된 모델 가능단점 : 반복 횟수가 많아서 많은 시간 소요 - 코드cross_val_scorecv : 분할갯수scoring =' accuracy  or  r2_score'# 불러오기from sklearn.tree import DecisionTreeClassifierfrom sklearn.model_selection import cross_val_score# 선언하기model = DecisionTreeClassifier(max_depth=5, ..
기본 알고리즘 4가지
·
KT AIVLE School/머신러닝
1. Linear Regression선형 회귀 : 어떤 직선이 가장 최선의 직선일지 판단하는 것 (y=ax+b에서 a,b결정)가중치는 최소제곱법으로 구한다.coef_ : 가중치(회귀계수)intercept_ : 편향 Ridge(L2 > 변수 줄이기), Lasso(L1 > 변수 제거), ElasticNet(L1+L2) 1-1. 단순 회귀x값이 하나인 것1-2. 다중 회귀x값이 여러개인 것  1-3. 회귀 계수 살펴보기# 회귀계수 확인# print('* 변수:', list(x))print('* 가중치:',model.coef_.round(2))print('* 편향:',model.intercept_.round(2)) 1-4. 회귀 계수 시각화# 가중치 시각화tmp = pd.DataFrame()tmp['featur..
Graphviz 사용 준비
·
KT AIVLE School/머신러닝
Graphviz 설치법 1. graphviz 검색 후 다운로드 클릭 2. 컴퓨터에 맞는 프로그램 다운로드전 64비트 용 설치 프로그램을 다운로드했습니다. - 다운로드가 안된다면?더보기 3. 설치 진행다른 버튼을 안건드리고 계속 다음버튼을 누르셔서 설치해줍니다. 4. Path 설정파일 탐색기 > 내pc > 속성고급 시스템 설정 눌러주시고 환경 변수 클릭! User에 대한 사용자 변수와 시스템 변수2개의 Path를 편집해 줍니다. 찾아보기 > C: > Program Files > Graphviz > bin 파일을 클릭하신 후,환경 변수에 아래 그림과 같이 들어왔음을 확인하시고 확인버튼 누르시면 완료입니다!
성능 평가
·
KT AIVLE School/머신러닝
1. 회귀 모델 성능 평가예측한 값과 실제 값의 차이(오차)로 모델을 평가한다. (1-잡아낸 오차)오차 = 실제값 - 예측값오차의 평균을 구하려면 오차의 합이 필요하다.1-1. 오차의 평균SSESum Squared Error(SSE) : 오차제곱의 합MSEMean Squared Error(MSE) : 오차제곱의 평균RMSERoot MSE(RMSE) : MSE에 루트MAEMean Absolute Error(MAE) : 오차 절대값의 평균MAPEMean Absolute Percentage Error(MAPE) : 실제값 대비 오차 절대값의 평균   SST(Total) : 평균이 해결하지 못한 것 ( 실제값과 평균값 오차의 합, 우리의 자존심 ) SSE(Error) : 예측 모델이 해결하지못한 거 ( 작을 수..
모델링 코드 구조
·
KT AIVLE School/머신러닝
Scikit-Learn 함수 사용sklearn은 지도, 비지도 학습 알고리즘을 제공하는 파이썬 라이브러리입니다.사이킷런이라고 읽으며 오픈 소스로서 누구나 무료로 사용 가능합니다.  1. 불러오기from sklearn.linear_model import LinearRegressionfrom sklearn.metrics import mean_absolute_error 2. 선언하기model = LinearRegression() 3. 학습하기model.fit(x_train, y_train) 4. 예측하기 y_pred = model.predict(x_test) 5. 평가하기 : mean_absolute_error(y_test, y_pred)  1. 환경준비# 라이브러리 불러오기import numpy as npi..