Sklearn 线性回归示例

数据挖掘 scikit-学习 线性回归 加权数据
2021-09-18 17:38:32

有人可以举一个在 sklearn 中使用稀疏数据(很多零)应用 Tf-idf 的例子吗?我不太确定在哪里插入 Tf-idf 的重量以及如何正确获得重量。如果不完全了解这一点,我将无法很好地使用该工具进行预测。谢谢你。

1个回答

sklearn网站上有一个tf-idf的应用

sklearn 为您处理稀疏矩阵,所以我不会太担心:

幸运的是,X 中的大多数值将为零,因为对于给定的文档,将使用少于几千个不同的单词。出于这个原因,我们说词袋通常是高维稀疏数据集。我们可以通过仅将特征向量的非零部分存储在内存中来节省大量内存。scipy.sparse 矩阵正是可以做到这一点的数据结构,scikit-learn 内置了对这些结构的支持。

关于插入权重的观点,我想您已经在训练语料库上执行了 tf-idf,但您不知道如何将其应用于您的测试语料库?如果是这样,你可以这样做(取自上面的链接)

from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.feature_extraction.text import CountVectorizer

count_vect = CountVectorizer()
X_train_counts = count_vect.fit_transform(data)

# Perform tf-idf
tfidf_transformer = TfidfTransformer()
X_train_tfidf = tfidf_transformer.fit_transform(X_train_counts)

docs_new = ['God is love', 'OpenGL on the GPU is fast'] # New test documents
X_test_counts = count_vect.transform(docs_new) # Count vectorise the new documents
X_test_tfidf = tfidf_transformer.transform(X_new_counts) # transfrom the test counts