Графики рассеяния в машинном обучении

Точечная диаграмма (Scatter Plot)

Точечная диаграмма - это график, где каждая величина в наборе данных представлена точкой.


Модуль 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()

Результаты:


Запуск примера

Интерпретация scatter plot

Ось 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()

Результаты:


Запуск примера

Интерпретация scatter plot

Мы можем видеть, что точки сосредоточены вокруг значений 5 на оси X и 10 на оси Y.

Мы можем видеть, что распространение на оси Y больше, чем на оси X.