Giter VIP home page Giter VIP logo

Comments (7)

jonxujun avatar jonxujun commented on June 8, 2024 1

Thanks a lot!

from ascend.

asenabouth avatar asenabouth commented on June 8, 2024

It's possible; haven't come across a dataset that produces this result though. You can have a look at what the dynamic tree cut initially produces by examining the rand matrix. The initial tree cut will be under "REF".

Here is the call that produces these results:

original.clusters <- unname(dynamicTreeCut::cutreeDynamic(original.tree,
                        distM=as.matrix(distance.matrix), verbose=0

Let me know if you do come across a dataset that produces these results. It would be interesting to see how it would affect the CORE algorithm.

from ascend.

jonxujun avatar jonxujun commented on June 8, 2024

Yeh, I met such situation in my data.
And by debugging into this function (dynamicTreeCut), I can see some cells were not given any cluster.
But I cannot think of a scenario where the trees are cut (no matter which threshold is used), but some leaves in some branches are not touched - I mean at least its upper branches should be cut and thus clustered...

from ascend.

asenabouth avatar asenabouth commented on June 8, 2024

It could be that there are not enough members to form a cluster. I suggest you try playing around with the following arguments with the cutreeDynamic function: minClusterSize and possibly cutHeight. The minimum number of cells required to form a cluster is 20. I could add this as an argument for the RunCORE function to account this.

from ascend.

jonxujun avatar jonxujun commented on June 8, 2024

that would be helpful! my current logic is to remove the cluster 0 cells using SubsetCluster, and then do another round clustering, and remove again, loop until no more cluster 0 exists.
Does this logic sound reasonable for you, please?

from ascend.

asenabouth avatar asenabouth commented on June 8, 2024

I think that's a good work around for it in the meantime. I could also add in a step where these non-clusters are removed or labelled as "unclustered" as well. This would probably resolve the conflicts with the RunCORE algorithm.

Regarding minimal cluster size, I guess what you need to ask is how many cells do you need before you could truly call it a cluster. I could see it being an issue for smaller datasets (in the hundreds).

I'll mark this as an issue to work on in the new year. Thank you for flagging this @jonxujun.

from ascend.

asenabouth avatar asenabouth commented on June 8, 2024

I encountered similar results in a dataset I was analysing for a collaborator. Turns out some datasets will require multiple rounds of clustering checks to ensure all outlier cells are identified and removed. I've incorporated this into the next update for ascend.

from ascend.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.