이진 분류Output층에 활성화 함수는 Sigmoid함수를 사용한다.0 ~ 1 사이 확률 값으로 변환해주는 역할을 한다. Loss Function으로는 binary_crossentropy를 사용한다.오차들의 평균 계산 1. output 층에 활성화함수는 시그모이드가 필요# 메모리 정리clear_session()# Sequential 모델 만들기model = Sequential( [Input(shape = (nfeatures,)), Dense(50, activation='relu'), Dense(1, activation='sigmoid')])# 모델요약model.summary() 2. 손실 함수는 binary_crossentropymod..
회귀모델링
·
KT AIVLE School/딥러닝
- 머신러닝과 딥러닝의 차이점진행 차이모델링 시에 모델구조 잡기, 컴파일이 포함된다.학습 시에 학습 곡선을 확인이 포함된다. 은닉층은닉층에서 만들어진 원래 변수를 통해 세부적으로 새롭게 표현된 변수를 만든다. (feature Enginnering) 변수들을 추상화한 변수를 생성해서 다시 노드를 만드는 것을 반복적으로 진행한다고 볼 수 있다. (화장실 수, 방 수, 면적 / 지하철역과 거리, 공원 수) > (외부요소, 내부요소) > 집(타겟)머신러닝 : 사람이 새로운 변수를 만들어 낸다.딥러닝 : 은닉층에서 새로운 변수를 나타낸다 스케일링머신러닝은 선택이다 : KNN, SVM, K-Means는 거리를 기반으로 하기에 스케일링이 필요하다.딥러닝은 필수이다. : 뒤에 스케일링이 모두 필수이다.Normali..
미니 프로젝트 2차 후기
·
KT AIVLE School/프로젝트
이번 미니 프로젝트의 주제는신규 임대아파트 주차 수요 예측! 토지주택공사의 의뢰를 받아새롭게 건설할 공공 임대 아파트 단지의 등록 차량수를 예측한다!는 컨셉으로 시작했습니다ㅎ 마이홈포털기본팝업-확인 로그인이 필요한 서비스 입니다. 로그인 하시겠습니까? 홈 모집공고 자가진단 지도찾기www.myhome.go.kr 한국토지주택공사에 데이터를 사용하였기에 신기하면서도 재밌었는데요 :)단지코드, 총세대수, 지역, 준공연도, 건물형태, 난방방식, 승강기설치여부, 총면적, 임대보증금, 임대료, 실차량수 위에 총 12개의 변수를 통해서 실차량수(주차 수요)를 예측하게 됩니다. 1. 단변량 분석 - 실차량수, 총세대수, 총면적유사한 히스토그램을 보이는 것으로 보아 세가지 변수가 강한 상관관계를 가지고 있음을 알 수 있..
머신러닝 커맨드 정리
·
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..