Шкала от -1 до 1 - PullRequest
       18

Шкала от -1 до 1

0 голосов
/ 19 апреля 2020

У меня есть фрейм данных с процентами положительного, отрицательного и нейтрального настроения в тексте, и я пытаюсь масштабировать эти данные в число от -1 (наиболее отрицательный) до 1 (наиболее положительный). Какова будет лучшая формула для определения этой оценки?
Пример кадра данных:
Столбцы данных (всего 11 столбцов):

 #   Column            Non-Null Count  Dtype
---  ------            --------------  -----  
 0   kind              200 non-null    object
 1   etag              200 non-null    object
 2   id                200 non-null    object
 3   positive          200 non-null    float64
 4   negative          200 non-null    float64
 5   neutral           200 non-null    float64

Необходимо добавить новое поле с именем Оценка с соответствующим формула Пример оценки: Загрузка комментариев к видео: 49
Позитивные настроения: 39.37210499227998
Отрицательные настроения: 18.57951621204323
Нейтральные настроения: 42.04837879567679

Ответы [ 2 ]

0 голосов
/ 19 апреля 2020

Это можно рассматривать как минимальное и максимальное масштабирование. Чтобы получить значение в [-1,1], нужно сделать:

val = (2 *(val - min)/(max-min)) - 1

Нет необходимости говорить, что val - это нормализуемое текущее значение, min - это наименьшее из всех значений, а max - самое большое из всех значений. .

0 голосов
/ 19 апреля 2020

Я бы просто установил положительное настроение на 1, отрицательное настроение на -1, а нейтральное на 0. Затем масштабируем каждое в соответствии с их процентами, чтобы получить составной балл.

Так что для упомянутого примера оценка было бы

score = positive% * positive_score + neutral % * neutral_score + negative % * negative_score

score = .3937 * 1 + .4205 * 0 + .1858 * -1
score = .2079

Интуитивно это имеет смысл, потому что если бы у нас были все положительные оценки, то у нас был бы максимальный балл 1. Если бы у нас были все отрицательные баллы, то у нас был бы минимальный балл -1, и нейтральный счет 0.

Вы можете использовать функцию iterrows, чтобы перебрать все строки, а затем написать функцию, чтобы объединить эти оценки в новый столбец или обновить существующий столбец.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...