我想对200种加密货币进行聚类分析,并使用“ tslearn”模块。 每种货币都有365条记录,但某些货币则更少 我喜欢使用3种聚类分析方法进行比较。
我的问题是
重心计算属于聚类分析方法吗?如果是,此方法可以将货币数据聚类吗?
是否有用于验证K值的函数? 用于确定最适合进行聚类分析的K值。
在此模块中,有任何用于集群验证的功能可以显示哪种方法是最好的?
,此代码有什么问题,为什么结果是“ nan”? 我的数据形状是>> print(formatted_dataset.shape)
对于下面的代码,我喜欢使用DTW距离进行测量,如何选择DTW?
import pandas as pd
import numpy as np
%matplotlib inline
import seaborn as sns
from matplotlib import pyplot as plt
from datetime import datetime
from dateutil.parser import parse
import string
from datetime import date
#K shape
seed = 0
numpy.random.seed(seed)
formatted_dataset = TimeSeriesScalerMeanVariance().fit_transform(formatted_dataset[:200])
sz = formatted_dataset.shape[2]
#Euclidean k-means
ks = KShape(n_clusters=3, verbose=True, random_state=seed)
y_pred = ks.fit_predict(formatted_dataset)
plt.figure()
for yi in range(3):
plt.subplot(3, 1, 1 + yi)
for xx in formatted_dataset[y_pred == yi]:
plt.plot(xx.ravel(), "k-", alpha=.2)
plt.plot(ks.cluster_centers_[yi].ravel(), "r-")
plt.xlim(0, sz)
plt.ylim(-4, 4)
plt.title("Cluster %d" % (yi + 1))
plt.tight_layout()
plt.show()