위지원의 데이터 일기 🐈
Home
  • 분류 전체보기 (563)
    • ✎ 2025년 (4)
    • 2024년 (16)
    • 2023년 (6)
    • 2022년 (35)
      • Developement (22)
      • Error (9)
    • 2021년 (68)
      • ERROR (9)
      • 알고리즘 (11)
      • 개발공부 (21)
      • Data (15)
      • 21.下 (12)
    • 2020년 (164)
      • 코테 (84)
      • Development (29)
      • 정처기 (41)
    • 2019년 (27)
    • 2018년 (89)
      • English Speaking (8)
      • Error (12)
      • C, Java, FileSystem (13)
      • DataBase (15)
      • Java (2)
      • 지식 (16)
      • Go (3)
      • spark (9)
      • 영어 (5)
      • 알고리즘 (6)
    • 2017년 (143)
      • Error (17)
      • machine learning (16)
      • Spark (20)
      • Database (19)
      • Python (17)
      • Spring (9)
      • etc. (10)
      • 백준 (5)
      • Google Platform (12)
      • web Development (7)
      • Docker (3)
      • Linux (8)
Home
  • 분류 전체보기 (563)
    • ✎ 2025년 (4)
    • 2024년 (16)
    • 2023년 (6)
    • 2022년 (35)
      • Developement (22)
      • Error (9)
    • 2021년 (68)
      • ERROR (9)
      • 알고리즘 (11)
      • 개발공부 (21)
      • Data (15)
      • 21.下 (12)
    • 2020년 (164)
      • 코테 (84)
      • Development (29)
      • 정처기 (41)
    • 2019년 (27)
    • 2018년 (89)
      • English Speaking (8)
      • Error (12)
      • C, Java, FileSystem (13)
      • DataBase (15)
      • Java (2)
      • 지식 (16)
      • Go (3)
      • spark (9)
      • 영어 (5)
      • 알고리즘 (6)
    • 2017년 (143)
      • Error (17)
      • machine learning (16)
      • Spark (20)
      • Database (19)
      • Python (17)
      • Spring (9)
      • etc. (10)
      • 백준 (5)
      • Google Platform (12)
      • web Development (7)
      • Docker (3)
      • Linux (8)
블로그 내 검색
포트폴리오

위지원의 데이터 일기 🐈

데이터를 사랑하고 궁금해하는 기록쟁이입니다! 😉 Super Data Girl이 되는 그날까지🏃‍♀️ 화이팅!

  • 🖥 깃블로그
  • 🌍 위키원
  • 📑 내맘대로 스크랩
  • 💌 메일
  • 2020년/Development

    Tensorflow 2.0 , Keras를 이용하여 선형회귀 코드 작성하기

    2020. 12. 2. 22:02

    by. 위지원

    세상은 참 빠르게 바뀌어간다🌎

    아래는 3년전 작성한 글이다. 이때와 지금 코드가 정말 많이 다르다는게 느껴진다.

     

    weejw.tistory.com/86

     

    텐서플로우 선형회귀에 대해 알아보자

    막상또 모델을 생성하려하니 일전에 햇던게 기억이안난다. 간단하게 다시 알아보자. 선형회귀란 쉽게 말해 종속변수 y(목표값) 와 한개이상의 독립변수(영향을 미치는..설명변수)x와의 선형 상

    weejw.tistory.com

    www.tensorflow.org/guide/effective_tf2?hl=ko

     

    이펙티브 텐서플로 2.0  |  TensorFlow Core

    Note: 이 문서는 텐서플로 커뮤니티에서 번역했습니다. 커뮤니티 번역 활동의 특성상 정확한 번역과 최신 내용을 반영하기 위해 노력함에도 불구하고 공식 영문 문서의 내용과 일치하지 않을 수

    www.tensorflow.org

     

    tensorflow도 마찬가지다.  아래 강좌를 보면서 딥러닝을 공부하려고 했지만 아래에 있는 코드는 텐서 1이기때문에 작동이 안된다.

    www.youtube.com/watch?v=mQGwjrStQgg&feature=youtu.be&ab_channel=SungKim

    물론 아래와같이 사용할 수 있는 방법이 있다.

    stackoverflow.com/questions/55682718/module-tensorflow-api-v2-train-has-no-attribute-gradientdescentoptimizer

     

    module 'tensorflow._api.v2.train' has no attribute 'GradientDescentOptimizer'

    I used Python 3.7.3 and installed tensorflow 2.0.0-alpha0,But there are some problems。such as module 'tensorflow._api.v2.train' has no attribute 'GradientDescentOptimizer' Here's all my code impo...

    stackoverflow.com

    하지만... 텐써 2.0은 정말 코드가 간결하고 직관적이며 사용하기 편리하다 뭣하러 1.0을 쓰나.. 2.0을 쓰자 ^.^

     

    전체 코드는 아래와 같다. 지난번에 구축했던 도커기반 텐써에서 쥬피터를 실행시켜서 입력했다.

    import tensorflow as tf
    import numpy as np
    x_train = [1, 2, 3]
    y_train = [1, 2, 3]
    
    W = tf.Variable(tf.random.normal([1]), name="weight")
    b = tf.Variable(tf.random.normal([1]), name="bias")
    
    hypothesis=x_train*W+b
    
    cost = tf.reduce_mean(tf.square(hypothesis - y_train))
    sgd = tf.keras.optimizers.SGD(learning_rate=0.01)
    
    model = tf.keras.models.Sequential()
    model.add(tf.keras.layers.Dense(1, input_dim = 1))
    
    model.compile(loss='mean_squared_error',optimizer=sgd)
    
    model.fit(x_train,y_train,epochs=1000)
    
    print(model.predict(np.array([5])))

     

    그럼 아래와 같이 에폭시에 따라 학습을 진행하고, 마지막에 결과까지 도출을 잘한다 ^>^!

    확실히 케라스를 이용하니까 편리하다.

     

     

    뽀나스 + 

    사이킷런을 이용해서 선형회귀를 진행해보았다. 해당 코드는 cyan91.tistory.com/39?category=230402를 참고하였다. 한글은 따로 설정을 해줘야하는데 지금은 기찮다.. 헤헷 😂

    r-squared를 제공하는 score 함수를 제공해준다. 

     

    TSS : 편차제곱합

    RSS : 회귀식과 평균간 차

    SSE : 회귀식과 실제값 차

    TSS = RSS+SSE

     

    모델은 아래와 같이 저장이 가능하다. 가장 마지막에 deprecation warning이 거슬린다면 

    wikidocs.net/81868 를 참고하면 된다. 해당 글에서는 joblib.dump()함수를 사용하라고 있다.

    저작자표시 (새창열림)

    '2020년 > Development' 카테고리의 다른 글

    딥러닝 공부 #2  (0) 2020.12.07
    사이킷런을 사용해보자  (0) 2020.12.02
    MaxOS에 Docker를 이용하여 TensorFlow설치하기  (0) 2020.12.01
    딥러닝 공부 #1  (0) 2020.12.01
    Confusion matrix, Recall(재현율),Precision(정밀도), Accuracy(정확도)  (0) 2020.10.25

    잠깐만요~! 읽으신김에 이런 글들은 어떠세요? 👀

    • 딥러닝 공부 #2 2020.12.07
    • 사이킷런을 사용해보자 2020.12.02
    • MaxOS에 Docker를 이용하여 TensorFlow설치하기 2020.12.01
    • 딥러닝 공부 #1 2020.12.01
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

열정! 열정! 열정! 🔥

Designed by Nana
블로그 이미지
위지원
데이터 엔지니어로 근무 중에 있으며 데이터와 관련된 일을 모두 좋아합니다!. 특히 ETL 부분에 관심이 가장 크며 데이터를 빛이나게 가공하는 일을 좋아한답니다 ✨

티스토리툴바

티스토리툴바