#python #normal-distribution
#python #нормальное распределение
Вопрос:
Я читаю генерацию данных для линейной регрессии и k-ближайшего соседа в книге «Элементы статистического обучения». Ниже приведены два сценария, упомянутых в тексте
Помните, что это ошибки в самих обучающих данных, и мы не сказали, откуда взялись сконструированные данные. Рассмотрим два возможных сценария:
** Сценарий 1: Обучающие данные в каждом классе были сгенерированы из двунаправленных распределений Гаусса с некоррелированными компонентами и различными средними значениями.
Сценарий 2: Обучающие данные в каждом классе получены из смеси 10 гауссовых распределений с низкой дисперсией, при этом отдельные средства распределяются как гауссовские.**
Мой вопрос в том, как я могу написать программу на python или на C для генерации данных для следующего
- Сценарий 1, упомянутый выше.
- Сценарий 2, упомянутый выше.
- Как имитировать данные, некоторые из которых находятся между двумя вышеупомянутыми, но ближе к сценарию 2.
Спасибо за ваше время и помощь. Эта информация поможет мне попытаться понять линейную регрессию и k-NN.
Ответ №1:
Для сценария 1: Возможность генерации с использованием следующего кода. Изучаем, как сгенерировать код для сценария 2.
mean_blue = [-1, 3]
cov = [[2, 0], [0, 2]]
x_blue_1, x_blue_2 = np.random.multivariate_normal(mean_blue, cov, 50).T
mean_red = [2, 0]
cov = [[2, 0], [0, 2]]
x_red_1, x_red_2 = np.random.multivariate_normal(mean_red, cov, 50).T
plt.scatter(x_blue_1, x_blue_2)
plt.scatter(x_red_1, x_red_2)