У меня есть проблема с предсказанием метки мультикласса, чтобы определить, скажем, фрукты для примера.Я могу получить прогноз от модели, подгонки и прогнозирования функций.Я также обучил и протестировал модель.Ниже приведен код.Я пытаюсь объединить мои "прогнозы y" из переменной "forest_y_pred" с моим исходным набором данных, чтобы я мог сравнить исходную целевую переменную с прогнозируемой целевой переменной в кадре данных,У меня есть 2 вопроса:
1) Является ли y_test
таким же, как forest_y_pred = forest.predict(X_test)
.Я получаю точно такие же результаты, когда сравниваю.Я правильно понял?Я немного растерялся, predict()
предполагает, что предсказание X_test
не дает точно таких же результатов, как y_test
2) Я пытаюсь объединить forest_y_pred = forest.predict(X_test)
обратно в df
.Вот что я попробовал из этого: Слияние результатов из model.predict () с оригинальным пандой DataFrame?
from sklearn.ensemble import RandomForestClassifier
import pandas as pd
# Load Data
df = pd.read_excel('../data/file.xlsx',converters={'col1':str})
df = df.set_index('INDEX_ID') # Setting index id
df
# Doing this way because of setting index. INDEX_ID is a column in the df
X_train, X_test, y_train, y_test = train_test_split(df.ix[:, ~df.columns.isin(['Target'])], df.Target,train_size=0.5)
print(y_test[:5])
type(y_test) #pandas.core.series.Series
ID
12 Apples
124 Oranges
345 Apples
123 Oranges
232 Kiwi
forest = RandomForestClassifier()
# Training
forest_model = forest.fit(X_train, y_train)
print(forest_model)
# Predictions
forest_y_pred = forest.predict(X_test)
print("forest_y_pred:\n",forest_y_pred[:5])
['Apples','Oranges','Apples','Oranges','Kiwi']
y_test['preds'] = forest_y_pred
print(y_test['preds'][:5])
['Apples','Oranges','Apples','Oranges','Kiwi']
df_out = pd.merge(df,y_test[['preds']],how = 'left',left_index = True, right_index = True)
# ValueError: can not merge DataFrame with instance of type <class 'pandas.core.series.Series'>
# How do I fix this? I tried ton of ways to convert ndarray, serries, dataframe...nothing is working so far what I tried. Thanks a bunch!!