sklearn計算兩個向量之間的距離

2021-08-15 01:54:28 字數 1154 閱讀 4468

from sklearn.feature_extraction.text import countvectorizer

from sklearn.metrics.pairwise import euclidean_distances

from sklearn.feature_extraction.text import tfidfvectorizer

import jieba

def seg_word(sentence):

"""對句子分詞"""

seg_list = jieba.cut(sentence)

seg_result =

for w in seg_list:

return seg_result

doc1='空氣質素良輕度汙染空氣質素指數125首要汙染物為細顆粒物'

doc2='美國環境保護署估計空氣在室內汙染的嚴重程度可能比室外汙染高8倍'

doc3='天然礦泉水是指從地下深處自然湧出的或鑽井採集的含有一定量的礦物質微量元素或其他成分'

# 分詞

seg1=seg_word(doc1)

seg2=seg_word(doc2)

seg3=seg_word(doc3)

corpus=

#將分詞結果加入語料庫

tfidf_vectorizer = tfidfvectorizer()

tfidf_count = tfidf_vectorizer.fit_transform(corpus).todense()

# 列印所有的詞彙,會為每個詞進行編號

print(tfidf_vectorizer.vocabulary_)

# 列印每個文件的向量表示形式,索引對應單詞的編號,值為單詞的tfidf值

print(tfidf_vectorizer.fit_transform(corpus).todense())

for x, y in [[0, 1],[0,2]]:

# 計算兩個向量之間的距離(歐氏距離)

dist = euclidean_distances(tfidf_count[x], tfidf_count[y])

print('文件{}與文件{}的距離{}'.format(x, y, dist))

參考:

如何計算兩個空間向量之間的轉角

在三維空間當中,經常涉及到計算兩個向量之間的角度問題,而且這個角度是特定的方向角度 也就是說,圍繞他們的公共法向量旋轉的角度 假定這兩個向量是a和b 我們知道 c a b是乙個向量,方向是按照右手座標系生成的,垂直於ab所在平面的向量,c向量的模是 c a b sincita 同時,我們知道,向量a...

計算兩個向量之間的旋轉矩陣

為了更好地推導,我們需要加入三個軸對齊的單位向量i,j,k。i,j,k滿足以下特點 i jxk j kxi k ixj kxj i ixk j jxi k ixi jxj kxk 0 0是指0向量 由此可知,i,j,k是三個相互垂直的向量。它們剛好可以構成乙個座標系。這三個向量的特例就是i 1,0,...

計算兩個年份之間的月份

僅為測試,根據實際情況.public class test calendar startcalendar calendar.getinstance startcalendar.settime start calendar endcalendar calendar.getinstance endcal...