如何获取模型属性列表(不是传递给 Estimator 类的超参数)?
例如:
kmeans = KMeans(n_clusters=5)
kmeans.fit(X)
kmeans.labels_
如何从模型对象(以_结尾)获取标签等属性列表?
如何获取模型属性列表(不是传递给 Estimator 类的超参数)?
例如:
kmeans = KMeans(n_clusters=5)
kmeans.fit(X)
kmeans.labels_
如何从模型对象(以_结尾)获取标签等属性列表?
我相信您正在尝试在拟合数据之前访问“labels_” 。
from sklearn.cluster import KMeans
import numpy as np
X = np.array([[1, 2], [1, 4], [1, 0],
[10, 2], [10, 4], [10, 0]])
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
def get_properies(model):
return [i for i in model.__dict__ if i.endswith(‘_’)]
get_properies(kmeans)
['n_clusters','init','max_iter','tol','precompute_distances','n_init','verbose','random_state','copy_x','n_jobs','算法','cluster_centers_','标签_','惯性_','n_iter_']
您可以从相应算法的 sklearn 页面中找到算法的属性列表。
对于 Kmeans:
Attributes
cluster_centers_ :ndarray of shape (n_clusters, n_features)
Coordinates of cluster centers. If the algorithm stops before fully converging (see tol and max_iter), these will not be consistent with labels_.
labels_ :ndarray of shape (n_samples,)
Labels of each point
inertia_ :float
Sum of squared distances of samples to their closest cluster center.
n_iter_ :int
Number of iterations run.
参考:https ://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html
我认为您的问题是如何找到模型的属性(参数是用于调整模型的参数)。
您可以在属性部分的该模型的 Scikit-learn 文档中找到模型属性。
K-Means 的属性:
cluster_centers_: ndarray of shape (n_clusters, n_features) 集群中心的坐标。如果算法在完全收敛之前停止(参见 tol 和 max_iter),这些将与 label_ 不一致。
labels_: ndarray of shape (n_samples,) 每个点的标签
惯性_:样本到最近的聚类中心的距离平方和。
n_iter_:运行的迭代次数。
当你拟合模型时(比如说回归)
model.fit(x,y)
要获取模型参数,您可以尝试
model.params_
这给出了 y=b0+b1*x 中 b0,b1 的值