plt.hist показывает странный график после предварительной обработки. - PullRequest
0 голосов
/ 04 сентября 2018

Я новичок в Python, поэтому я выполняю этот код:

test1 = np.array([95, 91, 104, 93, 85, 107, 97, 90, 86, 93, 86, 90, 88, 89, 94, 96, 89, 99, 104, 101, 84, 84, 94, 87, 99, 85, 83, 107, 102, 80, 89, 88, 93, 101, 87, 100, 82, 90, 106, 81, 95])
plt.hist(test1)
plt.show()

И получите это изображение: enter image description here

После того, как я нормализую данные и снова проверю график:

plt.gcf().clear()
test2 = preprocessing.normalize([test1])
    plt.hist(test2)
    plt.show()

enter image description here

Новый график имеет другую форму, и на гистограмме я вижу, что каждое число представляет один раз, что выглядит странно для меня по сравнению с первым графиком. Поэтому я ожидаю что-то похожее на первый сюжет, но с диапазоном от 0 до 1. Где я ошибаюсь?

1 Ответ

0 голосов
/ 04 сентября 2018

Вот одно из решений. Вам нужен MinMaxScaler, чей диапазон для нормализации (0,1). Для получения дополнительной информации см. эту официальную страницу от sklearn.

from sklearn import preprocessing

test1 = np.array([95, 91, 104, 93, 85, 107, 97, 90, 86, 93, 86, 90, 88, 89, 94, 96, 89, 99, 104, 101, 84, 84, 94, 87, 99, 85, 83, 107, 102, 80, 89, 88, 93, 101, 87, 100, 82, 90, 106, 81, 95])
min_max_scaler = preprocessing.MinMaxScaler()
test2 = min_max_scaler.fit_transform(test1.reshape(-1, 1));
plt.hist(test2)

выход

enter image description here

...