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
오늘도 감사했습니다. 간단한 설명 정말 부담없이 듣기 좋은 수업인것같습니다.👍
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 |