Как узнать важных друзей в вк у друга через комп: Как увидеть важных друзей ВК у друга и своих через компьютер и телефон

делаю понятный график из двух непонятных — Дизайн на vc.ru

Прочитал первую книгу Тафти и захотел сделать редизайн какого-нибудь графика. Далеко ходить не пришлось — в дипломной работе моего друга как раз был слайд с двумя графиками, их мы сегодня и улучшим.

265 просмотров

Это слайд из презентации на предзащите диплома. Тема связана с машинным обучением, но для простоты вместо технических терминов я буду использовать пирожки в корзине. В конце статьи можно почитать, какие термины были под прикрытием пирожков.

Задача графиков найти такую длину пирожка, что 99% всех пирожков такой же длины или короче

Что не так с этими графиками

По горизонтали показана длина пирожка, а по вертикали количество пирожков такой длины в корзине.

Каждый столбик показывает суммарное количество пирожков для каждого диапазона длин. Например, второй столбик говорит нам, что есть примерно 1000 пирожков, у которых длина от 50 до 100.

У графика три проблемы:

  • Оси не подписаны. Даже со словесными объяснениями я не понял, что происходит на графике
  • Вертикальная ось неравномерная: отрезки 10²–10³ и 10³–10⁴ выглядят одинаковыми по высоте, но первый представляет 900 пирожков (1000–100), а второй 9000 (10000–1000). Создается впечатление, что пирожков в первом столбике меньше половины от корзинки, хотя их там намного больше, чем в остальных столбиках вместе взятых
  • График не помогает найти эталонную длину пирожка, которую мы ищем — придется вычислять

Второй график — ящик с усами, он же box plot. По вертикали указано количество пирожков. Друг построил его когда понял, что первый график не решил задачу.

Тут уже лучше видно, что бóльшая часть пирожков длиной от ~15 до ~30, а средняя длина около 20.

Проблемы три:

  • Оси не подписаны
  • График так же не помогает найти эталонную длину пирожка
  • Такой график мало кто видел в своей жизни. Как читать его без пояснений автора или ныряния в интернет — непонятно

Новый график

Теперь мы знаем про проблемы старых графиков, какие данные они отображают и какую задачу решают. Пора сделать новый график, который решит все проблемы.

  • Стало видно, что бóльшая часть пирожков имеет длину до 50. Теперь с помощью графика легко обосновать выбор этой длины как эталонной. Наглядно видно, что площадь графика левее 50 занимает около 99% от всего графика. Пирожки длиннее 50 — очень редкие случаи, на которые можно забить. Это главное отличие графика от старых, где выбор эталонной длины пирожка не был очевиден ни автору, ни зрителю
  • Каждый столбик теперь отвечает за одно число, а не отрезок.
    Тем самым повысил data-ink ratio — стало больше визуала, который показывает данные. Как следствие, убрал широкие столбики с заливкой краской, которая не несла никакой информации
  • Вертикальная ось стала равномерной. Ушло искажение — теперь два любых отрезка равной длины обозначают одинаковое количество пирожков. Это помогло увидеть, сколько на самом деле пирожков с конкретной длиной
  • Оси стали показывать размах данных — минимальные и максимальные значения. А еще избавились от ненужных засечек, которые никак не помогали зрителю понять решение задачи
  • Оси обрели понятные подписи. График стал более самостоятельным, его стало проще понять без объяснений автора

Что же было вместо пирожков

Сейчас будет небольшое погружение в программирование. Старался объяснить так, чтобы любой смог понять.

В языке программирования «Питон» есть много функций, которые делают разные вещи: одна читает ввод с клавиатуры, другая вычисляет квадратный корень числа. Каждая функция занимает несколько строчек кода. Каждая строчка — инструкция для компьютера. Например, print(‘hello’) это инструкция «напечатать слово hello в консоль», а return a + b — «вычислить сумму a и b и вернуть это значение».

Токен — смысловой кусочек инструкции. Если разобрать последнюю строку на токены, то получится список [return, a, +, b], состоящий из 4 токенов. Будем называть это число длиной строки. То есть длина строки return a + b равна 4, а print(‘hello’) — 2.

Длина пирожка — это «длина функции» — длина самой длинной строки в этой функции. В примере выше она равна 4, а на графике показана горизонтальной осью X. В оригинале ось назвали «Length of the longest line of function».

На вертикальной оси Y показываем количество функций такой длины. В оригинале ось назвали «# of such functions».

Задача поиска оптимальной длины функции родилась из-за ограничений машинного обучения. Если вкратце, то при включении больших длин в данные для обучения, нам не хватит памяти на компьютере, чтобы обучить модель. Оптимальное решение — взять большинство функций, а на редкие и длинные забить.

Что почитать

Если хотите узнать больше про представление количественной информации, рекомендую прочитать книгу Эдварда Тафти «The Visual Display of Quantitative Information».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Закрыть
Menu