Introduction
Gaussian Mixture Models help us find groups in data by assuming each group looks like a bell curve. This helps us understand and organize data better.
Jump into concepts and practice - no test required
from sklearn.mixture import GaussianMixture gmm = GaussianMixture(n_components=number_of_groups, covariance_type='full') gmm.fit(data) predictions = gmm.predict(data)
gmm = GaussianMixture(n_components=3)
gmm.fit(X)
predictions = gmm.predict(X)gmm = GaussianMixture(n_components=2, covariance_type='diag') gmm.fit(X) predictions = gmm.predict(X)
gmm = GaussianMixture(n_components=4, random_state=42) gmm.fit(X) predictions = gmm.predict(X)
import numpy as np from sklearn.mixture import GaussianMixture # Create sample data with 2 groups np.random.seed(0) group1 = np.random.normal(loc=0, scale=1, size=(100, 2)) group2 = np.random.normal(loc=5, scale=1, size=(100, 2)) data = np.vstack([group1, group2]) # Create and fit GMM with 2 groups model = GaussianMixture(n_components=2, random_state=0) model.fit(data) # Predict group for each point labels = model.predict(data) # Print how many points in each group unique, counts = np.unique(labels, return_counts=True) print(f"Group counts: {dict(zip(unique, counts))}") # Print first 5 predictions print(f"First 5 group predictions: {labels[:5]}")
from sklearn.mixture import GaussianMixture import numpy as np X = np.array([[1], [2], [3], [10], [11], [12]]) gmm = GaussianMixture(n_components=2, random_state=0) gmm.fit(X) labels = gmm.predict(X) print(labels.tolist())
from sklearn.mixture import GaussianMixture X = [[1, 2], [3, 4], [5, 6]] gmm = GaussianMixture(n_components=2) gmm.fit(X) labels = gmm.predict(X) print(labels)