Python 北京房价预测实验报告 深度学习 tensorflow keras
代碼:計算機課程設計北京房價預測數據集和代碼實現-機器學習文檔類資源-CSDN文庫
隨著經濟的不斷發展和社會資源的集中,人們出現了向大城市集中的趨勢,其中,北京作為我國的首都,吸引人才的能力在中國和世界都具有較強的競爭力。與此同時,每個在北京生活的人都有在北京租房或買房的需求,這使得北京市的房價在近些年顯得水漲船高。
年輕人在北京找到合適的工作后,如何根據自己的經濟水平和能力在北京的不同區域選擇適合自己的房子成為了一個凸顯的難題。在互聯網和大數據技術的指引下,傳統的紙筆計算和實體中介已經無法讓年輕人對北京房價的真實情況產生清晰直觀的認識,對全局的把握不夠完整也可能導致他們做出人生的錯誤決策。因此,本項目從鏈家網的開源資料中提取了若干條北京房價的數據,其中包括地段、戶型、建造年份等詳細信息以及房價指標,通過神經網絡算法對這些數據進行深度學習,訓練出一個可以根據這些信息較為準確預測北京房價的回歸計算網絡,在現實生活中具有較為廣泛和實用的應用。
BP(Back Propagation)神經網絡是一種具有三層或者三層以上的多層反向傳播神經網絡,每一層都由若干個神經元組成,它的左、右各層之間各個神經元實現全連接,即左層的每一個神經元與右層的每個神經元都由連接,而上下各神經元之間無連接。BP神經網絡按監督學習方式進行訓練,當學習方式提供給神經網絡后,其神經元的激活值將從輸入層經各隱含層向輸出層傳播,在輸出層的各神經元輸出對應于輸入模式的網絡響應。然后,按減少希望輸出與實際輸出誤差的原則,從輸出層經各隱含層,最后回到輸入層(從右到左)逐層修正各連接權。由于這種修正過程是從輸出到輸入逐層進行的,所以稱它為“誤差逆傳播算法”。隨著這種誤差逆傳播訓練的不斷修正,網絡對輸入模式響應的正確率也將不斷提高。
BP神經網絡是一種前饋神經網絡,是信號正向傳播、誤差反向傳播的監督學習模型,是廣泛應用的神經網絡學習算法之一。具體來說,對于只含一個隱層的神經網絡模型,BP神經網絡的過程主要分為兩個階段,第一階段是信號的前向傳播,從輸入層經過隱含層,最后到達輸出層;第二階段是誤差的反向傳播,從輸出層到隱含層,最后到輸入層,依次調節隱含層到輸出層的權重和偏置,輸入層到隱含層的權重和偏置。
激活函數(Activation?Function)是BP神經網絡的神經元上運行的一類函數,它的作用是將一層神經元的輸入映射到輸出。激活函數對BP神經網絡模型進行機器學習訓練的過程尤為重要。神經網絡默認每一層的輸入和輸出之間都是線性關系,但現實生活中,很多模型中數據之間的關系非常復雜。運用激活函數可以將非線性的特征引入神經網絡模型,可以使BP神經網絡更好地理解復雜的現實數據。
?????? Dropout是一種機器學習中常見的技術,常用于防止神經網絡出現過擬合。在神經網絡的訓練過程中,每次迭代按照設定的比例使隱藏層中部分神經元失效,使得神經網絡層與層之間的依賴性不會過強,將BP(反向傳播)的修正值更平均地分布在各神經元上。
作為一種局部逼近網絡,BP神經網絡能以任意精度逼近任何非線性映射。理論上,通過合理的神經網絡架構和權重,BP神經網絡可以擬合任何形式的非線性連續函數。BP算法通過梯度下降法,迭代更新神經網絡中各自變量的權重,使得神經網絡輸出值和真實值之間的均方誤差(MSE)達到最小值。訓練過程中,隱含層根據返回的誤差賦予各個因子權重值ω[7]。
BP算法的權重調節公式如下:
式中,ω為權重;E為網絡總誤差;為學習率;為誤差信號;xi為輸入分量;yi為輸出分量;zk為連接權分量。
?
?
本項目使用TensorFlow框架,將北京房價數據集中部分顯著的特征提出來,進行標準化操作,以方便神經網絡進行較好的學習。由于數據量較大,為了使得預測目標的示意圖更為直觀,將數據集劃分為99.8%的訓練集和0.2%的測試集。
神經網絡包括3層。其中,第1層的輸入為14個神經元,通過relu激活函數進行映射,輸出32個神經元。第二層將這32個神經元繼續進行計算,通過relu輸出32個神經元。輸出層有1個維度,代表預測的房價結果。
經過15個周期的訓練,神經網絡有了較好的預測效果。
總結
以上是生活随笔為你收集整理的Python 北京房价预测实验报告 深度学习 tensorflow keras的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 免费点亮qq图标
- 下一篇: ArcGIS中去除Z或M值的方法