gpt4 book ai didi

python - 如何从 sklearn TruncatedSVD 对象中获取特征名称?

转载 作者:太空宇宙 更新时间:2023-11-03 12:37:07 25 4
gpt4 key购买 nike

我有以下代码

import pandas as pd
import numpy as np
from sklearn.decomposition import TruncatedSVD
df = df = pd.DataFrame(np.random.randn(1000, 25), index=dates, columns=list('ABCDEFGHIJKLMOPQRSTUVWXYZ'))

def reduce(dim):
svd = sklearn.decomposition.TruncatedSVD(n_components=dim, n_iter=7, random_state=42)
return svd.fit(df)

fitted = reduce(5)

如何从 fitted 中获取列名?

最佳答案

In continuation of Mikhail post.

假设您已经从 vectorizer.get_feature_names() 获得了 feature_names,然后您调用了 svd.fit(X)

现在您还可以使用以下代码提取排序后的最佳特征名称:

best_fearures = [feature_names[i] for i in svd.components_[0].argsort()[::-1]]

上面的代码,尝试返回 svd.components_[0] 的降序排序的参数,并从 feature_names (所有功能)中找到相对索引,并且构造 best_features 数组。然后您可以看到例如 10 个最佳功能:

In[21]: best_features[:10]

Out[21]:
['manag',
'develop',
'busi',
'solut',
'initi',
'enterprise',
'project',
'program',
'process',
'plan']

关于python - 如何从 sklearn TruncatedSVD 对象中获取特征名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44633571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com