import numpy as np
from sklearn.preprocessing import OneHotEncoder
# create OneHotEncoder object
ohe = OneHotEncoder()
# fit and transform categorical features
X_cat_encoded = ohe.fit_transform(X_cat)
# concatenate encoded categorical features with numerical features
X_encoded = np.concatenate((X_num, X_cat_encoded.toarray()), axis=1)