Выборка точек данных из питона Gaussian Mixture Model - PullRequest
0 голосов
/ 13 марта 2019

Я действительно новичок в Python и GMM. Я недавно изучил GMM и пытаюсь реализовать коды из здесь

Я столкнулся с некоторыми проблемами при запуске метода gmm.sample ():

gmm16 = GaussianMixture(n_components=16, covariance_type='full', random_state=0)    
Xnew = gmm16.sample(400,random_state=42)
plt.scatter(Xnew[:, 0], Xnew[:, 1])

ошибка показывает:

TypeError: sample() got an unexpected keyword argument 'random_state'

Я проверил последний документ и выяснил, что образец метода должен содержать только n, что указывает на количество образцов, которые нужно сгенерировать. Но когда я удаляю 'random_state = 42', появляется новая ошибка:

код:

Xnew = gmm16.sample(400)
plt.scatter(Xnew[:, 0], Xnew[:, 1])

ошибка:

TypeError: tuple indices must be integers or slices, not tuple

Кто-нибудь сталкивается с этой проблемой, когда вы внедряете коды от Джейка ВандерПласа? Как я мог это исправить?

Мой Юпитер:

Версия сервера ноутбука: 5.7.4

Python 3.7.1 (по умолчанию, 14 декабря 2018 г., 13:28:58)

Для получения дополнительной информации введите «авторское право», «кредиты» или «лицензия»

IPython 7.2.0 - улучшенный интерактивный Python. Тип '?' за помощь.

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

Вы получаете TypeError, потому что метод sample возвращает tuple, см. здесь .

Это должно сделать работу:

Xnew, Ynew = gmm16.sample(400)  # if Ynew is valuable
plt.scatter(Xnew[:, 0], Xnew[:, 1])

или

Xnew, _ = gmm16.sample(400)  # if Ynew isn't valuable
plt.scatter(Xnew[:, 0], Xnew[:, 1])
0 голосов
/ 13 марта 2019

Ваша проблема в том, как вы подаете данные на точечный график.В частности, у вас есть пустой массив внутри кортежа, а способ индексации неверен.Попробуйте:[:,1] Здесь мы берем все строки и второй столбец.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...