<p>Gaussian Mixture Models can be considered as a soft-assignment generalization of k-means, which also handle non-spherical clusters. There are good implementations in Python, for example <a href="https://scikit-learn.org/stable/modules/mixture.html" rel="nofollow noreferrer">in scikit-learn</a>.</p>

CC BY-SA 4.0
2022-09-26T19:05:33.383Z
2022-09-26T19:05:33.383Z
Jon Nordby
<p>I have some scripts of fuzzy clustering in R. They were written by my co-worker, so I am not familiar with it. But I am glad to share it and help. Could you please send me your email? so that I reach you with an attachment.</p>
<p>Sincerely,
Bing</p>

CC BY-SA 4.0
2022-09-09T14:50:03.727Z
Welcome Bing Xie! Thanks for your comment! On StackExchange, this kind of post should be a "comment" addressed below the question. If you cannot comment yet, see [here](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can-i-do-instead). See also this Help page [How do I write a good answer](https://bioacoustics.stackexchange.com/help/how-to-answer). Thanks!
Noil
CC BY-SA 4.0
2022-09-09T11:23:11.320Z
2022-09-09T11:23:11.320Z
Bing Xie
<p>I study a lemur species that has pretty graded calls, and it can be difficult to objectively draw the line between what is and is not a different call type. I've seen some recent work looking at fuzzy clustering analyses that are good for these kinds of graded repertoires because, as opposed to &quot;hard&quot; clustering methods (e.g., k-means, hierarchical, etc.), calls are not required to be in only one category. A lot of the papers I have found have used MATLAB (e.g., <a href="https://www.mdpi.com/2076-2615/12/16/2020/htm" rel="noreferrer">CASE software</a>, <a href="https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0125785" rel="noreferrer">Wadewitz et al 2015</a>), which I don't know. <strong>I'm wondering if folks have any experience with (or examples of R code to do) fuzzy clustering with animal vocal repertoires?</strong></p>
<p>I tried out the <a href="https://journal.r-project.org/articles/RJ-2019-017/" rel="noreferrer">fclust</a> package but am having trouble interpreting the results or figuring out how to set different parameters because the descriptions &amp; examples are pretty technical (to me at least).</p>
<p>I also found this R package, <a href="https://rdrr.io/cran/DoTC/" rel="noreferrer">DoTC</a>, that seems like a wrapper for fclust, but there's not really like a full example workflow or vignette beyond the descriptions of each function (like for example, what order should I be doing these functions). A recent paper by <a href="https://asa.scitation.org/doi/full/10.1121/10.0005111" rel="noreferrer">Cusano et al 2021</a> used <em>fclust</em> &amp; <em>DoTC</em> but their code is not included with the paper.</p>
<p>I've also seen some people doing fuzzy k-means and fuzzy c-means and am wondering if anyone has found major differences in results comparing these two methods? I know there's different things going on under the hood in terms of centroid calculation, etc. but I'm not clear on the details, or if it necessarily matters all that much. I'm not sure which one to pick or if I just should try both and see.</p>

<analysis><r><code><classification>
Fuzzy clustering code for vocal repertoire analysis/classification?
# Fuzzy clustering code for vocal repertoire analysis/classification?

(Asked by: username_0 on 2022-09-07)

I study a lemur species that has pretty graded calls, and it can be difficult to objectively draw the line between what is and is not a different call type. I've seen some recent work looking at fuzzy clustering analyses that are good for these kinds of graded repertoires because, as opposed to "hard" clustering methods (e.g., k-means, hierarchical, etc.), calls are not required to be in only one category. A lot of the papers I have found have used MATLAB (e.g., [CASE software](https://www.mdpi.com/2076-2615/12/16/2020/htm), [Wadewitz et al 2015](https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0125785)), which I don't know. **I'm wondering if folks have any experience with (or examples of R code to do) fuzzy clustering with animal vocal repertoires?**

I tried out the [fclust](https://journal.r-project.org/articles/RJ-2019-017/) package but am having trouble interpreting the results or figuring out how to set different parameters because the descriptions & examples are pretty technical (to me at least).

I also found this R package, [DoTC](https://rdrr.io/cran/DoTC/), that seems like a wrapper for fclust, but there's not really like a full example workflow or vignette beyond the descriptions of each function (like for example, what order should I be doing these functions). A recent paper by [Cusano et al 2021](https://asa.scitation.org/doi/full/10.1121/10.0005111) used *fclust* & *DoTC* but their code is not included with the paper.

I've also seen some people doing fuzzy k-means and fuzzy c-means and am wondering if anyone has found major differences in results comparing these two methods? I know there's different things going on under the hood in terms of centroid calculation, etc. but I'm not clear on the details, or if it necessarily matters all that much. I'm not sure which one to pick or if I just should try both and see.

**Tags:** analysis, r, code, classification


---

## 2 answers

### Answer by username_1 on 2022-09-26. Score: 3

Gaussian Mixture Models can be considered as a soft-assignment generalization of k-means, which also handle non-spherical clusters. There are good implementations in Python, for example [in scikit-learn](https://scikit-learn.org/stable/modules/mixture.html).


---

### Answer by username_2 on 2022-09-09. Score: 1

I have some scripts of fuzzy clustering in R. They were written by my co-worker, so I am not familiar with it. But I am glad to share it and help. Could you please send me your email? so that I reach you with an attachment.

Sincerely,
username_2

> **Comments:**
> **username_3**: Welcome username_2 Xie! Thanks for your comment! On StackExchange, this kind of post should be a "comment" addressed below the question. If you cannot comment yet, see [here](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can-i-do-instead). See also this Help page [How do I write a good answer](https://bioacoustics.stackexchange.com/help/how-to-answer). Thanks!  

---

