Feature Agglomeration降维中affinity='precomputed'是什么意思?
What does mean affinity='precomputed' in Feature Agglomeration dimensionality reduction?
affinity='precomputed'在特征聚集降维(scikit-learn)中是什么意思,如何使用?
我得到的结果比使用其他亲和力选项(例如 'euclidean'、'l1'、'l2' 或 'manhattan')要好得多,但是,我不确定这个 'precomputed' 实际上意味着我是否必须向特征集聚算法提供一些东西 "precomputed"?
"precomputed" 到底是什么意思?
除了预处理(缩放)的原始数据,numpy 数组,我没有传递任何其他东西。 fit_transform 特征聚集后,结果被传递给 Birch 聚类算法,我得到的结果比提到的其他亲和力好得多。结果与 PCA 相当,但内存消耗开销低得多,所以我会使用特征集聚作为降维,但我担心我做错了?
问得好。
affinity == 'precomputed'
表示使用包含原始数据distance matrix
上三角的flatten数组
参考(source code):
if affinity == 'precomputed':
# for the linkage function of hierarchy to work on precomputed
# data, provide as first argument an ndarray of the shape returned
# by pdist: it is a flat array containing the upper triangular of
# the distance matrix.
i, j = np.triu_indices(X.shape[0], k=1)
X = X[i, j]
elif affinity == 'l2':
# Translate to something understood by scipy
affinity = 'euclidean'
elif affinity in ('l1', 'manhattan'):
affinity = 'cityblock'
affinity='precomputed'在特征聚集降维(scikit-learn)中是什么意思,如何使用? 我得到的结果比使用其他亲和力选项(例如 'euclidean'、'l1'、'l2' 或 'manhattan')要好得多,但是,我不确定这个 'precomputed' 实际上意味着我是否必须向特征集聚算法提供一些东西 "precomputed"? "precomputed" 到底是什么意思?
除了预处理(缩放)的原始数据,numpy 数组,我没有传递任何其他东西。 fit_transform 特征聚集后,结果被传递给 Birch 聚类算法,我得到的结果比提到的其他亲和力好得多。结果与 PCA 相当,但内存消耗开销低得多,所以我会使用特征集聚作为降维,但我担心我做错了?
问得好。
affinity == 'precomputed'
表示使用包含原始数据distance matrix
上三角的flatten数组
参考(source code):
if affinity == 'precomputed': # for the linkage function of hierarchy to work on precomputed # data, provide as first argument an ndarray of the shape returned # by pdist: it is a flat array containing the upper triangular of # the distance matrix. i, j = np.triu_indices(X.shape[0], k=1) X = X[i, j] elif affinity == 'l2': # Translate to something understood by scipy affinity = 'euclidean' elif affinity in ('l1', 'manhattan'): affinity = 'cityblock'