從2007年發展至今的Python機器學習函式庫Scikit-learn,終於發布1.0版本,這代表該版本已經擁有足夠的穩定性,用戶已經可用於生產環境中。的確,官方在第一個主要版本,把更新重點擺在穩定性,使多項用戶常用功能更加強健,並讓Scikit-learn可以應付更多複雜使用場景。

而在功能更新上,第一項scikit-learn的重要更新便是關鍵字參數,官方解釋,scikit-learn API提供許多需要輸入大量參數的函式和方法,但是過多的參數常會造成混淆,閱讀程式碼的人需要搞懂每個參數的位置和意義。

而官方為了提高scikit-learn程式碼的可讀性,現在用戶需要提供大多數參數的名稱,作為關鍵字參數,而非原本以位置作為識別方法的位置參數。這樣的改動更具可讀性,位置參數從0.23版本已經被棄用,現在則會出現類型錯誤。

另外,官方在新類別SGDOneClassSVM,加入了使用隨機梯度下降方法,實作的One-Class SVM線上線性版本OneClassSVM。One-Class SVM是用來檢測異常資料的演算法,而結合核心逼近技術,SGDOneClassSVM可用來逼近在OneClassSVM中,實作的核心化One-Class SVM的解,其運算時間的複雜度和樣本數量呈線性關係。

官方提到,由於核心化One-Class SVM的複雜度,最好為樣本的二次方,所以SGDOneClassSVM適合用於樣本數大於一萬的大量訓練資料集,其中的SGD變體能夠快上幾個數量級。

熱門新聞

Advertisement