1. 程式人生 > 實用技巧 >05-網格搜尋與k近鄰演算法中更多超引數

05-網格搜尋與k近鄰演算法中更多超引數

  在上一篇部落格中介紹瞭如何使用網格搜尋的方式來尋找機器學習演算法中最好的超引數。不過我們網格搜尋的過程是使用自己寫的 for 迴圈,在這個過程中,我們發現對於一些超引數而言,它們是存在相互依賴關係的。比如我們在搜尋明可夫斯基距離相應的 p 時,只有當 weights=“distance” 時,才有意義。

  為了讓我們更加方便地使用網格搜尋這樣的方式來尋找最佳的超引數,sklearn 封裝了一種專門用於網格搜尋的方式 Grid Search


下面我們就來具體使用一下。

1. 獲取我們所需要的資料集

在這裡插入圖片描述

2. 定義 Grid Search 所需要的引數

在這裡插入圖片描述

3. 具體使用

在這裡插入圖片描述
在這裡插入圖片描述

4. GridSearch 中還可以傳入更多的引數

在這裡插入圖片描述


更多的距離定義

  除了之前提到的明可夫斯基距離,我們還可以採用其他距離。比如在兩個樣本之間,我們可以使用統計學上的相似度來定義它們之間的距離,而相似度又有很多定義的方式,如下圖所示。
在這裡插入圖片描述
有興趣的同學可以檢視官方手冊


具體程式碼參考06 網格搜尋與k近鄰演算法中更多的超引數