μ λ°λ―Έ κ°μ ANN(μΈκ³΅μ κ²½λ§) λͺ¨λΈ νκ° μ κΉμ§ μκ°
https://www.udemy.com/course/best-artificial-neural-networks/?couponCode=KEEPLEARNING
μΈκ³΅μ κ²½λ§μ νμ©νμ¬ μν κ³ κ°λ€μ λ°μ΄ν°λ‘ μν νν΄ νλ₯ μμΈ‘ AIλ₯Ό λ§λ€μ΄λ³Έλ€.
import numpy as np
import tensorflow as tf
import pandas as pd
λ¨Όμ μ½λμ νμν λΌμ΄λΈλ¬λ¦¬λ€μ μν¬νΈν΄μ€λ€.
μ¬μ©νλ €λ λ°μ΄ν°λ μ²μμνλ‘λ μ¬μ©λ μ μλ€. λ 립λ³μμ κ°μ΄ μ«μκ° μλκ±°λ, λΉμ΄μκ±°λ, λ무 ν¬λ©΄ μ²λ¦¬νλ λ°μ λ¬Έμ κ° μκΈΈ μλ μκΈ° λλ¬Έμ μ΄μ μ μ μ²λ¦¬λ₯Ό ν΄μ£Όμ΄μΌνλ€.
dataset = pd.read_csv('Churn_Modelling.csv')
X = dataset.iloc[:, 3:-1].values
y = dataset.iloc[:, -1].values
μ°μ μ¬μ©νλ €λ λ°μ΄ν°μ μ μν¬νΈν νμ(κ³ κ°μ μ΄λ¦, κ³ κ°λ²νΈ, μμ΄λ λ±μ λ 립λ³μλ‘μ¨ μ¬μ©λ μ μκΈ°μ μ¬λΌμ΄μ±ν΄μ€λ€.)
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
X[:, 2] = le.fit_transform(X[:, 2])
μ±λ³μ male female λ μ€ νλμ΄κΈ° λλ¬Έμ 0κ³Ό 1λ‘ μΈμ½λ©ν΄μ€λ€(μμλ μκ΄μλ€.)
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
ct = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), [1])], remainder='passthrough')
X = np.array(ct.fit_transform(X))
λ€μμΌλ‘ μ§μμ μΈμ½λ©νλ€. μΈκ³΅μ κ²½λ§μ νμ΅μμ κΈμλ μ¬μ©μ΄ λΆκ°νκΈ° λλ¬Έμ μ«μλ‘ λ°κΎΈμ΄μ£Όλλ°, νμ¬ κ³ κ°μ μ§μμ΄ νλμ€, μ€νμΈ, λ μΌμ΄λ―λ‘ 3κ°μ λλ―Έλ³μλ₯Ό μμ±νμ¬ κ°κ° 1 0 0, 0 1 0, 0 0 1κ°μ μμΌλ‘ μΈμ½λ©νμ¬ λνλΌ μ μλ€.
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)
λͺ¨λΈμ νλ ¨νκ³ ν μ€νΈν λμ λ°μ΄ν°μ μ κ°κ° λ¬λΌμΌνλ€. λ°λΌμ μν¬νΈν λ°μ΄ν°μ μ νλ ¨ μΈνΈμ ν μ€νΈ μΈνΈλ‘ λΆλ¦¬νλ€.
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)