私はsklearnのTruncatedSVD
クラスを使用してより低い次元に分解しようとしている行列を持っています。コンストラクタのn_components
引数については、私は500を渡しています。しかし、fit_transform
メソッドによって返されたデータフレームの形状をチェックすると、列の数は500とは異なります。これを引き起こす原因はわかりません。ここではコード -不適切な寸法を返す切り捨てられたSVD
# ORIGINAL DATAFRAME
tfidf_df.shape #(277, 51023)
# INITIALIZE SVD DECOMPOSER
svd_decomposer = TruncatedSVD(n_components=500, # Desired dimensionality of output data
algorithm='randomized', # SVD solver to use
n_iter=5, # Number of iterations for randomized SVD solver
random_state=42, # pseudo-random number generator
tol=0.0 # Tolerance for ARPACK
)
svd_decomposer.n_components #500
# DECOMPOSE THE DATAFRAME
tfidf_svd = svd_decomposer.fit_transform(tfidf_df)
tfidf_svd.shape # (277, 277)
は、出力データフレームtfidf_svd
は形状(277, 500)
ですべきではないです。ここで間違っていることを私は理解できません。