Python 2.7 sklearn meanshift拟合(X)然后预测(Y)
我正在尝试使用scikit learn的0.15.2版本。在此版本中,文档显示有单独的Python 2.7 sklearn meanshift拟合(X)然后预测(Y),python-2.7,scikit-learn,Python 2.7,Scikit Learn,我正在尝试使用scikit learn的0.15.2版本。在此版本中,文档显示有单独的fit(X)和predict(X)函数,以及以前版本中可用的组合fit\u predict(X)函数 我认为这将允许我适应一个数组,然后预测一个新数组(因此fit(X)和predict(Y))。但是,当我尝试此操作时,我得到一个ValueError,因为维度不匹配 这是我的密码: from sklearn.cluster import MeanShift, estimate_bandwidth bandwidt
fit(X)
和predict(X)
函数,以及以前版本中可用的组合fit\u predict(X)
函数
我认为这将允许我适应一个数组,然后预测一个新数组(因此fit(X)
和predict(Y)
)。但是,当我尝试此操作时,我得到一个ValueError
,因为维度不匹配
这是我的密码:
from sklearn.cluster import MeanShift, estimate_bandwidth
bandwidth = estimate_bandwidth(X, quantile=0.2, n_samples=5000) # n_samples 100000 memory bound
ms = MeanShift(bandwidth=bandwidth)
ms.fit(X)
results = ms.predict(Y)
是否有一种方法可以使用该模型预测新(不同)阵列的簇,而不是最初安装该模型的阵列
我发现了这篇文章(),但我认为它提出的问题与我试图提出的问题不同。关于X和Y的形状以及你试图预测的内容的更多信息会有所帮助。iirc X应该是m-by-n矩阵(m个特征,n个训练向量),而Y应该是m-by-k(m个特征,k个值。可能需要k=1)抱歉,我花了这么长时间才回复。我可以预测超过k=1(特别是当k=n时),所以我认为这不是答案。。。我将进一步深入研究代码,看看是否能解决这个问题。我只是希望有人能马上知道好吧,我知道了。看起来m(功能的数量)是我的问题。我使用我的一部分特征来拟合模型,然后在下一步中需要其余的特征,所以我尝试在完整的数据集上进行预测,但当然,这很愚蠢,因为模型如何知道较大的特征集中哪一个是原始特征集?我想我需要预测功能的子集,然后将我想用于下一步的其他功能连接起来。感谢m、n和k的讨论,帮助我思考这个问题。