Python scikit学习光谱聚类的输入值是否为负值?
比如说,我有一个20列和10K行的df。由于数据的值范围很广,因此我使用以下代码来规范化数据:Python scikit学习光谱聚类的输入值是否为负值?,python,machine-learning,scikit-learn,cluster-analysis,Python,Machine Learning,Scikit Learn,Cluster Analysis,比如说,我有一个20列和10K行的df。由于数据的值范围很广,因此我使用以下代码来规范化数据: from sklearn.preprocessing import StandardScaler min_max_scaler = preprocessing.StandardScaler() df_scaled = min_max_scaler.fit_transform(df) df_scaled现在包含负值和正值。 现在,如果我将这个标准化数据帧传递给光谱簇,如下所示 spectral = S
from sklearn.preprocessing import StandardScaler
min_max_scaler = preprocessing.StandardScaler()
df_scaled = min_max_scaler.fit_transform(df)
df_scaled
现在包含负值和正值。
现在,如果我将这个标准化数据帧传递给光谱簇,如下所示
spectral = SpectralClustering(n_clusters = k,
n_init=30,
affinity='nearest_neighbors', random_state=cluster_seed,
assign_labels='kmeans')
clusters = spectral.fit_predict(df_scaled)
我去拿集群标签
这就是让我困惑的地方:报纸上说
“只应使用产生相似性分数(随相似性增加的非负值)的内核。群集算法不检查此属性。”
问题:df_scaled
的标准化负值是否会影响聚类结果?
或
它是否取决于我使用的亲和性计算,例如,预计算的
,rbf
?如果是,我如何使用规范化的输入值进行光谱聚类?
我的理解是,规范化可以改善聚类结果,有利于更快的计算。
非常感谢您提供有关如何解决此问题的帮助或提示。您传递的是数据矩阵,而不是预计算的关联矩阵
“最近邻”使用非负二进制内核
为了更好地理解内部工作原理,请查看源代码 您传递的是数据矩阵,而不是预计算的关联矩阵
“最近邻”使用非负二进制内核
为了更好地理解内部工作原理,请查看源代码