import tensorflow as tf
import pandas as pd
# 과거 데이터 준비
filepath = '/content/sample_data/boston.csv'
boston = pd.read_csv(filepath)
# print(boston.columns)
boston.head()
# 독립
independent = boston[['crim', 'zn', 'indus', 'chas', 'nox', 'rm', 'age', 'dis', 'rad', 'tax', 'ptratio', 'b', 'lstat']]
# 종속
dependent = boston[['medv']]
# print(independent.shape, dependent.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(independent, dependent, epochs=1000, verbose=0)
# model.fit(independent, dependent, epochs=10)
# 4. 모델 이용(예측)
print(model.predict(independent[5:10]))
# 종속 변수 확인
print(dependent[5:10])
# 모델 수식 확인
# print(model.get_weights())
1. 데이터 준비 및 확인
import tensorflow as tf
import pandas as pd
# 과거 데이터 준비
filepath = '/content/sample_data/boston.csv'
boston = pd.read_csv(filepath)
boston.head()
import pandas as pd
# 과거 데이터 준비
filepath = '/content/sample_data/boston.csv'
boston = pd.read_csv(filepath)
boston.head()
- 먼저 TensorFlow와 Pandas를 가져옵니다.
- pd.read_csv() 함수를 사용하여 CSV 파일을 읽고, 데이터프레임 형태로 변환합니다.
- boston.head()를 호출하여 데이터프레임의 처음 5개 행을 출력합니다.
2. 독립 변수와 종속 변수 설정
# 독립
independent = boston[['crim', 'zn', 'indus', 'chas', 'nox', 'rm', 'age', 'dis', 'rad', 'tax', 'ptratio', 'b', 'lstat']]
# 종속
dependent = boston[['medv']]
independent = boston[['crim', 'zn', 'indus', 'chas', 'nox', 'rm', 'age', 'dis', 'rad', 'tax', 'ptratio', 'b', 'lstat']]
# 종속
dependent = boston[['medv']]
- 독립 변수는 주택 가격에 영향을 미치는 특징들입니다. 여기서는 주택의 인구 밀도, 공기 오염도 등을 포함합니다.
- 종속 변수는 주택의 중앙값(medv)입니다. 즉, 주택 가격을 나타냅니다.
3. 모델 구조 생성
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')
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')
- 입력 레이어(X)를 생성합니다. 여기서는 13개의 특징이 있는 데이터를 사용합니다.
- tf.keras.layers.Dense()를 사용하여 은닉층(H)과 출력 레이어(Y)를 생성합니다. 이전 코드와 달리 은닉층에 활성화 함수로 Swish를 사용하였습니다.
- tf.keras.models.Model()로 모델을 생성하고, model.compile() 함수를 사용하여 손실 함수를 MSE(평균 제곱 오차)로 설정합니다.
4. 모델 학습(FIT)
- model.fit() 함수를 사용하여 모델을 학습시킵니다. 독립 변수와 종속 변수를 입력하고, 1000번의 에포크 동안 학습합니다.
5. 모델 이용(예측)
print(model.predict(independent[5:10]))
- model.predict() 함수를 사용하여 학습된 모델을 사용하여 독립 변수의 일부 데이터에 대한 예측을 수행합니다.
6. 종속 변수 확인
print(dependent[5:10])
- 실제 종속 변수 값을 출력하여 예측 값과 비교합니다.
'학교 > 인공지능' 카테고리의 다른 글
Batch Normalization (IRIS 분류) (0) | 2024.06.19 |
---|---|
Multi-Layer로 확장 (IRIS분류) (0) | 2024.06.08 |
IRIS 분류 (0) | 2024.06.08 |
보스턴 집값 예측 (0) | 2024.06.08 |
5_인공지능개론 (1) | 2024.06.08 |