ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [2021_동계_모각코] 04주차(01/27)
    [CNU] Mogakco 2021. 1. 27. 10:05

    04주차 목표
    1. 아이리스 품종을 분류하는 딥러닝 모델
    2. 히든레이어를 추가한 멀티레이어 인공신경망 모델
    3. 생활코딩 HTML 강의 듣기

    아이리스 품종을 분류하는 딥러닝 모델

    ###########################
    # 라이브러리 사용
    import tensorflow as tf
    import pandas as pd

    ###########################
    # 1.과거의 데이터를 준비합니다.
    파일경로 = 'https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/iris.csv'
    아이리스 = pd.read_csv(파일경로)
    아이리스.head()

    # 원핫인코딩
    아이리스 = pd.get_dummies(아이리스)

    # 종속변수, 독립변수
    독립 = 아이리스[['꽃잎길이', '꽃잎폭', '꽃받침길이', '꽃받침폭']]
    종속 = 아이리스[['품종_setosa', '품종_versicolor', '품종_virginica']]
    print(독립.shape, 종속.shape)

    ###########################
    # 2. 모델의 구조를 만듭니다
    X = tf.keras.layers.Input(shape=[4])
    Y = tf.keras.layers.Dense(3, activation='softmax')(X)
    model = tf.keras.models.Model(X, Y)
    model.compile(loss='categorical_crossentropy',
    metrics='accuracy')

    ###########################
    # 3.데이터로 모델을 학습(FIT)합니다.
    model.fit(독립, 종속, epochs=1000, verbose=0)
    model.fit(독립, 종속, epochs=10)

    ###########################
    # 4. 모델을 이용합니다
    # 맨 처음 데이터 5개
    print(model.predict(독립[:5]))
    print(종속[:5])

    # 맨 마지막 데이터 5개
    print(model.predict(독립[-5:]))
    print(종속[-5:])

    ###########################
    # weights & bias 출력
    print(model.get_weights())

    히든레이어를 추가한 멀티레이어 인공신경망 모델

    ##########################
    # 라이브러리 사용
    import tensorflow as tf
    import pandas as pd

    ###########################
    # 1.과거의 데이터를 준비합니다.
    파일경로 = 'https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/boston.csv'
    보스턴 = pd.read_csv(파일경로)

    # 종속변수, 독립변수
    독립 = 보스턴[['crim', 'zn', 'indus', 'chas', 'nox',
    'rm', 'age', 'dis', 'rad', 'tax',
    'ptratio', 'b', 'lstat']]
    종속 = 보스턴[['medv']]
    print(독립.shape, 종속.shape)

    ###########################
    # 2. 모델의 구조를 만듭니다
    X = tf.keras.layers.Input(shape=[13])
    H = tf.keras.layers.Dense(10, activation='swish')(X)
    Y = tf.keras.layers.Dense(1)(H)
    model = tf.keras.models.Model(X, Y)
    model.compile(loss='mse')

    # 모델 구조 확인
    model.summary()

    ###########################
    # 3.데이터로 모델을 학습(FIT)합니다.
    model.fit(독립, 종속, epochs=100)

    ###########################
    # 4. 모델을 이용합니다
    print(model.predict(독립[:5]))
    print(종속[:5])

    ###########################
    # 모델의 수식 확인
    print(model.get_weights())

    회고록
    오늘은 생활코딩 텐서플로우 (python) 강의에 나와있는 예제 알고리즘을 위주로 공부해보았다. 기본적인 알고리즘 틀은 제공되어 있기 때문에 활용할 수 있는 값과 코드만 제대로 짠다면 원하는 프로그램을 만들 수 있을 것이라는 생각이 들었다. 딥러닝이 어떠한 원리로 운영되는 것인지를 이해하여 실제로 코드로 구현하는 과정을 거치며 흥미를 더욱 확장시킬 수 있었다. 다음 주차에는 새롭게 적용시켜 보고자 하는 마음이 들었다. 모각코를 통해 주기적으로 공부할 수 있다는 것에 감사하다!

    댓글

Designed by Tistory.