Я работаю над алгоритмом ML, в котором я пытался преобразовать непрерывные целевые значения в небольшие ячейки, чтобы лучше понять проблему.Следовательно, чтобы сделать лучший прогноз.Моя оригинальная проблема - для регрессии, но я перехожу в классификацию, делая маленькие корзины с метками.
Я сделал следующим образом,
from sklearn.preprocessing import KBinsDiscretizer
est = KBinsDiscretizer(n_bins=3, encode='ordinal', strategy='uniform')
s = est.fit(target)
Xt = est.transform(s)
Это показывает ошибку значения, как показано ниже.Затем я изменил свои данные в 2D.пока я не смог ее решить.
ValueError: Ожидаемый 2D-массив, вместо него получен 1D-массив:
from sklearn.preprocessing import KBinsDiscretizer
myData = pd.read_csv("train.csv", delimiter=",")
target = myData.iloc[:,-5] # this is a continuous data which must be
# converted into bins with a new column.
xx = target.values.reshape(21263,1)
est = KBinsDiscretizer(n_bins=3, encode='ordinal', strategy='uniform')
s = est.fit(xx)
Xt = est.transform(s)
Вы видите, что у моей цели 21263 строки.Я должен разделить их на 10 одинаковых корзин и записать их в новый столбец в моем фрейме данных.Спасибо за руководство.
PS: максимальное целевое значение: 185,0
минимальное целевое значение: 0,00021