Объединить прогнозируемые результаты в фрейм данных - PullRequest
0 голосов
/ 20 октября 2018

В моем прогнозируемом фрейме данных у меня есть три столбца, я хочу объединить все эти три столбца с исходным набором данных.Как мне этого добиться?

ds = pd.read_csv("final10.csv")
X = ds.iloc[:, 3:-4].values
y = ds.iloc[:,-1].values
testcase = pd.read_csv("testcase.csv")
testcase=testcase.iloc[:,3:-1].values

from sklearn.linear_model import LogisticRegression
clf = LogisticRegression(solver="newton-cg", multi_class='multinomial')
clf.fit(X, y)
y_pred1 = clf.predict_proba(testcase)
testcase['procurement']=pd.Series(y_pred1)

Я получаю ошибку «Исключение: данные должны быть одномерными»

1 Ответ

0 голосов
/ 22 октября 2018

Вы пытаетесь назначить 3 столбца в y_pred1 одному столбцу в кадре данных testcase.Это источник ошибки.Вам нужно будет использовать три разных целевых столбца в кадре данных, чтобы назначить три столбца прогнозирования.

Так, например, если ваш y имеет три уникальных класса (метки) в данных, вывод predict_proba()(y_pred1 в данном случае) будет иметь форму [n, 3].

Вы можете объединить этот двумерный массив с существующим фреймом данных несколькими способами:

Простой способ : назначить каждый столбец отдельно

testcase['procurement_class0'] = y_pred1[:,0]
testcase['procurement_class1'] = y_pred1[:,1]
testcase['procurement_class2'] = y_pred1[:,2]

Другие способы: посмотрите на эти вопросы здесь:

...