アプリオリ相関

頻出項目セットのマイニングのための、アプリオリ アルゴリズムに基づいた相関ルールの学習

コンストラクタのパラメータ

  • $support - サポート、訓練サンプルの中での頻度項目セットの最小相対数
  • $confidence - 確信度、頻度項目セット内の項目セットの最小相対数
use Phpml\Association\Apriori;

$associator = new Apriori($support = 0.5, $confidence = 0.5);

学習

相関器を訓練するには、単純に訓練サンプルとラベルを与えます (配列として)。例:

$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 メソッドを使います。1つのサンプルあるいは、サンプルの配列を与えることができます:

$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-length 頻度項目セットを生成するには、単純にapriori メソッドを使います。

$associator->apriori();
// return [ 1 => [['alpha'], ['beta'], ['theta'], ['epsilon']], 2 => [...], ...]