pooling_func в AgglomerativeClustering не работает.
from sklearn import metrics
from sklearn.datasets.samples_generator import make_blobs
from sklearn.cluster import AgglomerativeClustering
centers = [[1, 1], [-1, -1], [1, -1]]
X, labels_true = make_blobs(n_samples=300, centers=centers, cluster_std=0.5,
random_state=0)
model = AgglomerativeClustering(linkage='complete',
connectivity=None,
affinity = 'cosine',
pooling_func = "test_error",
n_clusters=3)
model.fit(X)
Поднять ошибку, потому что pooling_func не вызывается. Это строка.
Нет предупреждения, нет ошибки
Linux-4.4.0-64-generic-x86_64-с-debian-stretch-sid
Python 3.5.3 | упаковано conda-forge | (по умолчанию, 9 февраля 2017 г., 14:37:12)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-15)]
NumPy 1.13.1
SciPy 0.19.1
Scikit-Learn 0.19.0
Мне кажется, что это проблема дизайна класса: FeatureAgglomeration происходит от AgglomerativeClustering, но pooling_func используется только в AgglomerativeClustering.transform.
Смело открывайте PR. Я не рассматривал подробно, но возможным решением было бы, чтобы FeatureAgglomeration и AgglomerativeClustering были производными от общего базового класса и имели pooling_func только в FeatureAgglomeration.
Сказав, что могут быть причины, по которым это было сделано именно так, хотя я не могу придумать ни одной.
(И FeatureAgglomeration, вероятно, должна быть оберткой или миксином ...)
28 сентября 2017 года в 21:24 "Loïc Estève" [email protected] написал:
Мне кажется, что это проблема дизайна класса: FeatureAgglomeration
происходит от AgglomerativeClustering, но pooling_func используется только в
Агломеративная кластеризация. Трансформация.Смело открывайте PR. Я не смотрел подробно, но возможное решение
было бы, чтобы FeatureAgglomeration и AgglomerativeClustering производили
из общего базового класса и иметь pooling_func только в FeatureAgglomeration.Сказав, что могут быть причины, по которым это было сделано именно так, хотя я
не могу ни о чем думать.-
Вы получаете это, потому что подписаны на эту беседу.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/scikit-learn/scikit-learn/issues/9846#issuecomment-332807654 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AAEz6z9lkUF7u0jA2-sWEe_XIZvUk1r_ks5sm4HdgaJpZM4PnBzV
.
Я хочу заняться этим вопросом, если над ним в настоящее время не работают.