-
[DL] 딥러닝 기초__Data Analysis/__Machine Learning 2021. 5. 6. 22:52
TIL
- 회귀 가설함수 > Wx+b
- 회귀 비용함수 > 경사하강: 그라디언트~
- 분류 가설함수 > 1/ 1-e^(-wx+b) -> 0~1 사이의 값으로 바꿈
-시그모이드: 바이너리
- 분류 비용함수->-소프트맥스: 다중분류 - proba
-크로스엔트로피: CE - onehot encoding, proba에서 가장 확률 높은 것만 최고(1) 나머지 0-소프트맥스 안에 시그모이드 포함
- 분류/회귀 딥러닝
- 라이브러리 호출
import pandas as pd import numpy as np from keras.models import Sequential from keras.layers import Dense from sklearn.preprocessing import LabelEncoder, OneHotEncoder import matplotlib.pyplot as plt from keras.utils import to_categorical import tensorflow as tf from sklearn.model_selection import train_test_split import warnings warnings.filterwarnings(action='ignore') from sklearn.datasets import load_iris from sklearn.datasets import load_boston
- iris : 다중분류
dataset = load_iris() print(dataset .keys()) df = pd.DataFrame(data=dataset.data, #columns=dataset.feature_names columns=['sepal_length', 'sepal_width', 'petal_length', 'petal_width'] ) df["target"] = dataset.target X = df.iloc[: , :-1] y = df.iloc[: , -1] y_oh = to_categorical(y) X_train,X_test,y_train,y_test = train_test_split(X, y, test_size=0.2, random_state=160) model = Sequential() model.add(Dense(units=64, input_dim=4, activation='relu')) model.add(Dense(units=3, activation='softmax')) model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) model.fit(X, y_oh, epochs=200, validation_split=0.1) proba = model.predict(X_test) pred = np.argmax(proba, axis=1) eval = model.evaluate(X, y_oh)
- boston price : 회귀
from sklearn.datasets import load_boston data = load_boston() df = pd.DataFrame(data =data.data , columns=data.feature_names) df["price"] = data.target X = df.iloc[: , :-1] y = df.iloc[: , -1] X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2,random_state=160) model = Sequential() model.add(Dense(units=128, input_dim=13, activation='relu')) model.add(Dense(units=64, activation='relu')) model.add(Dense(units=16, activation='relu')) model.add(Dense(units=1)) model.compile(loss='mean_squared_error', optimizer='adam') model.fit(X_train,y_train,epochs=100, batch_size=100) pred = model.predict(X_test).flatten()
728x90'__Data Analysis > __Machine Learning' 카테고리의 다른 글
[Scikit-learn] 사이킷런 | 머신러닝 라이브러리 (0) 2021.06.17 [DL] CNN | 실습2 : Flower_Recognition (1) 2021.05.13 [ML] sklearn / iris dataset (0) 2021.04.14 [ML] confusion matrix (0) 2021.04.13 [ML] 분류 (0) 2021.04.13