Машинное обучение — точечная диаграмма
Точечная диаграмма
Точечная диаграмма — это диаграмма, на которой каждое значение в наборе данных представлено точкой.
В модуле Matplotlib есть метод рисования точечных диаграмм, ему нужны два массива одинаковой длины, один для значений оси x и один для значений оси y:
x = [5,7,8,7,2,17,2,9,4,11,12,9,6]
y = [99,86,87,88,111,86,103,87,94,78,77,85,86]
Массив x
представляет возраст каждой машины.
Массив y
представляет скорость каждого автомобиля.
Пример
Используйте scatter()
метод, чтобы нарисовать диаграмму точечной диаграммы:
import matplotlib.pyplot as plt
x =
[5,7,8,7,2,17,2,9,4,11,12,9,6]
y =
[99,86,87,88,111,86,103,87,94,78,77,85,86]
plt.scatter(x, y)
plt.show()
Результат:
Объяснение графика рассеяния
Ось X представляет возраст, а ось Y — скорость.
Из диаграммы видно, что двум самым быстрым машинам было по 2 года, а самой медленной машине было по 12 лет.
Примечание: кажется, что чем новее машина, тем быстрее она едет, но это может быть совпадением, ведь мы зарегистрировали всего 13 машин.
Случайные распределения данных
В машинном обучении наборы данных могут содержать тысячи или даже миллионы значений.
У вас может не быть реальных данных, когда вы тестируете алгоритм, возможно, вам придется использовать случайно сгенерированные значения.
Как мы узнали из предыдущей главы, в этом нам может помочь модуль NumPy!
Давайте создадим два массива, которые оба заполнены 1000 случайными числами из нормального распределения данных.
Первый массив будет иметь среднее значение 5,0 со стандартным отклонением 1,0.
Второй массив будет иметь среднее значение 10,0 со стандартным отклонением 2,0:
Пример
Точечная диаграмма с 1000 точек:
import numpy
import matplotlib.pyplot as plt
x = numpy.random.normal(5.0,
1.0, 1000)
y = numpy.random.normal(10.0, 2.0, 1000)
plt.scatter(x, y)
plt.show()
Результат:
Объяснение графика рассеяния
Мы видим, что точки сосредоточены вокруг значения 5 по оси x и 10 по оси y.
Мы также можем видеть, что разброс по оси y шире, чем по оси x.