【问题标题】:sklearn MeanShift different prediction outputsklearn MeanShift 不同的预测输出
【发布时间】:2016-01-06 03:36:18
【问题描述】:

为什么我从行得到不同的输出

打印 ms.fit_predict(val), p_all[idx]

ms.fit_predict(val) 的输出都是 0。

将 numpy 导入为 np 从 sklearn.cluster 导入 MeanShift,estimate_bandwidth X = 100*np.random.random_sample((500,15))-100 X = np.array(X, dtype=np.float) 带宽=估计带宽(X,分位数=0.01) ms = MeanShift(带宽=带宽,bin_seeding=True) ms.fit(X) p_all = ms.fit_predict(X) 对于 idx,枚举(X)中的 val: 打印值 打印 X[idx] 打印 ms.fit_predict(val), p_all[idx]

【问题讨论】:

    标签: python scikit-learn


    【解决方案1】:

    您正在循环中重新拟合单个数据点。 p_all 是拟合X 中所有数据的聚类分配。循环运行后,如果您打印出ms.cluster_centers_,它将与val 相同,因为它适合val。因此,将只有一个集群,其索引为0

    我猜你对MeanShift 的接口感到困惑。它不会在网上改装。每次调用fit()fit_predict() 时,它只适合您传递的数据,而忽略旧的解决方案。

    我建议看看sklearn MeanShift documentation

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-07
    • 2019-03-08
    • 2014-04-03
    • 1970-01-01
    • 2021-01-25
    • 2016-04-01
    • 2023-04-08
    • 2020-04-14
    相关资源
    最近更新 更多