小编use*_*235的帖子

每次运行Python scikit-learn后,聚类结果的变化

我有一堆句子,我想用scikit-learn谱聚类来聚类它们.我运行代码并获得结果没有问题.但是,每次我运行它都会得到不同的结果.我知道这是启动的问题,但我不知道如何解决它.这是我在句子上运行的代码的一部分:

vectorizer = TfidfVectorizer(norm='l2',sublinear_tf=True,tokenizer=tokenize,stop_words='english',charset_error="ignore",ngram_range=(1, 5),min_df=1)
X = vectorizer.fit_transform(data)
# connectivity matrix for structured Ward
connectivity = kneighbors_graph(X, n_neighbors=5)
# make connectivity symmetric
connectivity = 0.5 * (connectivity + connectivity.T)
distances = euclidean_distances(X)
spectral = cluster.SpectralClustering(n_clusters=number_of_k,eigen_solver='arpack',affinity="nearest_neighbors",assign_labels="discretize")
spectral.fit(X)
Run Code Online (Sandbox Code Playgroud)

数据是句子列表.每次代码运行时,我的聚类结果都不同.如何使用光谱聚类获得一致的结果.我对Kmean也有同样的问题.这是我对Kmean的代码:

vectorizer = TfidfVectorizer(sublinear_tf=True,stop_words='english',charset_error="ignore")
X_data = vectorizer.fit_transform(data)
km = KMeans(n_clusters=number_of_k, init='k-means++', max_iter=100, n_init=1,verbose=0)
km.fit(X_data)
Run Code Online (Sandbox Code Playgroud)

我感谢你的帮助.

python cluster-analysis k-means spectral scikit-learn

8
推荐指数
2
解决办法
1万
查看次数

如何使用rpart中的所有功能?

我正在使用rpart包进行决策树分类.我有一个包含大约4000个功能(列)的数据框.我想rpart()为我的模型使用所有功能.我怎样才能做到这一点?基本上,rpart()会要求我以这种方式使用该功能:

dt <- rpart(class ~ feature1 + feature2 + ....)
Run Code Online (Sandbox Code Playgroud)

我的功能是文档中的单词,所以我有超过4k的功能.每个功能都由一个单词表示.是否有可能在不编写所有功能的情况下使用它们?

r decision-tree document-classification rpart

6
推荐指数
1
解决办法
882
查看次数