本部分展現一個ML項目,假設是一家房地產公司的新聘數據科學家。下面是這個項目的步驟:python
在學習機器學習時,最好嘗試使用真實數據而不是人工數據集。本部分使用的示例數據集是「加利福尼亞住房價格」數據集,該數據集基於1990年加利福尼亞人口普查的數據。算法
項目任務是使用加利福尼亞人口普查數據創建該州房價模型。數據包括加利福尼亞州每一個街區組的人口,中位數收入和房價中位數等指標。模型從這些數據中學習,並可以根據全部其餘指標來預測任何地區的房價中位數。框架
機器學習項目的首要任務是明確業務目標究竟是什麼。目標將決定問題的框架,選擇的算法,評估模型的性能指標以及調整模型的工做量。下圖是該示例項目的目標:機器學習
能夠看到,該項目模型的輸出(對某個地區房價中位數的預測)將與其餘許多信號一塊兒被饋送到另外一個機器學習系統。性能
在設計這個系統前,須要回答這些問題:是監督學習,無監督學習仍是強化學習?它是分類任務,迴歸任務仍是其餘?您應該使用批處理學習仍是在線學習技術?學習
該項目屬於:設計
supervised learning task3d
regression taskblog
batch learning(數據源不是流式的)ip
評價指標:均方根偏差(RMSE),計算方法:
或者也可使用MAE:
上邊RMSE是歐式距離,而MAE是曼哈頓距離,固然還有普通的n階。規範指數越高,它越關注大值而忽略小值。這就是爲何RMSE對異常值比MAE更敏感的緣由。可是,當離羣值呈指數形式稀有時(如鐘形曲線),RMSE表現很是好,一般是首選。
我安裝的Anaconda的多環境,該應用準備使用python3來完成,因此在python3的環境下,須要安裝 pandas、matplotlib、scikit-learn等包,以下代碼 :
$ conda list # 查看pip版本 $ python -m pip --version # 使用pip來安裝包 $ python -m pip install matplotlib scipy scikit-learn