## Apriori算法助手 > 基于[Apriori算法](https://baike.baidu.com/item/APRIORI/2000746?fr=aladdin)的频繁项目集挖掘关联规则学习。 ### 构造函数参数 * `$support` - 支持的最小阈值,即规则“如果X然后Y”包含X和Y的样本的比率 * `$confidence` - 最小置信度,即包含X和Y的样本与包含X的样本的比率 ``` use Phpml\Association\Apriori; $associator = new Apriori($support = 0.5, $confidence = 0.5); ``` ***** ## 训练 训练关联者只需提供训练样本(`$samples`)和标签(`$labels`)。例: ``` $samples = [['alpha', 'beta', 'epsilon'], ['alpha', 'beta', 'theta'], ['alpha', 'beta', 'epsilon'], ['alpha', 'beta', 'theta']]; $labels = []; use Phpml\Association\Apriori; $associator = new Apriori($support = 0.5, $confidence = 0.5); $associator->train($samples, $labels); ``` 您可以使用多个数据集训练关联者,预测将基于所有训练数据。 ***** ## 预测 预测样本标签使用`predict`方法。您可以提供一个样本或样本数组: ``` $associator->predict(['alpha','theta']); // return [['beta']] $associator->predict([['alpha','epsilon'],['beta','theta']]); // return [[['beta']], [['alpha']]] ``` ***** ## 关联 获取生成的关联规则只需使用`rules`方法。 ``` $associator->getRules(); // return [['antecedent' => ['alpha', 'theta'], 'consequent' => ['beta'], 'support' => 1.0, 'confidence' => 1.0], ... ] ``` ***** ## 频繁的项目集 生成k长度频繁项集只需使用`apriori`方法。 ``` $associator->apriori(); // return [ 1 => [['alpha'], ['beta'], ['theta'], ['epsilon']], 2 => [...], ...] ```