[scikit-learn] hierarchical clustering
Jaime Lopez Carvajal
jalopcar at gmail.com
Fri Nov 4 09:15:37 EDT 2016
Hi Roman,
I will check that function too.
Thanks for help.
Have a good day, Jaime
On Fri, Nov 4, 2016 at 4:28 AM, Roman Yurchak <rth.yurchak at gmail.com> wrote:
> Hi Jaime,
>
> Alternatively, in scikit learn I think, you could use
> hac = AgglomerativeClustering(n_clusters, linkage="ward")
> hac.fit(data)
> clusters = hac.labels_
> there in an example on how to plot a dendrogram from this in
> https://github.com/scikit-learn/scikit-learn/pull/3464
>
> AgglomerativeClustering internally calls scikit learn's version of
> cut_tree. I would be curious to know whether this is equivalent to
> scipy's fcluster.
>
> Roman
>
> On 03/11/16 23:12, Jaime Lopez Carvajal wrote:
> > Hi Juan,
> >
> > The fcluster function was that I needed. I can now proceed from here to
> > classify images.
> > Thank you very much,
> >
> > Jaime
> >
> > On Thu, Nov 3, 2016 at 5:00 PM, Juan Nunez-Iglesias <jni.soma at gmail.com
> > <mailto:jni.soma at gmail.com>> wrote:
> >
> > Hi Jaime,
> >
> > From /Elegant SciPy/:
> >
> > """
> > The *fcluster* function takes a linkage matrix, as returned by
> > linkage, and a threshold, and returns cluster identities. It's
> > difficult to know a-priori what the threshold should be, but we can
> > obtain the appropriate threshold for a fixed number of clusters by
> > checking the distances in the linkage matrix.
> >
> > from scipy.cluster.hierarchy import fcluster
> > n_clusters = 3
> > threshold_distance = (Z[-n_clusters, 2] + Z[-n_clusters+1, 2]) / 2
> > clusters = fcluster(Z, threshold_distance, 'distance')
> >
> > """
> >
> > As an aside, I imagine this question is better placed in the SciPy
> > mailing list than scikit-learn (which has its own hierarchical
> > clustering API).
> >
> > Juan.
> >
> > On Fri, Nov 4, 2016 at 2:16 AM, Jaime Lopez Carvajal
> > <jalopcar at gmail.com <mailto:jalopcar at gmail.com>> wrote:
> >
> > Hi there,
> >
> > I am trying to do image classification using hierarchical
> > clustering.
> > So, I have my data, and apply this steps:
> >
> > from scipy.cluster.hierarchy import dendrogram, linkage
> >
> > data1 = np.array(data)
> > Z = linkage(data, 'ward')
> > dendrogram(Z, truncate_mode='lastp', p=12,
> > show_leaf_counts=False, leaf_rotation=90.,
> > leaf_font_size=12.,show_contracted=True)
> > plt.show()
> >
> > So, I can see the dendrogram with 12 clusters as I want, but I
> > dont know how to use this to classify the image.
> > Also, I understand that funtion cluster.hierarchy.cut_tree(Z,
> > n_clusters), that cut the tree at that number of clusters, but
> > again I dont know how to procedd from there. I would like to
> > have something like: cluster = predict(Z, instance)
> >
> > Any advice or direction would be really appreciate,
> >
> > Thanks in advance, Jaime
> >
> >
> > --
> > /*Jaime Lopez Carvajal
> > */
> >
> > _______________________________________________
> > scikit-learn mailing list
> > scikit-learn at python.org <mailto:scikit-learn at python.org>
> > https://mail.python.org/mailman/listinfo/scikit-learn
> > <https://mail.python.org/mailman/listinfo/scikit-learn>
> >
> >
> >
> > _______________________________________________
> > scikit-learn mailing list
> > scikit-learn at python.org <mailto:scikit-learn at python.org>
> > https://mail.python.org/mailman/listinfo/scikit-learn
> > <https://mail.python.org/mailman/listinfo/scikit-learn>
> >
> >
> >
> >
> > --
> > /*Jaime Lopez Carvajal
> > */
> >
> >
> > _______________________________________________
> > scikit-learn mailing list
> > scikit-learn at python.org
> > https://mail.python.org/mailman/listinfo/scikit-learn
> >
>
> _______________________________________________
> scikit-learn mailing list
> scikit-learn at python.org
> https://mail.python.org/mailman/listinfo/scikit-learn
>
--
*Jaime Lopez Carvajal*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scikit-learn/attachments/20161104/a0ff953d/attachment.html>
More information about the scikit-learn
mailing list