Python人工智慧之波士頓房價資料分析

2022-09-24 14:36:21 字數 1467 閱讀 5287

目錄

【人工智慧專案】機器學習熱門專案-波士頓房價

本次提供:

訓練集404行資料,14列,每行資料表示房屋以及房屋周圍的詳細資訊,已給出對應的自住房平均房價。要求**102條測試資料的房價。

通過學習房屋以及房屋周圍的詳細資訊,其中包含城鎮犯罪率,一氧化氮濃度,住宅平均房間數,到中心區域的加權距離以及自住房平均房價等等,訓練模型,通過某個地區的房屋以及房屋周圍的詳細資訊,**該地區的自住房平均房價。

回歸問題,提交測試集每條資料對應的自住房平均房價。評估指標為均方誤差mse。

資料集:波士頓房間訓練集.csv (404條資料)

資料集欄位如下:

crim:城鎮人均犯罪率。

zn:住宅用地超過 25000 sq.ft. 的比例。

indus:城鎮非零售商用土地的比例。

chas:查理斯河空變數(如果邊界是河流,則為1;否則為0)。

nox:一氧化氮濃度。

rm:住宅平均房間數。

age:1940 年之前建成的自用房屋比例。

dis:到波士頓五個中心區域的加權距離。

rad:輻射性公路的接近指數。

tax:每 10000 美元的全值財產稅率。

ptratio:城鎮師生比例。

b:1000(bk-0.63)^ 2,其中 bk 指代城鎮中黑人的比例。

lstat:人口中地位低下者的比例。

medv:自住房的平均房價,以千美元計。

(1)資料離群點處理

首先對訓練集進行拆分為子訓練集與子測試集,利用train_data.sort_values對訓練集進行排序,依次刪除每個特徵對應的離群樣本,利用子訓練集與子測試集對模型進行訓練與測試並確定該特徵下所需刪除樣本的最佳個數。

(2)資料歸一化處理

利用sklearn.preprocessing. standardscaler對資料集與標籤分別進行標準化處理。

利用隨機森林特徵選擇演算法剔除不敏感特徵。

使用gradientboostingregressor整合回歸模型。

gradient boosting 在迭代的時候選擇梯度下降的方向來保證最後的結果最好。損失函式用來描述模型的「靠譜」程度,假設模型沒有過擬合,損失函式越大,模型的錯誤率越高

如果我們的模型能夠讓損失函式持續的下降,則說明我們的模型在不停的改進,而最好的方式就是讓損失函式在其梯度方向上下降。

採用均方誤差(mse)評分標準,mse: mean squared error 。均方誤差是指引數估計值與引數真值之差平方的期望值;

mse可以評價資料的變化程度,mse的值越小,說明**模型描述實驗資料具有更好的精確度。計算公式如下:

其在測試集上的mse值為:

對n_ n_estimators的引數進行調參:

通過多次實驗,我們目前得到的最優解為8.18左右。在處理小資料集出現過擬合時,首先應當考慮減小模型或增加資料集。由於本次實驗是通過大量訓練取最優的辦法均使用預設引數,對超引數進一步調優也許可更進一步。

Python 波士頓房價資料主成分PCA分析降維

import pandas as pd import matplotlib.pyplot as plt import numpy as np from sklearn import datasets,metrics from sklearn.linear model import linearreg...

Python人工智慧之資料遷移

將模型對映到資料庫中 使用flask migrate庫 安裝,使用 pip install flask migratedb sqlalchemy migrate migrate 配置flask script的命令 manager.add command db migratecommand 指令使用 ...

Python人工智慧之Python基本資料型別

python中有六大標準資料型別 number 數字 string 字串 list 列表 tuple 元組 set 集合 dictionary 字典 python這六大標準標準資料型別中 不可變資料型別 number 數字 string 字串 tuple 元組 可變資料型別 list 列表 dict...