Как нормализовать данные для всех параметров в одном диапазоне шкалы
У меня есть CSV-файл,
Данные:
Выход: 1172,4, 1712,7, 863,88, 2731,34, 5220.
Дождь (мм): 113,6, 152,3, 181,9, 152,3, 125,3
манекен (types_of_soil): 1, 0, 0, 2, 1
фиктивная переменная: 1 ==> Средний чернозем
0 ==> глубокий черный
2 ==> Редька коричневая
Зависимая переменная (y): доходность
Независимая переменная: дождь, пустышка (типы почв)
Итак, я хочу нормализовать эти данные, как масштабировать данные в диапазоне от 1 до 10?
Я пытаюсь использовать формулу: (XI - мин) / (макс - мин) Это правильно?
и как масштабировать данные для двоичной переменной (пустышка)?
1 ответ
Решение
Вы можете использовать этот код для нормализации данных
import pandas
import scipy
import numpy
from sklearn.preprocessing import MinMaxScaler
url = "filename.csv"
names = ['yield','Rain','types of soil']
dataframe = pandas.read_csv(url, names=names)
array = dataframe.values
# separate array into input and output components
X = array[:,] **select x independent variable**
Y = array[:,] **select y dependent variable**
scaler = MinMaxScaler(feature_range=(0, 1))
rescaledX = scaler.fit_transform(X)
# summarize transformed data
numpy.set_printoptions(precision=3)
print(rescaledX[0:5,:])
Больше подробностей. см. эту ссылку http://machinelearningmastery.com/prepare-data-machine-learning-python-scikit-learn/