Подгонка гауссовой модели смеси к очень простому распределению - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть простое дискретное распределение, которое я храню в кадре данных:

dist_df = pd.DataFrame({'x': [ 1.0, 2.0, 3.0, 4.0, 5.0],
                        'y': [ 780, 1708, 10028, 15696, 10779]})

Я просто хочу подогнать модель гауссовой смеси от sklearn к этому и получить, сколько гауссов мне нужно, их параметры и вероятности того, что каждый элемент принадлежит каждому гауссову. Но сначала я просто хочу соответствовать и предсказать свое распределение. Я просмотрел документацию по sklearn, но единственные примеры, которые я нашел, это полстраничный код, который я действительно не понимаю. Это должно быть очень просто, но я пытаюсь понять, как это работает, применяя это к этому.

1 Ответ

1 голос
/ 28 апреля 2020

Вот как. Обратите внимание, что количество компонентов не может превышать количество наблюдений, в данном случае 6. Вы можете прочитать больше здесь :

from sklearn.mixture import GaussianMixture as GMM

number_of_components = 2 # specify the number of components here
gmm = GMM(n_components=number_of_components).fit(dist_df)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...