pooling_func em AgglomerativeClustering não funciona.
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)
Gerar erro porque o pooling_func não pode ser chamado. É uma corda.
Sem aviso, sem erro
Linux-4.4.0-64-generic-x86_64-with-debian-stretch-sid
Python 3.5.3 | embalado por conda-forge | (padrão, 9 de fevereiro de 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
Parece-me que este é um problema de design de classe: FeatureAgglomeration deriva de AgglomerativeClustering, mas pooling_func é usado apenas em AgglomerativeClustering.transform.
Sinta-se à vontade para abrir um PR. Não olhei em detalhes, mas uma solução possível seria fazer com que FeatureAgglomeration e AgglomerativeClustering derivem de uma classe base comum e ter pooling_func apenas em FeatureAgglomeration.
Dito isto, pode haver razões para ter sido feito assim, embora eu não consiga pensar em nenhuma.
(E FeatureAgglomeration provavelmente deve ser um wrapper ou um mixin ...)
Em 28 de setembro de 2017, 21:24, "Loïc Estève" [email protected] escreveu:
Parece-me que este é um problema de design de classe: FeatureAgglomeration
deriva de AgglomerativeClustering, mas pooling_func só é usado em
AgglomerativeClustering.transform.Sinta-se à vontade para abrir um PR. Eu não procurei em detalhes, mas uma possível solução
seria ter FeatureAgglomeration e AgglomerativeClustering derivado
de uma classe base comum e têm pooling_func apenas em FeatureAgglomeration.Dito isto, pode haver razões para ter sido feito desta forma, embora eu
não consigo pensar em nenhum.-
Você está recebendo isto porque está inscrito neste tópico.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/scikit-learn/scikit-learn/issues/9846#issuecomment-332807654 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AAEz6z9lkUF7u0jA2-sWEe_XIZvUk1r_ks5sm4HdgaJpZM4PnBzV
.
Quero abordar esse problema se não estiver sendo trabalhado no momento.