1. 【機器學習】scikit-learn 1.0 版本重要新特性一覽

        共 2339字,需瀏覽 5分鐘

         ·

        2021-09-18 16:27

        1 簡介

        就在幾天前,著名的機器學習框架scikit-learnpypi上釋放了其1.0rc1版本,這里給大家科普一下,版本號中的rcRelease Candidate的簡稱,代表當前的版本是一個候選發(fā)布版本,一旦到了這個階段,scikit-learn對于1.0版本的開發(fā)設(shè)計就基本上不會再新增功能,而是全力投入到查缺補漏的測試中去也就意味著:

        ?

        經(jīng)歷了十余年的開發(fā)進程,scikit-learn即將迎來其頗具里程碑意義的一次大版本發(fā)布!

        ?

        在這次大版本更新中,scikit-learn也很有誠意地帶來了諸多新特性,下面我們就來對其中一些關(guān)鍵性的內(nèi)容進行簡單的介紹。

        2 scikit-learn 1.0 版本重要特性一覽

        2.1 強制要求使用關(guān)鍵詞參數(shù)傳參

        按照scikit-learn官方的說法,為了更加清楚明確地構(gòu)建機器學習代碼,在之后的版本中,絕大部分API都將逐漸轉(zhuǎn)換為強制使用「關(guān)鍵詞參數(shù)」,使用「位置參數(shù)」則會直接拋出TypeError錯誤,以SVC為例:

        2.2 新增r_regression()

        在新版本中新增了sklearn.feature_selection.r_regression(),可以用來快速計算各個自變量與因變量之間的皮爾遜簡單相關(guān)系數(shù)來輔助特征工程過程。

        2.3 新增線性分位數(shù)回歸模型QuantileRegressor()

        新版本中在sklearn.linear_model下添加了線性分位數(shù)回歸模型QuantileRegressor(),可用于構(gòu)建回歸模型由自變量求出因變量的條件分位數(shù),近年來在計量經(jīng)濟學中應(yīng)用廣泛。

        2.4 新增基于隨機梯度下降的OneClassSvm模型

        sklearn.linear_model中新增了基于隨機梯度下降法的異常檢測模型SGDOneClassSVM()

        2.5 帶交叉驗證的Lasso回歸與ElasticNet新增sample_weight參數(shù)

        sklearn.linear_model中的LassoCV()ElasticNetCV()新增參數(shù)sample_weight,可幫助我們在模型建立的過程中通過構(gòu)建權(quán)重提升部分樣本的重要性。

        2.6 為分位數(shù)回歸模型新增模型性能度量指標

        伴隨著新的分位數(shù)回歸模型,scikit-learn也順勢新增了專門用于度量分位數(shù)回歸模型性能的Pinball loss系數(shù):

        2.7 模型選擇新增StratifiedGroupKFold()

        新版中將sklearn.model_selection中常用的StratifiedKFold()GroupKFold()進行結(jié)合,使得我們可以快速構(gòu)建分層分組K折交叉驗證流程,詳情參考:https://scikit-learn.org/dev/modules/generated/sklearn.model_selection.StratifiedGroupKFold.html#sklearn.model_selection.StratifiedGroupKFold

        2.8 KMeans聚類中的k-means++初始化方法運算速度提升

        新版本中cklearn.cluster中常用的KMeans()MiniBatchKMeans()聚類模型,在默認的k-means++簇心初始化方法下運算速度獲得大幅度提高,尤其是在多核機器上表現(xiàn)更佳。

        2.9 多項式&交互項特征生成速度提升

        新版本中sklearn.preprocessing中用于快速合成多項式&交互項特征的PolynomialFeatures()的運算速度更快了,且在輸入為大型稀疏特征時效果更為明顯。

        2.10 np.matrix型輸入即將棄用

        1.0版本開始,scikit-learn中的各種算法模型在接受numpy中的matrix類型輸入時,會打印「棄用警告」,且從未來的1.2版本開始,當用戶輸入np.matrix類型時將會直接報錯:

        2.11 利用feature_names_in_獲取pandas數(shù)據(jù)框輸入下的特征名稱

        當輸入的特征為pandas中的DataFrame類型時,對于訓練好的模型,可以使用feature_names_in_屬性獲取到對應(yīng)輸入特征的字段名稱:

        2.12 繪制局部依賴圖的方式變化

        在我們試圖對模型進行解釋時,局部依賴圖是一個比較經(jīng)典的工具,在以前的版本中我們可以使用sklearn.inspection中的plot_partial_dependence()來繪制局部依賴圖,而在新版本中將會棄用這種方式,并且在1.2版本開始正式移除這個API,新的替代方案是使用sklearn.inspection.PartialDependenceDisplayfrom_estimator()

        除了這些之外,在scikit-learn新版本中還有眾多的細碎的更新與調(diào)整內(nèi)容,感興趣的朋友可以前往https://scikit-learn.org/dev/whats_new/v1.0.html自行瀏覽學習。


        以上就是本文的全部內(nèi)容,歡迎在評論區(qū)與我進行討論。

        往期精彩回顧




        本站qq群851320808,加入微信群請掃碼:
        瀏覽 103
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
          
          

            1. 牛牛精品成人免费视频 | 波多野结衣中文字幕一区二区三区123 | 捷克男男gay做爰大尺度 日韩视频国产 | henhengan | 好大好爽在线 |