Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if targets is None:
if regression_targets is not None:
targets = self.make_regression_targets(features, regression_targets)
else:
targets = features.index.isin(self.get_positive_users(**kwargs))
targets = np.where(targets, self.retention_config['positive_target_event'],
self.retention_config['negative_target_event'])
self._tsne_targets = targets
if sample_frac is not None:
features = features.sample(frac=sample_frac, random_state=0)
elif sample_size is not None:
features = features.sample(n=sample_size, random_state=0)
if not (hasattr(self, '_tsne') and not refit):
self._tsne = feature_extraction.learn_tsne(features, **kwargs)
if plot_type == 'clusters':
if kwargs.get('cmethod') is not None:
kwargs['method'] = kwargs.pop('cmethod')
old_targs = targets.copy()
targets = self.get_clusters(plot_type=None, **kwargs)
elif plot_type == 'targets':
targets = self._tsne_targets
else:
return self._tsne
if proj_type == '3d':
plot.tsne_3d(
self._obj,
clustering.aggregate_cl(targets, 7) if kwargs.get('method') == 'dbscan' else targets,
old_targs,
**kwargs
)