인공지능 32

[Deep Learning] DNN TensorFlow Regression 수치 예측 문제 모델링

모델링 전 데이터 전처리부터 한다. 1. 데이터 확인 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns # 데이터 통계 확인 >>> df.describe() # nan값 확인 >>> df.isna().sum() # 학습을 위해 X,y값 지정 >>> X = df.loc[ : , '컬럼' : '컬럼' ] >>> y = df['컬럼'] 2. 피처 스케일링 from sklearn.preprocessing import MinMaxScaler # X값 피처스케일링 >>> scaler_X = MinMaxScaler() >>> X = scaler_X.fit_transform(X.values) # y값 피..

[Deep Learning] TensorFlow GridSearch

그리드 서치를 이용해 최적의 하이퍼 파라미터 찾는다. # ! pip install scikeras from scikeras.wrappers import KerasClassifier from sklearn.model_selection import GridSearchCV from keras.models import Sequential from keras.layers import Dense 그리드 서치 하기 위해서 모델링하는 함수를 만든다. >>> def build_model(optimizer='adam'): model = Sequential() model.add(Dense(8, 'relu', input_shape=(11,))) model.add(Dense(6, 'relu')) model.add(Dense(1..

[Deep Learning] ANN TensorFlow 분류 문제 모델링

import tensorflow as tf from tensorflow import keras from keras.models import Sequential from keras.layers import Dense # 레이어를 담을 수 있는 비어있는 틀을 만든다 >>> model = Sequential() # 비어있는 틀에 히든 레이어 추가 # 노드 갯수 입력, 액티베이션 함수 입력, 들어갈 데이터의 갯수 입력(컬럼) 입력 >>> model.add(Dense(units=8, activation='relu', input_shape=(11,))) # 두번째 히든 레이어 추가 >>> model.add(Dense(6, 'relu')) # 결과값이 0 과 1 사이 값으로 나오게한다. sigmoid 함수 사용 >>..

[Deep Learning] Dummy variable trap

Dummy variable trap 은 없어도 되는 불필요한 컬럼을 없애는 것 # Dummy Variable Trap 을 적용하자. # 딥러닝에서는 컬럼 하나가 연산에 아주 크게 작용하므로 # 원핫 인코딩한 결과에서 가장 왼쪽의 컬럼은 삭제해도 # 데이터를 표현하는 데는 아무 문제 없다. # France, Germany, Spain 3개 컬럼으로 원핫 인코딩 되는데 # 1 0 0 # 0 1 0 # 0 0 1 # 맨 왼쪽 France 컬럼을 삭제해도 # 0 0 => France # 1 0 => Germany # 0 1 => Spain >>> pd.DataFrame(X).drop(0, axis=1).values array([[0.0000000e+00, 0.0000000e+00, 6.1900000e+02, ...

[Machine Learning] K- 평균 군집 K-Means Clustering

Unsupervised Learning 은 y 값이 없고 x 만 필요 kmeans() : 비슷한 특징을 갖는 것들끼리 n개의 그룹을 만들어 분류 from sklearn.cluster import KMeans # 변수에 저장하여 사용 >>> kmeans = KMeans(n_clusters= 3, random_state=10) # n_clusters = 그룹의 갯수 지정 # n_clusters 의 default 값은 8 >>> y_pred = kmeans.fit_predict(X) # 학습 x, 바로 예측 # 그룹 1인 그룹 사람들에게 푸시를 보낼 것이다. 이 그룹의 데이터를 가져와라. >>> df.loc[df['Group'] == 1, ] WCSS = 적절한 그룹의 개수 기준 확립 >>> wcss = []..

[Machine Learning] 분류 예측 Decision Tree

DecisionTreeClassifier() : 분할과 가지치기 과정을 반복 트리 기반의 분류 규칙을 만든다. from sklearn.tree import DecisionTreeClassifier >>> classifier = DecisionTreeClassifier(random_state=1) >>> classifier.fit(X_train, y_train) >>> y_pred = classifier.predict(X_test) >>> y_pred array([0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0,..

[Machine Learning] 분류 예측 Support Vector Machine (SVM)

SVC(Support Vector Classification) # 변수에 저장하여 사용 >>> classifier = SVC(kernel='linear') >>> classifier = SVC(kernel='rbf') # 'linear', 'poly', 'rbf', 'sigmoid', 'precomputed' 호출 가능 # default = 'rbf' from sklearn.svm import SVC >>> classifier = SVC() # 디폴트 값 'rbf' >>> classifier.fit(X_train, y_train) >>> y_pred = classifier.predict(X_test) >>> y_pred array([0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1..