Изменения

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

EM-алгоритм

193 байта добавлено, 15:59, 17 марта 2020
Исправил форматиорование в некоторых местах.
== Определение ==
'''Алгоритм EM''' (англ: . ''expectation-maximization'') {{---}} итеративный алгоритм поиска оценок максимума правдоподобия модели, в ситуации, когда она зависит от скрытых(ненаблюдаемых) переменных.
Алгоритм ищет параметры модели итеративно, каждая итерация состоит из двух шагов:
np.random.seed(12)
<font color="green"># Создаем datasets с использованием стандартных sklearn.datasets</font>
n_samples = 2000
random_state = 170
varied = datasets.make_blobs(n_samples=n_samples, cluster_std=[1.0, 2.5, 0.5], random_state=random_state)
<font color="green"># Создаем анизатропно разделенные данные</font>
X, y = datasets.make_blobs(n_samples=n_samples, random_state=random_state)
transformation = [[0.6, -0.6], [-0.4, 0.8]]
aniso = (X_aniso, y)
<font color="green"># Выставляем параметры для matplotlib.pyplot</font>
plt.figure(figsize=(9 * 2 + 3, 12.5))
plt.subplots_adjust(left=.02, right=.98, bottom=.001, top=.96, wspace=.05, hspace=.01)
defaul_n = 3
<font color="green"># Варьируем значение количества классов в зависимости от данных, ведь для нас это гиперпараметр</font>
datasets = [
(varied, defaul_n),
X, y = dataset
<font color="green"># Нормализация данных</font>
X = StandardScaler().fit_transform(X)
<font color="green"># Непосредственно наш алгоритм - Gaussian Mixture</font>
gmm = mixture.GaussianMixture(n_components=n_cluster, covariance_type='full')
<font color="green"># Для сравнения берем алгоритм - Kk-means</font>
two_means = cluster.KMeans(n_clusters=n_cluster)
clustering_algorithms = (
15
правок

Навигация