日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

scikit_learn中fit()/transform()/fit_transform()区别和联系

發布時間:2023/12/19 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scikit_learn中fit()/transform()/fit_transform()区别和联系 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

函數功能解釋

fit()?

根據訓練集數據學習得到數據集的特征,比如均值、中位數、標準差等等

transform()

將fit()學到數據集特征,應用到數據集,比如學習到數據集平均數為6,應用到填充數據中的缺失值

fit_transform() = fit()+transform()

即將從數據集中學到的特征(均值、中位數、標準差)應用到數據集中

舉例

此處以使用均值填充缺失值舉例

>>> import numpy as np >>> from sklearn.impute import SimpleImputer# 學習方法(策略) >>> imp_mean = SimpleImputer(missing_values=np.nan, strategy='median') # 學習方法(策略)從下面數據集中進行學習 [[ 7. 2. 3.][ 4. nan 6.][10. 5. 9.]]>>> imp_mean_fit = imp_mean.fit([[7, 2, 3], [4, np.nan, 6], [10, 5, 9]]) # 學習方法(策略)從實際數據中進行學習,學習到的第1/2/3列中位數 分別是7.0,3.5,6.0 >>> imp_mean_fit.statistics_ array([7. , 3.5, 6. ])# 將學習到的結果(第1/2/3列中位數 分別是7.0,3.5,6.0)應用到數據集X,原來的np.nan分別被中位數替換 >>> X = [[np.nan, 2, 3], [4, np.nan, 6], [10, np.nan, 9]] >>> print(imp_mean_fit.transform(X))[[ 7. 2. 3. ][ 4. 3.5 6. ][10. 3.5 9. ]]

應用

fit()+transform() 以及 fit_transform()只能應用在訓練集,一般不能對測試集進行使用,測試集合一般用transfrom(),即只能將訓練集提取到特征應用到訓練集及測試集。原因是如果fit_transfrom(trainData)后,使用fit_transform(testData)而不transform(testData),雖然也能歸一化,但是兩個結果不是在同一個“標準”下的,具有明顯差異。

?

總結

以上是生活随笔為你收集整理的scikit_learn中fit()/transform()/fit_transform()区别和联系的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。