[생활코딩/머신러닝야학] 보스턴 집값 예측

2021. 1. 12. 22:41·개발/머신러닝
728x90

[개발/머신러닝] - [생활코딩/머신러닝야학] 레몬에이드 판매량 예측(1) - pandas
[개발/머신러닝] - [생활코딩/머신러닝야학] 레몬에이드 판매량 예측(2) - neural network

 


** 지도학습 - neural network(신경망)

보스턴 집값을 예측하는 딥러닝 모델을 만들어 보자 😁

 

사용한 보스턴 데이터 설명

 

* 실습

shape함수를 이용하여, 행,열의 개수를 구하고, 이것을 Input, Dense에 넣었다.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# 라이브러리 사용
import tensorflow as tf # pip install --upgrade tensorflow
import pandas as pd # pip install pandas

#1. 과거의 데이터 준비
boston = pd.read_csv('https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/boston.csv')
# print(boston.head())
# print(boston.columns)
independent_var = boston[['crim', 'zn', 'indus', 'chas', 'nox', 'rm', 'age', 'dis',
       'rad', 'tax', 'ptratio', 'b', 'lstat']] #독립변수
dependent_var = boston[['medv']]  #종속변수

print('boston 독립변수 = {}, 종속변수 = {}\n'.format(independent_var.shape ,dependent_var.shape))

independent_var_row = independent_var.shape[0]  # 독립변수 행(row)
independent_var_col = independent_var.shape[1]  # 독립변수 열(col)

dependent_var_row = dependent_var.shape[0]  # 종속변수 행(row)
dependent_var_col = dependent_var.shape[1]  # 종속변수 열(col)

print('boston 독립변수 shape({},{}) 종속변수 shape({}.{})\n'.format(independent_var_row,independent_var_col,dependent_var_row,dependent_var_col))

#2. 모델의 구조를 만듬(모델생성)
#모델구조 만들 때, 독립,종속변수의 개수가 중요하다 - 독립(x),종속(y)
X = tf.keras.layers.Input(shape=[independent_var_col]) # 13 = 독립변수의 컬럼개수
Y = tf.keras.layers.Dense(dependent_var_col)(X) # 1 = 종속변수의 컬럼개수
model = tf.keras.models.Model(X, Y) # 모델 생성
model.compile(loss='mse') # 모델이 학습할 방법

# 3. 데이터로 모델을 학습(FIT)
model.fit(independent_var, dependent_var, epochs=10) # epochs = 전체 데이터를 몇번반복 학습할 것인지를 결정해 주는 숫자
model.fit(independent_var, dependent_var, epochs=100, verbose=0) # verbose =0 출력(로그) 표시안함

# 4. 모델을 이용
print(model.predict(independent_var[5:10])) #독립변수 예측값 확인 [5~10개만]
# 종속변수 확인
print(dependent_var[5:10])  # 종속변수결과 출력하여 예측한 값이 맞는 지 확인
 
# 모델의 수식 확인
print(model.get_weights())

 

예측결과 및 가중치(수식확인)

보스턴 집값 예측의 경우, 독립변수의 개수가 여러 개인 경우이다. 이러한 경우, 레모네이드의 경우보다 보다 복잡한 수식모델이 생성된다. (가중치(w)와 편향(bias, b)를 찾는 과정은 학습(fit)단계에서 발생)


*용어 정리

1. 중앙값
값을 순서대로 정렬한뒤 가장 중앙에 있는값이 중앙값
(평균값)median value(medv) - 집단을 대표하는 값

2. 이상값
이상치로 인해 평균이 대표값을 띄지 못하는 경우 (평균의 값을 무너트리는 값)

3.

X = tf.keras.layers.Input(shape=[independent_var_col]) # 13개의 값을 입력받는다
Y = tf.keras.layers.Dense(dependent_var_col)(X) # 1개의 결과를 출력한다.
# 13개의 입력을 받아, 1개의 결과를 출력한다.

 

4.  종속변수 한개 당 독립변수와의 관계식(수식, 모형)이 생성되는데, 이를 퍼셉트론(perceptron)이라 부른다. 종속변수가 2개라면 2개의 퍼셉트론(perceptron)이 생성된다.


opentutorials.org/course/4570/28976

 

두번째 딥러닝 - 보스턴 집값 예측 - 생활코딩

수업소개 보스턴 집값을 예측하는 딥러닝 모델을 텐서플로우를 이용하여 만들어 보고, 모델을 구성하는 퍼셉트론에 대해 이해합니다. 강의  수식과 퍼셉트론  실습  소스코드 colab |  backend.

opentutorials.org

 

오늘도 감사했습니다. 간단한 설명 정말 부담없이 듣기 좋은 수업인것같습니다.👍

 

728x90
저작자표시 비영리 변경금지 (새창열림)

'개발 > 머신러닝' 카테고리의 다른 글

[생활코딩/머신러닝야학] 신경망의 완성-히든레이어 및 정리  (0) 2021.01.21
[생활코딩/머신러닝야학] 아이리스 품종 분류  (0) 2021.01.13
[생활코딩/머신러닝야학] 레몬네이드 판매량 예측(2) - neural network  (0) 2021.01.11
[생활코딩/머신러닝야학] 레몬네이드 판매량 예측(1) - pandas  (0) 2021.01.11
[생활코딩/머신러닝야학] 머신러닝의 분류  (0) 2021.01.08
'개발/머신러닝' 카테고리의 다른 글
  • [생활코딩/머신러닝야학] 신경망의 완성-히든레이어 및 정리
  • [생활코딩/머신러닝야학] 아이리스 품종 분류
  • [생활코딩/머신러닝야학] 레몬네이드 판매량 예측(2) - neural network
  • [생활코딩/머신러닝야학] 레몬네이드 판매량 예측(1) - pandas
호이호이209
호이호이209
이것저것 기록하는 메모장
    250x250
  • 호이호이209
    R=VD
    호이호이209
    • R=VD전체글 (83)
      • 개발 (63)
        • Linux (19)
        • 머신러닝 (10)
        • Git (6)
        • Python (9)
        • 프로그래밍 언어 (2)
        • Docker (5)
        • ETC (12)
      • 일상기록 (20)
        • 여행 (5)
        • 일상-이모저모 (8)
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
호이호이209
[생활코딩/머신러닝야학] 보스턴 집값 예측
상단으로

티스토리툴바