Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Сетевые методы анализа многомерных данных (часть 2)

5206c19df417b8876825b5561344c1a0?s=47 Exactpro
PRO
November 17, 2018

Сетевые методы анализа многомерных данных (часть 2)

Ростислав Яворский

Доцент департамента анализа данных и искусственного интеллекта факультета компьютерных наук, НИУ ВШЭ

НИУ ВШЭ: https://cs.hse.ru/big-data/csmc/about
TMPA School: https://school.tmpaconf.org/
Exactpro: https://exactpro.com/

5206c19df417b8876825b5561344c1a0?s=128

Exactpro
PRO

November 17, 2018
Tweet

Transcript

  1. Сетевые методы анализа многомерных данных (Часть 2) к.ф.-м.н. Ростислав Яворский

    Факультет компьютерных наук Высшая Школа Экономики, Москва 1 Саратов - 17 ноября 2018 TMPA School 2018 Saratov: Software Testing, Data Analysis and Machine Learning
  2. Определение Граф это абстрактная структура данных, содержащая • конечное множество

    вершин, • множество пар этих вершин - ребра. Пример: G = (N, E), где • N = { A, B, C, D }, • E = { (A,B), (B,A), (B,C), (C,B), (B,D), (D,B), (D,C), (C,D) } 2
  3. Пример математического описания графа граф с множеством вершин и множеством

    ребер где вершины ребра этого графа 3
  4. Визуализация и анализ графов Шаг 1. Загрузить и установить yEd

    Graph Editor Шаг 2. Собрать информацию об объектах анализа - вершинах Шаг 3. Собрать информацию о связях между этими объектами - ребра графа Шаг 4. Очистка, нормализация, обогащение данных, итог - CSV/Excel Шаг 5. Загружаем в yEd Graph Editor, конфигурируем алгоритм размещения 4
  5. Визуализация и анализ графов Шаг 1. Загрузить и установить yEd

    Graph Editor Шаг 2. Собрать информацию об объектах анализа - вершинах Шаг 3. Собрать информацию о связях между этими объектами - ребра графа Шаг 4. Очистка, нормализация, обогащение данных, итог - файл в TGF формате Шаг 5. Загружаем в yEd Graph Editor, конфигурируем алгоритм размещения 5
  6. TGF: Trivial Graph Format Текстовый файл, состоящий из двух частей

    • список вершин: ID и label (текст), • список ребер: source ID, destination ID, label . 6 ID вершин Метка (label) конец списка вершин и начало списка ребер Метка ребра Ребро (пара ID вершин)
  7. Собираем информацию о вершинах и их характеристиках Ответьте пожалуйста на

    несколько простых вопросов о себе: https://goo.gl/CbkpG9 7
  8. Ребра обозначают близкое расстояние 8 Метрическое пространство есть пара (X,

    d), где X — множество, а d — числовая функция, которая определена на декартовом произведении X × X, принимает значения в множестве вещественных чисел, и такова, что • d(x, y) = 0 ⇔ x = y аксиома тождества. • d(x, y) = d(y, x) аксиома симметрии. • d(x, z) ≤ d(x, y) + d(y, z) неравенство треугольника.
  9. Расстояние Хэмминга 9 Метрическое пространство (X, d), где X —

    множество векторов фиксированной длины, d(x, y) — число позиций, в которых векторы x и y различны.
  10. Этап 1 - Очистка данных 10 with open("answers.txt", "r", encoding="utf-8")

    as f: answers = f.readlines() answers = [a.split("\t") for a in answers] N = len(answers) for i in range(N): for j in range(1, 13): answers[i][j] = int(answers[i][j][0])
  11. Этап 2. Отделяем названия вершин 11 res_file = open("distance.tgf", "w",

    encoding="utf-8") for i in range(N): res_file.write(str(i) + " " + answers[i][0] + "\n") res_file.write("#\n")
  12. Этап 3. Вычисляем попарные расстояния 12 edges = [] for

    i in range(N-1): for j in range(i+1, N): dist = 0 for k in range(1, 13): if answers[i][k] != answers[j][k]: dist = dist + 1 edges.append([i, j, dist]) print(i,answers[i][0],"to",j,answers[j][0],"-",dist)
  13. Этап 4. Выбираем порог и строим ребра 13 for e

    in edges: if e[2] <= 5: res_file.write(" ".join([str(v) for v in e]) + "\n") res_file.close()
  14. TGF: Trivial Graph Format Текстовый файл, состоящий из двух частей

    • список вершин: ID и label (текст), • список ребер: source ID, destination ID, label . 14 ID вершин Метка (label) конец списка вершин и начало списка ребер Метка ребра Ребро (пара ID вершин)