如何对具有分类知识库的python中的新条目进行分类

时间:2017-04-27 13:59:16

标签: python cluster-analysis k-means

我在python中有一组向量,构成我的知识库,例如:

PS C:\Windows\system32>  $ROW = Select-RowFromCSV -CSV (Import-Csv "C:\scripts\csv.csv")
select row # from CSV: 0

PS C:\Windows\system32> $ROW
Name         Phone                                                                                          

Dan         111111                                                                                         
Dave        5555555                                                                                        
Oliver      666666                                                                                         
Dan         111111                                                                                         

PS C:\Windows\system32> 

现在我使用以下方法计算了KB的集群:

 KB=[[1,2,3,4],[1,2,2,1],[4,3,1,2],[5,4,3,5]]

现在我有一个新条目(我可以有多个),

 from sklearn.cluster import KMeans 
 model=KMeans(n_clusters=3)
 model.fit(KB)

我知道哪个是最适合 A 的集群,而不是上面计算的集群,然后利用KB。

你能帮帮我吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

你在这里:

KB=[[1,2,3,4],[1,2,2,1],[4,3,1,2],[5,4,3,5]]
from sklearn.cluster import KMeans 
model=KMeans(n_clusters=3).fit(KB)
A=[3,2,1,3]
l = model.predict([A])
print model.labels_, l

centers = model.cluster_centers_.copy()
print centers

为了让你的模型变得'合适',我加入两行。 然后我使用方法预测来预测。 我还打印了模型中使用的每个示例的标签。

修改添加情节

import matplotlib.pyplot as plt
import numpy
# Compute the distances vector to vector
d = numpy.array([[numpy.sum(KBi - cj) for KBi in KB] for cj in centers])
print d
# for cluster 0 and 1
plt.scatter(d[0], d[1])
plt.pause(10)