改善您的 ML.NET 模型

了解如何改善您的 ML.NET 模型。

重構問題

有時候,改善模型可能與資料或用來定型模型的技巧無關。 可能只是問錯了問題。 請考慮從不同的角度看問題,並利用資料擷取潛在指標和隱藏的關聯性,以精簡問題。

提供更多的資料樣本

像人類一樣,得到的定型演算法愈多,愈可能提升效能。 提升模型效能的方法之一,是向演算法提供更多的定型資料樣本。 它學習的資料愈多,能夠正確識別的案例就愈多。

將內容新增至資料

單一資料點的意義很難解讀。 建置圍繞資料點的內容,有助於演算法以及主題專家做出更好的決策。 例如,房屋有三個臥房的事實,並不是很好的價格指標。 不過,如果您新增內容,且現在知道它位在主要都會區的郊區、平均年齡為 38、平均家庭收入為 80,000 USD、學校位列前百分之 20,則演算法就有較多的決策基礎資訊。 此內容全都可新增為機器學習模型的輸入特性。

使用有意義的資料和特性

雖然更多資料樣本和特性有利於改善模型的正確性,但它們也可能帶入雜訊,因為並非所有的資料和特性都有意義。 因此,請務必了解哪些特性對演算法決策影響最大。 使用 Permutation Feature Importance (PFI) 等技巧,有利於識別這些主要特性,且不僅可協助說明模型,還可使用輸出作為特性選取方法,減少進入定型程序的雜訊特性量。

如需關於使用 PFI 的詳細資訊,請參閱使用排列特徵重要度說明模型預測

交叉驗證

交叉驗證是一種定型和模型評估技巧,會將資料分割成幾個分割,在這些分割上定型多個演算法。 這項技巧藉由定型程序提供的資料,改善模型的穩定性。 除了提升看不見的觀察值效能之外,在資料限制的環境中,它是使用較小資料集定型模型的有效工具。

請瀏覽下列連結,以了解如何在 ML.NET 中使用交叉驗證

超參數微調

定型機器學習模型是一種反覆探勘程序。 例如,什麼是使用 K-means 演算法定型模型時的最佳叢集數? 答案取決於許多因素,例如資料的結構。 尋找該數字可能需要試驗不同的 k 值,然後評估效能以判斷哪個值是最佳的效能。 微調參數以引導定型程序尋找最佳模型的做法稱為超參數微調。

選擇不同的演算法

迴歸和分類等機器學習工作,包含各種演算法實作。 可能是您嘗試解決的問題以及您的資料結構方式,不適合目前的演算法。 在此情況下,請考慮使用不同的演算法處理工作,看看它能否從您的資料學得更好。

下列連結提供更多演算法選擇指引