Изменения

Перейти к: навигация, поиск

EM-алгоритм

21 байт добавлено, 09:00, 9 апреля 2019
Нет описания правки
'''from''' itertools '''import''' cycle, islice
np.random.seed(12)
# Создаем datasets с использованием стандартных sklearn.datasets
n_samples = 2000
blobs = datasets.make_blobs(n_samples=n_samples, random_state=8)
varied = datasets.make_blobs(n_samples=n_samples, cluster_std=[1.0, 2.5, 0.5], random_state=random_state)
# Создаем анизатропно разделенные данные
X, y = datasets.make_blobs(n_samples=n_samples, random_state=random_state)
X_aniso = np.dot(X, transformation)
aniso = (X_aniso, y)
# Выставляем параметры для matplotlib.pyplot
plt.figure(figsize=(9 * 2 + 3, 12.5))
plot_num = 1
defaul_n = 3
# Варьируем значение количества классов в зависимости от данных, ведь для нас это гиперпараметр
datasets = [
for i_dataset, (dataset, n_cluster) in enumerate(datasets):
X, y = dataset
# Нормализация данных
X = StandardScaler().fit_transform(X)
# Непосредственно наш алгоритм - Gaussian Mixture
gmm = mixture.GaussianMixture(n_components=n_cluster, covariance_type='full')
{{color|green| # Для сравнения берем алгоритм - K-means}}
two_means = cluster.KMeans(n_clusters=n_cluster)
clustering_algorithms = (
)
for name, algorithm in clustering_algorithms:
# Этап обучения
algorithm.fit(X)
# Применяем алгоритм
y_pred = algorithm.predict(X)
# Рисуем результаты
plt.subplot(len(datasets), len(clustering_algorithms), plot_num)
11
правок

Навигация