【发布时间】:2015-09-24 04:40:51
【问题描述】:
我有一个使用 TfidfVectorizer 和 TruncatedSVD 的管道设置。我用 sklearn 训练模型并使用余弦相似度计算两个向量之间的距离。这是我的代码:
def create_scikit_corpus(leaf_names=None):
vectorizer = TfidfVectorizer(
tokenizer=Tokenizer(),
stop_words='english',
use_idf=True,
smooth_idf=True
)
svd_model = TruncatedSVD(n_components=300,
algorithm='randomized',
n_iterations=10,
random_state=42)
svd_transformer = Pipeline([('tfidf', vectorizer),
('svd', svd_model)])
svd_matrix = svd_transformer.fit_transform(leaf_names)
logging.info("Models created")
test = "This is a test search query."
query_vector = svd_transformer.transform(test)
distance_matrix = pairwise_distances(query_vector, svd_matrix, metric='cosine')
return svd_transformer, svd_matrix
问题是,一旦有了 distance_matrix 变量,我就不确定该怎么做。我想我对那到底是什么有点困惑。
我正在尝试查找与我的查询最匹配的文档。感谢您朝着正确的方向前进!
【问题讨论】:
标签: python scikit-learn