ВАЖНОСТЬ РАЗРАБОТКИ ФУНКЦИЙ — ЧАСТЬ 1

Ниже приведен типичный процесс жизненного цикла науки о данных.

Выше мы видим типичный жизненный цикл науки о данных, в котором РАЗРАБОТКА ФУНКЦИЙ является очень важной частью

Машинное обучение сопоставляет математические модели с данными, чтобы получать информацию или делать прогнозы. Эти модели принимают функции в качестве входных данных. Функция — это числовое представление аспекта необработанных данных. Функции находятся между данными и моделями в конвейере машинного обучения. Разработка функций — это процесс извлечения функций из необработанных данных и преобразования их в форматы, подходящие для модели машинного обучения. Это важный шаг в конвейере машинного обучения, потому что правильные функции могут упростить моделирование и, следовательно, позволяют конвейеру выводить результаты более высокого качества.

Изображение, относящееся к нашему обсуждению разработки признаков, находится в середине этого процесса. Это может выглядеть примерно так:

1. (задачи перед здесь…)

2. Выберите «Данные»: интегрируйте данные, денормализуйте их в набор данных, соберите их вместе.

3. Предварительно обработайте данные: отформатируйте их, очистите, сэмплируйте, чтобы с ними можно было работать.

4. Преобразование данных: здесь происходит Feature Engineer.

5. Данные модели: создавайте модели, оценивайте их и настраивайте.

6. (задачи после здесь…)

Большую часть времени специалист по данным тратит на очистку, извлечение данных и инженерные функции.

Что такое разработка функций и почему это важно?

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

Ссылка: kdnuggets

· Feature Engineering — это процесс подготовки данных

· Разработка признаков заключается в создании новых входных признаков из существующих.

· Это одна из самых трудоемких задач при создании моделей

· В зависимости от типа данных используются различные методы Feature Engineering.

· В зависимости от вида предметной области для создания хороших функций требуется опыт.

{Придумывать функции сложно, отнимает много времени и требует экспертных знаний. «Прикладное машинное обучение» — это, по сути, разработка функций.

Эндрю Нг, машинное обучение и искусственный интеллект с помощью моделирования мозга

Почему разработка функций важна?

1) Мы можем выделять и извлекать ключевую информацию, которая помогает алгоритмам достигать хороших результатов.

2) как только мы понимаем глубину разработки признаков любых конкретных данных, мы можем использовать опыт других людей в предметной области.

3) Разработка признаков — это процесс преобразования необработанных данных в признаки, которые лучше представляют основную проблему для прогностических моделей, что приводит к повышению точности модели на невидимых данных.

4) Повышение производительности моделей машинного обучения.

Итеративный процесс разработки признаков

Процесс может выглядеть следующим образом:

1) Особенности мозгового штурма: по-настоящему погрузитесь в проблему, просмотрите множество данных, изучите разработку функций по другим проблемам и посмотрите, что вы можете украсть.

2) Разработка функций: зависит от вашей проблемы, но вы можете использовать автоматическое извлечение функций, ручное построение функций и их сочетание.

3) Выберите функции: используйте различные оценки важности функций и методы выбора функций, чтобы подготовить одно или несколько «представлений» для ваших моделей для работы.

4) Оцените модели: оцените точность модели на невидимых данных, используя выбранные функции.

В зависимости от данных используются различные методы проектирования признаков, это всегда зависит от типа данных, и разнообразие методов проектирования признаков сильно различается.

ПОНИМАНИЕ ФУНКЦИЙ

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

Некоторые примеры -

· Идентификация отсутствующих значений данных

· Исследовательский анализ данных

· Описательная статистика

· Визуализация данных

УЛУЧШЕНИЕ ФУНКЦИЙ

Здесь мы будем использовать математическое преобразование для улучшения данных, но не будем удалять или вставлять новые атрибуты.

· Вменение данных

· Работа с пропущенными значениями в наборе данных

· Нормализация данных

→ Стандартизация (нормализация z-оценки)

→ Минимальное масштабирование

→ Нормализация L1 и L2

ВЫБОР ФУНКЦИЙ

Здесь мы понимаем, какие столбцы/функции не помогают моему конвейеру ML и должны быть удалены, поэтому существуют разные методы, используемые для принятия решения о том, от каких атрибутов избавиться в нашем наборе данных.

Какой-то пример →

· Статистический выбор признаков

→ Коэффициенты корреляции

→ Выявление и устранение мультиколлинеарности

→ Хи-квадрат тесты

→ Ановские тесты

→ Интерпретация p-значений

· Выбор функций на основе модели

→ Использование машинного обучения для измерения энтропии и прироста информации

→ Использование CountVectorizer, встроенного в max_features, min_df, max_df

СОЗДАНИЕ ФУНКЦИЙ

Здесь мы пробуем методы создания совершенно новых функций и их правильного размещения в нашем наборе данных.

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

Некоторые примеры →

· Вменение категориальных признаков

· Кодирование категориальных переменных

· Расширение числовых функций

· Построение особенностей текста

→ BagOfWords, векторизатор счета, векторизатор Tf-Idf

ПРЕОБРАЗОВАНИЕ ФУНКЦИЙ

Здесь мы начали рассматривать автоматическое создание этих функций применительно к математической размерности. Если мы рассмотрим наши данные как находящиеся в n-пространстве (n — число столбцов), мы увидим, можем ли мы создать новый набор данных в k-пространстве (где k‹n), который полностью или почти представляет исходные данные, но может дайте нам повышение скорости или повышение производительности в машинном обучении.

Некоторые примеры →

· Анализ главных компонентов

· Линейный дискриминантный анализ

ФУНКЦИОНАЛЬНОЕ ОБУЧЕНИЕ

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

Некоторые примеры →

· Ограниченные машины Больцмана

· Word2vec/Glove для встраивания слов

Теперь мы обсудим различные методы разработки данных и функций, используемые для разных типов данных, которые легко доступны на Kaggle.

Следующие данные представляют собой набор данных Kaggle для получения более подробной информации о данных, которые вы также можете проверить на Kaggle.

############################################

1) РЕКОМЕНДАЦИИ ПО ФИЛЬМАМ NETFLIX

############################################

О ДАННЫХ: →

Netflix предназначен для того, чтобы соединить людей с любимыми фильмами.

Если вы проверите данные, доступные на Kaggle для Netflix, первая строка каждого файла [combined_data_1.txt,комбинированные_данные_2.txt,комбинированные_данные_3.txt,комбинированные_данные_4.txt] содержит идентификатор фильма, за которым следует двоеточие. Каждая последующая строка в файле соответствует оценке от покупателя и ее дате в следующем формате:

CustomerID, Рейтинг, Дата

MovieID находятся в диапазоне от 1 до 17770 последовательно.

CustomerID находится в диапазоне от 1 до 2 649 429 с пробелами. Есть 480189 пользователей.

Оценки присваиваются по пятизвездочной (интегральной) шкале от 1 до 5.

Даты имеют формат ГГГГ-ММ-ДД.

Пример: →

Мы конвертируем данные в dataframe, и данные выглядят следующим образом

После этого мы создаем разреженную матрицу из DataFrame.

У нас есть данные в следующем формате

РАЗРАБОТКА ФУНКЦИЙ ДЛЯ ДАННЫХ NETFLIX

Прежде чем углубляться в детали, нам нужно понять контентную и совместную фильтрацию.

Совместная фильтрация

U1 →m1, m2, m3

U2 →m1, m3, m4

U3 →m1

U1 и U2 оба любят фильм m3, поэтому велика вероятность, что U3 тоже понравится m3.

Основная идея: → Пользователи, которые соглашались в прошлом, соглашаются и в будущем.

Контентная RS

Здесь мы используем функции Movie j, такие как «Жанр фильма», «Актер», «Режиссер», «Год выпуска» и т. д.

Точно так же для пользователя i мы используем такие функции, как UI любит боевик или романтический фильм, возраст, местоположение пользователя и т. д.

Существуют различные типы совместной фильтрации

Матрицы подобия

→ Матрица сходства пользователей

→ Матрица сходства фильмов

— — — — — — — — — — — — — — — — — — — — -

Матрица сходства ПОЛЬЗОВАТЕЛЬ-ПОЛЬЗОВАТЕЛЬ

— — — — — — — — — — — — — — — — — — — — -

Ссылка → https://machinelearningcoban.com/2017/05/24/collaborativefiltering/

Справочник → Прикладной курс

У нас есть данные в формате User-Item Matrix, затем мы конвертируем их в формат матрицы User-User.

В User Movie Matrix каждая строка представляет пользователя, который содержит рейтинги, присвоенные пользователем всем фильмам.

Используя косинусное сходство для преобразования данных в матрицу сходства «пользователь-пользователь», эта матрица не является разреженной.

Здесь для каждого пользователя, скажем, Ui, он попытается рассчитать сходство точечного произведения с другими пользователями и найти максимальное сходство с Ui.

Расчет занял много времени

  • Как только у нас будет эта матрица подобия, нам нужно будет рекомендовать новые фильмы для Пользователя 10 (U10).

→ Мы проверим U10 и обнаружим, что пользователи U1, U2, U7 больше всего похожи на U10.

→ Теперь давайте выберем фильмы, которые нравятся U1, U2 и U7, которые еще не смотрели U10.

→ Рекомендовать их до 10 лет

Проблема со сходством между пользователями: → Пользовательские предпочтения меняются со временем. Если они меняются слишком часто, тогда возникает проблема, но если они меняются не так часто, мы можем построить матрицу по времени

— — — — — — — — — — — — — — — — — — — — — — -

Матрица сходства ФИЛЬМ-ФИЛЬМ

— — — — — — — — — — — — — — — — — — — — — — -

Как описано в разделе «Сходство между пользователями», мы вычисляем матрицу сходства «Фильм-Фильм».

Для любого фильма Mi мы хотим рассчитать сходство со всеми другими фильмами, нам нужны данные о наиболее похожих фильмах.

Преимущество здесь в том, что рейтинг данного фильма существенно не меняется после начального периода, например рейтинг титанического фильма.

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

— — — — — — — — — — — — — — — — — — — — — — -

ФАКТОРИЗАЦИЯ МАТРИЦЫ

— — — — — — — — — — — — — — — — — — — — — — -

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

Если мы можем разложить матрицу A — на → матрицу B, матрицу C, матрицу D

PCA, SVD - пример матричной факторизации.

Здесь {Aij — Bi_Transpose* Cj} есть не что иное, как ошибка, которую мы должны минимизировать.

Следовательно, это проблема оптимизации. Это не что иное, как квадратный убыток, который можно минимизировать с помощью алгоритма SGD. Это похоже на проблему регрессии. В идеальном случае (Aij — Bi_Transpose* Cj) станет 0.

После решения этой задачи с помощью SGD мы получим матрицы «B» и «C». «B» будет иметь размер «N*d», а «C» будет иметь размер «M*d». Как только мы получим матрицы «B» и «C», эта проблема станет проблемой завершения матрицы. Теперь для любой пустой ячейки Aij в матрице A мы можем вычислить {Bi_Transpose * Cj}. Допустим, A_10,5 пуст. Теперь мы можем заполнить A_10,5 как «B_10_Transpose * C_5». Таким образом мы можем заполнить все пустые ячейки в матрице «А». Эти рейтинги, которые мы получили для пустых ячеек, не что иное, как предсказанные рейтинги.

Чтобы объяснить это, я приложил скриншот, чтобы объяснить это.

Итак, выше мы объяснили различные методы разработки функций, используемые для проблемы NETFLIX MOVIE RECOMMENDATION.

Как только наши функции будут готовы, мы можем применить модели поверх них. Мы применили модели в формате ниже.

############################################

2) РЕКОМЕНДАЦИЯ ДРУГА В FACEBOOK

############################################

ПОСТАНОВКА ЗАДАЧИ: → Учитывая ориентированный социальный граф, мы должны предсказать недостающие ссылки, чтобы рекомендовать друзьям/связям/последователям

ОБЗОР ДАННЫХ: →

Ссылка: → https://medium.com/basecs/a-gentle-introduction-to-graph-theory-77969829ead8

Справочник → Прикладной курс

Позвольте мне объяснить ключевые слова, которые мы будем использовать в этом наборе данных.

Графики: узел/вершина, ребро/связь, путь направленного ребра

Давайте обсудим два типа графов: ориентированные графы и неориентированные графы.

Теперь на графике, что такое Node/Vertices и Edge/Link, можно легко увидеть на диаграмме ниже.

Ребра могут быть двух типов: направленные и ненаправленные.

Для получения дополнительной информации о теории графов вы можете обратиться к этому блогу, который я нашел действительно удивительным https://medium.com/basecs/a-gentle-introduction-to-graph-theory-77969829ead8.

Итак, граф — это набор вершин и набор ребер.

В рекомендации друзей в Facebook мы имеем направленный граф, а пользователи — это узлы/вершины, например u1, u2, u3….

Edges/Link объясняет, если какой-либо Пользователь следует за другим Пользователем, например, если пользователь u1 следует за Пользователем2, тогда будет направленное ребро от u1 к u2.

Путь представляет собой набор ребер (допустимых ребер)

Данные для Facebook Kaggle Challenge содержат два столбца

→ Пары исходных краев

→ Пары целевых ребер

Train.csv → Source_node, Destination_node

Дана пара источника и пункта назначения или пара узлов или пара вершин.

Общее количество вершин/узлов → 1862220

Общее количество направленных ребер → 9437520

Нам дан один снимок в момент времени t, который является динамическим по мере роста графика изменений во времени.

Предположим, у нас есть пара Ui и Uj в train.csv, что означает, что между ними есть ребро, но нет входа между Ui и Uk, что означает, что нам нужно предсказать новое соединение на основе доступных ребер.

→ Мы сгенерировали данные класса 0, чтобы сбалансировать их с классом 1

→ Для класса 0 еще один момент, о котором мы заботимся, это то, что мы будем рассматривать только узлы, у которых кратчайшее расстояние пути больше 2

Теперь мы знакомы с данными, поэтому мы обсудим РАЗРАБОТКУ ФУНКЦИЙ на основе ГРАФИЧЕСКИХ ДАННЫХ.

1. СХОДСТВА ЖАККАРА И КОСИНУСА

2. РЕЙТИНГ СТРАНИЦЫ

3. КРАТКИЙ ПУТЬ

4. ПОДКЛЮЧАЕМЫЙ КОМПОНЕНТ

5. КАРТЦ ЦЕНТРАЛЬНОСТЬ

6. ОЦЕНКА ПОПАДАНИЙ

7. СВД

8. ВЕСОВЫЕ ХАРАКТЕРИСТИКИ

— — — — — — — — — — — — — — — — — — — — — — — -

СХОДСТВА ЖАККАРА И КОСИНУСА

— — — — — — — — — — — — — — — — — — — — — — — -

Расстояние Жаккара по J

Для пользователя u1 → X → {u5, u3, u4}

Для пользователя u2 → Y → {u3, u4, u6}

Мы можем вычислить расстояние Жаккара между набором последователей, а также мы можем вычислить расстояние Жаккара ч/б набор последователей.

J последователь и J последователь

Если значение расстояния Jaccard ВЫСОКОЕ или если у нас более высокое перекрытие ч / б наборов последователей или набор последователей, тогда вероятность наличия преимущества будет высокой.

Для лучшего понимания проверьте пример ниже

Косинусное расстояние →

При обработке естественного языка у нас одинаковое расстояние для векторов

Обсудим его модифицированную версию на множестве

Здесь X и Y — множества, |X| & |Г| имеют размер X и размер Y

Например →

Для пользователя u1 → X → {u5, u3, u4}

Для пользователя u2 → Y → {u3, u4, u6}

Здесь косинусное расстояние будет

Мы можем вычислить его как для подписчиков, так и для подписчиков.

Если косинусное расстояние высокое → вероятность фронта ВЫСОКАЯ

— — — — — — — — —

РЕЙТИНГ СТРАНИЦЫ

— — — — — — — — —

Ссылка → https://en.wikipedia.org/wiki/PageRank

Именно для Directed Graph PageRank (PR) — это алгоритм, используемый Поиском Google для ранжирования веб-страниц в результатах их поисковой системы. PageRank был назван в честь Ларри Пейджа, одного из основателей Google. PageRank — это способ измерения важности страниц веб-сайта.

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

Страница C имеет более высокий PageRank, чем страница E, даже несмотря на то, что на C меньше ссылок; единственная ссылка на C идет с важной страницы и, следовательно, имеет большую ценность.

1) Много страниц, ссылающихся на страницу B → сайт, которому доверяют.

2) Если много ссылок с других популярных страниц → HIGH Rank

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

Высокий балл Билла Гейтса → Пользователь запроса имеет больше шансов подписаться на Билла Гейтса

У нас с тобой низкий балл → так меньше шансов

Для этого мы будем использовать → Network X

Для каждого пользовательского интерфейса → рассчитать значение рейтинга страницы — значение вероятности

Мы получим 2 функции

1) Источник рейтинга страницы

2) Целевой рейтинг страницы

— — — — — — — — — — — — — —

САМЫЙ КРАТКИЙ ПУТЬ

— — — — — — — — — — — — — —

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

Если мы хотим рассчитать кратчайший путь между Ui и Uj

Уй в Уй → 2 пути

o Один имеет длину 3 через U1 и U2

o Другой имеет длину 4 через U3, U4 и U5.

Ниже 2 точек, чтобы позаботиться

→ Получение кратчайшего пути между двумя узлами

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

Если нет пути между Ui и Uj, считайте -1 кратчайшим путем

Примечание. Если длина кратчайшего пути мала → вероятность следования друг за другом увеличивается.

— — — — — — — — — — — — — — — — — — — — — -

СОЕДИНЕННЫЕ — КОМПОНЕНТЫ

— — — — — — — — — — — — — — — — — — — — — -

СИЛЬНО ПОДКЛЮЧЕННЫЙ КОМПОНЕНТ

Ориентированный граф называется сильно связным, если между каждой парой вершин графа существует путь в каждом направлении. То есть существует путь от первой вершины пары ко второй, а другой путь существует от второй вершины к первой. В ориентированном графе G, который сам по себе не может быть сильно связан, говорят, что пара вершин u и v сильно связана друг с другом, если между ними есть путь в каждом направлении.

В каждом из подмножеств мы можем добраться до любого узла в заданном направлении.

Направление играет важную роль в компоненте сильной связи

Если мы объединим S1 и S2, мы не сможем получить a, b, e из f или g.

СЛАБО ПОДКЛЮЧЕННЫЙ КОМПОНЕНТ

На указанном рисунке, если мы удалим направление, то каждый из компонентов или узлов, соединенных некоторым путем

Почему слабо связанные компоненты полезны?

1) Как мы объяснили выше, S1 и S2 не могут быть компонентами сильной связи, но если мы удалим направления S1 и S2, они станут компонентами слабой связи.

2) Слабосвязный компонент представляет сообщество, такое как колледж, работа

3) Наличие единственного соединения между S1 и S2 приводит к тому, что S1 и S2 находятся в одном наборе в слабо связанном компоненте.

— — — — — — — — — -

ИНДЕКС АДАР

— — — — — — — — — -

Это специально разработано для прогнозирования ссылки в социальной сети.

N(u) — множество узлов, смежных с Пользователем {u}. Такое определение основано на концепции, согласно которой общие элементы с очень большими соседями менее значимы при прогнозировании соединения между двумя узлами по сравнению с элементами, общими для небольшого числа узлов.

Например, N(x) = {U1, U2, U3} & N(y) = {U4, U5, U6}

Любая вершина или пользователь, подключенный к узлу x (N(x))

Любая вершина или пользователь, подключенный к узлу y (N(y))

Здесь у U также может быть соседство, скажем, у U большой район, тогда U может быть знаменитостью.

Если X и Y следуют за знаменитостью, это не значит, что X и Y должны следовать друг за другом

В случае знаменитости → N(U) увеличивается → A (X, Y) уменьшается

Пользователь с малым соседством → N(U) уменьшается → A (X, Y) увеличивается

— — — — — — — — — — — — — — -

КАЦ ЦЕНТРАЛЬНАЯ ИНФОРМАЦИЯ

— — — — — — — — — — — — — — -

Ссылка → https://en.wikipedia.org/wiki/Katz_centrality

Центральность Каца вычисляет относительное влияние узла в сети путем измерения количества непосредственных соседей (узлов первой степени), а также всех других узлов в сети, которые подключаются к рассматриваемому узлу через этих непосредственных соседей.

Однако соединения, установленные с дальними соседями, оштрафованы коэффициентом затухания α (альфа).

Подобно рангу страницы и центральности собственного вектора

Чтобы измерить влияние одного человека или узла, просто возьмите влияние всех соседей, как рейтинг страницы.

Теперь влияние соседа можно измерить соседом соседа, и так будет продолжаться.

Например, на рисунке справа предположим, что измеряется центральность Джона и что {α (альфа) = 0,5}. Вес, присвоенный каждому звену, которое соединяет Джона с его непосредственными соседями Джейн и Бобом, будет {(0,5)¹ = 0,5}. Поскольку Хосе подключается к Джону косвенно через Боба, вес, назначенный этому соединению (состоящему из двух ссылок), будет {(0,5)^{2}=0,25}.

Точно так же вес, присвоенный связи между Агнетой и Джоном через Азиза и Джейн, будет {(0,5)^{3}=0,125}.

и вес, присвоенный связи между Агнетой и Джоном через Диего, Хосе и Боба, будет {(0,5)^{4}=0,0625}.

Итак, мы вычислим кац-центральность каждого узла.

— — — — — — — — —

ОЦЕНКА ПОПАДАНИЙ

— — — — — — — — —

Поиск темы по гиперссылке

HITS, также известные как концентраторы и авторитеты. Это алгоритм анализа ссылок, который оценивает веб-страницы.

На заре Интернета yahoo.com (хабы) → каталог для других веб-страниц.

Итак, есть два типа страниц

→ Хабы → сайт с большим количеством исходящих ссылок

→ Власти — страницы cnn.com/politics, bbc.com, mit.edu → имеют много инлинков

Это дает каждой веб-странице Wi → 2 балла за концентраторы и авторитетность.

Для каждого пользователя

→ Знаменитость => высокий авторитет => высокая ссылка

→ Обычный пользователь =› Outlink =› концентратор

Действующие шаги для хабов и авторитетности

1) Инициализировать → Чтобы начать ранжирование auth(p) = 1 & hub(p) =1

2) Обновить правило полномочий →

Yahoo имеет высокий рейтинг хаба, поэтому все страницы, связанные с cnn.com, мы суммируем их хаб.

3) Обновить правило концентратора

Пример → сумма авторизации всех страниц, на которые ссылается Yahoo

4) нормализовать

Если мы продолжим обновлять правило Hub & Authority, это приведет к бесконечности

Итак, нам нужно сделать нормализацию

— — — — — — — — — — — — — —

ВАЖНЫЕ ХАРАКТЕРИСТИКИ

— — — — — — — — — — — — — —

Основная идея →

Вероятность того, что случайный человек знает другого случайного человека для подписчиков Ui → ОЧЕНЬ МЕНЬШЕ

Вероятность того, что случайный человек знает другого случайного человека для подписчиков Uj → ВЫСОКАЯ

Итак, если мы каким-то образом узнаем, является ли кто-то знаменитостью или нет, просто по количеству вершин, связанных с ним.

Теперь, если мы видим, что W(Ui) меньше по сравнению с W(Uj), значит, мы имеем меньший вес для знаменитости.

Выше объяснены функции по весу и по весу.

Итак, на основе весовых характеристик мы добавили следующие функции

→ Вес входящих ребер

→ Вес исходящих ребер

→ Вес входящих ребер + вес исходящих ребер

→ Вес входящих ребер + 2 * вес исходящих ребер

→ 2 * Вес входящих ребер + вес исходящих ребер

→ Вес входящих ребер * вес исходящих ребер

GitHub: https://github.com/esanvsh

Linkdin: https://www.linkedin.com/in/sanvendra-singh/

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Ссылки на ссылки: →

https://www.oreilly.com/library/view/feature-engineering-for/9781491953235/ch01.html

https://medium.com/basecs/a-gentle-introduction-to-graph-theory-77969829ead8

https://en.wikipedia.org/wiki

http://www.datascience-pm.com/microsoft-team-data-science-process/

Справочник →

Разработка функций стала проще

Feature Engineering для машинного обучения

Справочные курсы: →

Прикладной ИИ

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —