• 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])