#python #python-3.x #pandas #numpy
#python #python-3.x #pandas #numpy
Вопрос:
У меня есть приведенный ниже код для кодирования меток:
import numpy as np
import pandas as pd
train_sentiments = pd.Series(['neutral', 'positive', 'neutral', 'negative'])
y_train = np.asarray(pd.get_dummies(train_sentiments), dtype = np.int8)
print('"{}" is converted into {}'.format(train_sentiments[0], y_train[0]))
print('"{}" is converted into {}'.format(train_sentiments[1], y_train[1]))
print('"{}" is converted into {}'.format(train_sentiments[3], y_train[3]))
Результат, который я получаю для приведенной выше части, заключается в том, что для меток закодированное значение одинаково:
"neutral" is converted into [1 0 0]
"positive" is converted into [1 0 0]
"negative" is converted into [1 0 0]
Как узнать, для чего закодированы значения для каждой метки?
Комментарии:
1. Он относится к типу
<class 'pandas.core.series.Series'>
, образец из серии выглядит следующим образом —5530 negative 7017 neutral 10916 positive
2. Что, если вы не будете конвертировать с помощью np.asarray и индексировать как
y_train.iloc[0,:]
или проверятьy_train.head()
3. попробуйте передать train_sentiments в виде списка, я смог получить правильный вывод, используя это
4. Я протестировал ваш код, и я получаю другой результат, я получаю правильный вывод: «нейтральный» преобразуется в [0 1 0] «положительный» преобразуется в [0 0 1] «отрицательный» преобразуется в [1 0 0]
5. @HodossySzabolcs не могли бы вы, пожалуйста, поделиться кодом, который вы использовали для тестирования. По крайней мере, я могу сравнить с тем, что у меня есть.