The project I'm working on has a number of objects arranged in overlapping sets. I need to classify them by whether they have a trait or not, using pre-classified objects that they are connected to (through shared set membership). I.e., the objects within the same set are likely to share whether they have that trait. The training data only consists of whether some objects have the trait or not.To illustrate by example:Green and red circles represent pre-classified objects (with having and not having the trait respectively). White circles are unclassified.Objects A, C, D and E are likely to have the trait, and thus should have a positive score, because they are in common sets with other objects which are known to.A should have a better score than C because there is more certainty (C's unclassified neighbor might or might not have the trait).Similarly, D should have a higher score than A.E is likely to have the trait because all of its neighbors are.F and G should have a neutral score, because we don't know anything about F, and G has equally conflicting information.I'm looking to sort all unclassified objects by score (likelihood to have the trait), which in this example would roughly be D, A, E, C, F, G, B, or at least get the top N objects with the highest score.My set size is about 50 million objects across 10 million sets. The training size set (number of pre-classified objects) can vary from 1 to a few thousand. The objects are pretty well connected - the biggest connected subgraph contains 90% of all objects.
Classifying objects by set proximity
machine learning;classification