Mr. Latte


Lesson 6 of 10

Handle Points Near a Boundary

Some points do not fit comfortably in just one group. Fuzzy C-means assigns membership weights to several groups. Weights for a point sum to one, but that does not automatically make them probabilities of real-world outcomes.

Closer centers receive greater membership

Standard fuzzy C-means minimizes a squared-distance objective weighted by memberships raised to m. The parameter m is greater than one and controls how diffuse memberships become. For m=2 and distances 1 and 2 to two centers:

distances = [1, 2]
weights = [1 / distance ** 2 for distance in distances]
total = sum(weights)
print([weight / total for weight in weights])

The result is [0.8, 0.2]. The closer center receives more weight. This inverse-square calculation applies when m=2 and all distances are positive. A point exactly on a center needs special handling to avoid division by zero.

Centers reflect membership too

Center updates use weighted means, with each point weighted by membership ** m. Membership and center updates alternate. Results can depend on initialization and stopping conditions.

Check your understanding

A customer’s membership in group A is 0.8. Can you describe this as an 80% probability of buying product A next month?

Show explanation

No. Membership reflects the chosen distance and clustering objective. A purchase probability requires a separate predictive model using actual purchase outcomes and probability validation.

Looking for a product partner? Founders, teams, businesses: from problem framing to launch.