Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
Parameters
-------
metric_type: str, optional
Type of metrics, e.g. node centrality.
Returns
-------
Nothing
"""
raise NotImplementedError('Sorry! This function is not ready now')
func = getattr(node_metrics, metric_type)
return func
class BaseDataset(BaseTrajectory):
def __init__(self, pandas_obj):
super(BaseDataset, self).__init__(pandas_obj)
self._embedding_types = ['tfidf', 'counts', 'frequency']
self._locals = None
def extract_features(self, feature_type='tfidf', drop_targets=True, metadata=None, **kwargs):
"""
User trajectories vectorizer.
Parameters
--------
feature_type: str, optional
Type of vectorizer. Available vectorization methods:
- TFIDF (``feature_type='tfidf'``). For more information refer to ``retentioneering.core.feature_extraction.tfidf_embedder``.
- Event frequencies (``feature_type='frequency'``). For more information refer to ``retentioneering.core.feature_extraction.frequency_embedder``.
'target_event_list': [
config.get('negative_target_event'),
config.get('positive_target_event'),
]
})
if 'columns_map' not in config:
config['columns_map'] = {
'user_pseudo_id': config.get('index_col'),
'event_name': config.get('event_col'),
'event_timestamp': config.get('event_time_col'),
}
if not os.path.exists(config['experiments_folder']):
os.mkdir(config['experiments_folder'])
@pd.api.extensions.register_dataframe_accessor("trajectory")
class RetentioneeringTrajectory(BaseTrajectory):
def __init__(self, pandas_obj):
super(RetentioneeringTrajectory, self).__init__(pandas_obj)
self.retention_config = config
@pd.api.extensions.register_dataframe_accessor("retention")
class RetentioneeringDataset(BaseDataset):
def __init__(self, pandas_obj):
super(RetentioneeringDataset, self).__init__(pandas_obj)
self.retention_config = config