一.描述

截断奇异值分解是一种矩阵因式分解技术,非常类似于PCA, 只不过SVD分解在矩阵上进行,而PCA在数据的协方差矩阵上进行。通常,SVD用于发现矩阵的主成分。TSVD与一般SVD不同的是,它可以产生一个指定纬度的分解矩阵,从而达到降维的目的

二.实例

from sklearn.datasets import load_digits
from sklearn.decomposition import TruncatedSVD
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import cross_val_score
X, y = load_digits(return_X_y=True)
X.shape
y.shape
rfc = RandomForestClassifier()
# 交叉验证10次
scroe = cross_val_score(rfc, X, y, cv=10)
scroe.mean()
# 降至16个特征维
tsvd = TruncatedSVD(n_components=16)
X_tsvd = tsvd.fit_transform(X)
scroe = cross_val_score(rfc, X_tsvd, y, cv=10)
scroe.mean()
# 降至8个特征维
tsvd = TruncatedSVD(n_components=8)
X_tsvd = tsvd.fit_transform(X)
scroe = cross_val_score(rfc, X_tsvd, y, cv=10)
scroe.mean()
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐