TensorFlow 下載
開啟 Anaconda Navigator → 點選 CMD.exe Prompt → 輸入 pip install tensorflow
波士頓房價預測-教學
import tensorflow as tf
from sklearn.model_selection import train_test_split
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from tensorflow.keras.datasets import boston_housing
import math
(x_train, y_train), (x_test, y_test) = boston_housing.load_data()
#print(x_train.shape) # 輸出訓練資料的特徵值大小
#print(y_train.shape) # 輸出訓練資料的標籤大小
classes = ['CRIM','ZN','INDUS','CHAS','NOX','RM','AGE','DIS','RAD','TAX','PTRATIO','B','LSTAT']
data = pd.DataFrame(x_train, columns=classes)
#print(data.head()) # 輸出前面五筆資料
data['MEDV'] = pd.Series(data=y_train)
print(data.head())
print(data.describe()) #get some basic stats on the dataset
from sklearn import preprocessing
scaler = preprocessing.MinMaxScaler() # 資料調整到0~1之間的範圍
x_train = scaler.fit_transform(x_train)
x_test = scaler.fit_transform(x_test)
#print(x_train.shape[1])
#print(len(y_train))
# 建立MLP迴歸模型
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(32, activation='tanh', input_shape=[x_train.shape[1]]))
model.add(tf.keras.layers.Dense(64, activation='tanh'))
model.add(tf.keras.layers.Dense(1)) # 輸出為一個答案(房屋價格)
model.compile(loss='mse',optimizer='sgd', metrics=['mae']) # 迴歸最佳化演算法
history=model.fit(x_train, y_train,
epochs=1000,
batch_size=len(y_train))
# testing
print("start testing")
cost = model.evaluate(x_test, y_test)
print("test cost: {}".format(cost))
Y_pred2 = model.predict(x_test) # Y predict
print(Y_pred2[:10])
print(y_test[:10])