in core/src/main/python/synapse/ml/cyber/anomaly/collaborative_filtering.py [0:0]
def __init__(self,
tenantCol: str = AccessAnomalyConfig.default_tenant_col,
userCol: str = AccessAnomalyConfig.default_user_col,
resCol: str = AccessAnomalyConfig.default_res_col,
likelihoodCol: str = AccessAnomalyConfig.default_likelihood_col,
outputCol: str = AccessAnomalyConfig.default_output_col,
rankParam: int = AccessAnomalyConfig.default_rank,
maxIter: int = AccessAnomalyConfig.default_max_iter,
regParam: float = AccessAnomalyConfig.default_reg_param,
numBlocks: Optional[int] = AccessAnomalyConfig.default_num_blocks,
separateTenants: bool = AccessAnomalyConfig.default_separate_tenants,
lowValue: Optional[float] = AccessAnomalyConfig.default_low_value,
highValue: Optional[float] = AccessAnomalyConfig.default_high_value,
applyImplicitCf: bool = AccessAnomalyConfig.default_apply_implicit_cf,
alphaParam: Optional[float] = None,
complementsetFactor: Optional[int] = None,
negScore: Optional[float] = None,
historyAccessDf: Optional[DataFrame] = None):
super().__init__()
if applyImplicitCf:
alphaParam = alphaParam if alphaParam is not None else AccessAnomalyConfig.default_alpha
assert complementsetFactor is None and negScore is None
else:
assert alphaParam is None
complementsetFactor = \
complementsetFactor if complementsetFactor is not None else AccessAnomalyConfig.default_complementset_factor
negScore = negScore \
if negScore is not None else AccessAnomalyConfig.default_neg_score
# must either both be None or both be not None
assert (lowValue is None) == (highValue is None)
assert lowValue is None or lowValue >= 1.0
assert (lowValue is None or highValue is None) or highValue > lowValue
assert \
(lowValue is None or negScore is None) or \
(lowValue is not None and negScore < lowValue)
spark_utils.ExplainBuilder.build(
self,
tenantCol=tenantCol,
userCol=userCol,
resCol=resCol,
likelihoodCol=likelihoodCol,
outputCol=outputCol,
rankParam=rankParam,
maxIter=maxIter,
regParam=regParam,
numBlocks=numBlocks,
separateTenants=separateTenants,
lowValue=lowValue,
highValue=highValue,
applyImplicitCf=applyImplicitCf,
alphaParam=alphaParam,
complementsetFactor=complementsetFactor,
negScore=negScore,
historyAccessDf=historyAccessDf
)