TensorFlow預(yù)測二手車價格

目錄

  • 背景
  • 數(shù)據(jù)處理流程
  • 數(shù)據(jù)清洗
  • 數(shù)據(jù)預(yù)測
  • 預(yù)測誤差值對比
  • 源碼

背景

此次來源于公司的競賽項目,舉辦方給予了40天的二手車、每天1G左右的數(shù)據(jù),希望通過這40G左右的數(shù)據(jù)找出一些洞見,根據(jù)數(shù)據(jù)的分析,我主要集中在對二手車的出售價格的預(yù)估。本次采用python處理所有任務(wù)。

數(shù)據(jù)處理流程

具體流程可參考jupeter/pridict_step_by_step.ipynb,這是一個anaconda jupyter網(wǎng)頁編碼。如下圖:

數(shù)據(jù)清洗

對于這么一個量級的數(shù)據(jù)清洗,考慮性能,內(nèi)存占用等因素,通過python多進程,生成器來實現(xiàn)多個數(shù)據(jù)文件的讀取和清洗。在Mac book pro基本上可以達(dá)到每3秒可清洗一個文件。可以在后續(xù)源代碼部分clean/training_set.py找到這部分的代碼。包括處理異常數(shù)據(jù),去重等,清洗后可以得到如下圖數(shù)據(jù)表:

數(shù)據(jù)預(yù)測

如果需要有一輛二手車需要出售,我希望通過預(yù)測程序,能夠給一個初步的估價。下面我們來看看如何預(yù)測:

(1) 計算數(shù)據(jù)的相關(guān)性

通過pearson算法(數(shù)據(jù)約接近+/-1相關(guān)性越高,越接近0相關(guān)性越低)對數(shù)據(jù)進行相關(guān)性計算,我們可以得到如下列表:

從表中我們可以看出,一輛車的損耗率(出售價/新車價格)與使用年限和表里程有較高的相關(guān)性。
如果但就使用年限和損耗率的關(guān)系,我可以通過線性回歸得到如下圖:

從圖中我們可以看出,使用年限越長,車子的損耗越高,車子的出售價也就月底,當(dāng)然這跟我們感官理解比較接近,但實際情況是,我們一輛洗車可能在第一年的損耗率較高,可能達(dá)20%, 后面2,3,4年可能會有一個較平穩(wěn)的損耗率(可能在10%左右),當(dāng)然出現(xiàn)這個差別來源于很多方面,比如說汽車的品牌,汽車瑕疵的部位等等因素。

如果但考慮某一品牌,如benz,可得到下圖:

(2) TensorFlow 計算影響二手車價格各因素權(quán)重

在通過TensorFlow計算權(quán)重之前,進行了歸一化處理,以便能夠清晰的看出各權(quán)重的影響,另外我們在做權(quán)重計算時,并沒有加入品牌的因素,目前沒有對品牌的值進行訓(xùn)練。通過logistic回歸計算,可以得到如下圖:

(3) 預(yù)測二手車價格

如果給予一批二手車進行預(yù)測,我們可以得到如下一個預(yù)測誤差百分比:

從圖中可以看出只有半的二手車估計誤差在20%范圍內(nèi),由此我們看出品牌的引入,可能會提高我們的準(zhǔn)確性。

源碼

https://github.com/pjhu/used-car.git

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容