0

i'm trying to build a model to forecast y based on certain regressors using prophet package. An error is appearing to me as below ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe'' i followed the following steps

feature_columns = [
    'sessions', 'add_to_cart', 'begin_checkout','plp',
       'select_item', 'search', 'delivery_continue', 
]
target_column = ['place_order']
train_size = int(0.85 * len(df))
multivariate_df = df[['Day'] + target_column + feature_columns].copy()
multivariate_df.columns = ['ds', 'y'] + feature_columns
multivariate_df

enter image description here

then tried to check if there is nan or zeros

multivariate_df['sessions'] = multivariate_df['sessions'].replace(0, np.nan)
multivariate_df['add_to_cart'] = multivariate_df['add_to_cart'].replace(0, np.nan)
multivariate_df['begin_checkout'] = multivariate_df['begin_checkout'].replace(0, np.nan)
multivariate_df['plp'] = multivariate_df['plp'].replace(0, np.nan)
multivariate_df['select_item'] = multivariate_df['select_item'].replace(0, np.nan)
multivariate_df['search'] = multivariate_df['search'].replace(0, np.nan)
multivariate_df['delivery_continue'] = 
multivariate_df['delivery_continue'].replace(0, np.nan)

multivariate_df.isna().sum()

ds 0 y 0 sessions 0 add_to_cart 0 begin_checkout 0 plp 0 select_item 0 search 0 delivery_continue 0 dtype: int64

train = multivariate_df.iloc[:train_size, :]
x_train, y_train = pd.DataFrame(multivariate_df.iloc[:train_size, [0,2,3,4,5,6,7,8]]), pd.DataFrame(multivariate_df.iloc[:train_size, 1])
x_valid, y_valid = pd.DataFrame(multivariate_df.iloc[train_size:, [0,2,3,4,5,6,7,8]]), pd.DataFrame(multivariate_df.iloc[train_size:, 1])

model = Prophet()
model.add_regressor('sessions')
model.add_regressor('add_to_cart')
model.add_regressor('begin_checkout')
model.add_regressor('plp')
model.add_regressor('select_item')
model.add_regressor('search')
model.add_regressor('delivery_continue')

model.fit(train)

y_pred = model.predict(x_valid)

the error appeared after model.predict i tried several searches but without a result. i appreciate your help that will save much time and efforts. Thanks

Hady
  • 25
  • 7

0 Answers0