iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 20
0
AI & Data

AI初見 從零開始的TensorFlow生活系列 第 20

DAY20 - 迴歸問題 - 房價預測模型 - 3

  • 分享至 

  • xImage
  •  

大家好,在昨天完成資料處理,將資料型態轉為數值,並且分成訓練資料、驗證資料和測試資料後,今天要接著進行資料的標準化以及準備訓練資料。

將資料標準化的目的是資料縮放到相同的大小,之所以要進行資料標準化,是因為如果資料的量級差距過大,可能會造成神經網路較重視數值大的資料,而忽略數值小的資料,以這次使用的資料集中的資料為例:房屋臥室的數量與房屋居住坪數的量級就差距過大,房屋臥室數量大約是1至5間,但居住坪數大多都是千位數,為避免忽略居住臥室數量資料,就需要將資料標準化。這次要使用的是標準分數(Standard Score),或稱為Z分數(z-score),給定資料一個平均數後,計算距離平均數有幾個標準差,大於平均數為正值,小於平均數為負值,這樣就可以讓資料聚集在0的附近。

下面是資料標準化的程式:

train_validation_data = pd.concat([train_data, val_data])
mean = train_validation_data.mean()
std = train_validation_data.std()
train_data = (train_data-mean)/std
val_data = (val_data -mean)/std

標準化完成後將訓練資料建立成Numpy array:

x_train=np.array(train_data.drop('price ', axis= 'columns '))
y_train=np.array(train_data['price '])
x_val=np.array(val_data.drop('price ', axis= 'columns '))
y_val=np.array(val_data['price '])

x代表訓練用的資料,y代表預期輸出的標記答案。
執行x_train.shape會顯示有12967筆資料與21種資訊,代表著建立模型的輸入資料維度為21。


上一篇
DAY19 - 迴歸問題 - 房價預測模型 - 2
下一篇
DAY21 - 迴歸問題 - 房價預測模型 - 4
系列文
AI初見 從零開始的TensorFlow生活30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言