機器學習---訓練集與測試集

你去水果攤上買水果,怎麼看水果好壞?
評價標準是:新鮮程度

你建立了機器學習的模型,又怎麼判斷這個模型好壞?
接下來我們要講的概念機器學習模型(機器學習方法)的評價標準,會涉及到一些概念。

處理數據時我們要發現:
數據是用來訓練機器的,讓機器學習的。
機器學完之後的狀態會有很多種,比如擬合的有一點點不標準【狀態1】,擬合的沒有錯誤【狀態2】,擬合的非常均勻【狀態3】等等。
擬合好了也就是學完了之後,我們拿到新的數據來,對機器說,幫我看看這個數據處理結果。
這時候又會有很多狀態,比如這個新的數據在狀態1底下很優秀,在狀態2底下還可以,在狀態3底下反而出錯了。
那是因爲,狀態1大致情況下都是對的,泛化程度較好,狀態3過於細化,僅僅滿足給定的值遇到新值就分錯了。
所有我們要想辦法在已有數據下,讓機器學到一個最好的狀態,這個狀態不要求把原始數據分全對,而是要求用較高正確率識別新值。
措施:
把已有的數據集按照一定的比例分成兩份,一份用來給機器學習,另一份當成試卷用來檢測學習結果,我們選擇答卷較好的算法。這樣有新值來了就能有較高的正確率了。
用來給機器學習的那一份數據叫:訓練集。用來檢測的拿分數據叫:測試集。
注意,我們不能把測試集用來訓練,就像我們不能把以後要考的期末試卷拿來當習題一樣。

在代碼中:
使用 sklearn 可以輕鬆地將數據集拆分爲訓練數據和測試數據。
我們只需輸入 train_test_split 命令。

from sklearn.model_selection import train_test_split
X_train, X_test = train_test_split(X,  test_size = 0.25)

第一個X參數是
numpy處理好的數據。
第二個參數 test_size 是我們想用作測試數據的點所佔百分比。
在上述調用中,我們使用 ,75% 作爲訓練數據,25% 的數據作爲測試數據。
分別用X_train, X_test 接收。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章