def create_crosstabs(model):
r"""Create cross-tabulations for categorical variables.
Parameters
----------
model : alphapy.Model
The model object containing the data.
Returns
-------
model : alphapy.Model
The model object with the updated feature map.
"""
logger.info("Creating Cross-Tabulations")
# Extract model data
X = model.X_train
y = model.y_train
# Extract model parameters
factors = model.specs['factors']
target_value = model.specs['target_value']
# Iterate through columns, dispatching and transforming each feature.
crosstabs = {}
for fname in X:
if fname in factors:
logger.info("Creating crosstabs for feature %s", fname)
ct = pd.crosstab(X[fname], y).apply(lambda r : r / r.sum(), axis=1)
crosstabs[fname] = ct
# Save crosstabs to the feature map
model.feature_map['crosstabs'] = crosstabs
return model
#
# Function get_factors
#
评论列表
文章目录