作者:默思編輯部 發布:2026-07-17
scikit-learn 作為 Python 機器學習生態系裡歷史最悠久、應用最廣泛的函式庫之一,2026 年 6 月釋出的 1.9 版本,帶來幾項相當實用的更新,反映出這個專案即使在深度學習當道的時代,依然持續針對日常機器學習工作流程的痛點做出改善。
這次最受矚目的新功能,是全新的 Callback API——讓開發者能在模型訓練(fitting)過程中,插入回呼函式來監控訓練狀態,官方也內建了兩個現成的回呼函式:sklearn.callback.ProgressBar(顯示訓練進度條)與 sklearn.callback.ScoringMonitor(在每次迭代結束時計算並記錄評分指標)。這填補了 scikit-learn 過去一個長期被詬病的痛點——訓練一個模型時,往往只能等到整個流程跑完才知道結果,中途缺乏即時的進度回饋,尤其在處理大型資料集、訓練時間較長的情境下,這種「黑盒子」式的等待體驗並不理想。
scikit-learn 這次新增了一個名為 narwhals 的輕量相依套件,用來簡化對 pandas 與 Polars 這兩種資料框架格式的輸入輸出支援——這代表愈來愈多使用 Polars(前面提到效能大幅領先 pandas 的新一代資料處理函式庫)的開發者,現在能更順暢地把 Polars DataFrame 直接餵給 scikit-learn 的模型訓練流程,不需要額外手動轉換成 pandas 格式,減少了資料處理管線中不必要的轉換步驟與效能損耗。
sparse_interface 設定選項,讓開發者能選擇函式回傳的稀疏物件格式(SciPy 稀疏矩陣或稀疏陣列),可以透過 sklearn.set_config(sparse_interface="sparray") 切換。對於用 Python 做機器學習開發的資料科學家與工程師而言,Callback API 的加入代表訓練流程的可觀測性(observability)明顯提升——尤其是在生產環境的訓練管線裡,能夠即時監控訓練進度與指標,對及早發現異常(例如指標不收斂、訓練時間異常拉長)非常實用,值得在升級後優先評估導入既有的訓練流程裡。