在使用PCA和NFC中有三個函數fit,fit_transform,transform區分不清各自的功能。通過測試,勉強了解各自的不同,在這里做一些筆記。
1.fit_transform是fit和transform的混合,相當於先調用fit再調用transform。
2.transform函數必須在fit函數之后調用否則會報錯
3.fit_transform返回的是降維之后的結果,而且是對列壓縮的
4.fit函數返回的是算法類,但是其成員變量components_是有數據的,而且似乎也是執行算法之后的結果,不過是對行壓縮的。將數據轉置后代入fit函數,和使用fit_transform得到的結果是不一樣的,但是很接近。說明fit也是做了一定的特征提取的,只不過是對行操作的。
至於詳細的區別目前沒找到有人說明。只是建議使用fit_transform,若要使用fit,注意這個函數是對行壓縮的