擅长:python、mysql、java
<p>sklearn正在检查一个名为<code>check_is_fitted</code>的函数,该函数正在查看模型的属性。在您的例子中,由于您从未调用过<code>fit</code>,因此某些属性不存在,这会触发错误。您可以通过手动创建它们来伪造它,例如:</p>
<pre><code>from sklearn.cluster import KMeans
import numpy as np
np.random.seed(42)
datapoints1=np.random.rand(200,38)
datapoints2=np.random.rand(200,38)
kmeans1=KMeans(
init="k-means++",
random_state=42,
n_init=100
)
kmeans1=kmeans1.fit(datapoints1)
kmeans2=KMeans(
init=kmeans1.cluster_centers_,
max_iter=1,
n_init=1
)
kmeans2.cluster_centers_ = kmeans1.cluster_centers_ # you have it
kmeans2.labels_ = kmeans1.labels_ # to test if required, no difference found
print([v for v in vars(kmeans2)
if v.endswith("_") and not v.startswith("__")]) # if this list is empty, the model if not fitted, you can compare it to kmeans1
pred = kmeans2.predict(datapoints2)
print(pred) # [3 7 1 ... 2]
print((kmeans1.cluster_centers_== kmeans2.cluster_centers_).all()) # True
</code></pre>