15
 правок
Изменения
Исправил форматиорование в некоторых местах.
== Определение ==
'''Алгоритм 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 = (
