Example #1
0
 public function __construct($data)
 {
     //Transactions Array passed
     if (isset($data["transactions"])) {
         $transactions = $data["transactions"];
     }
     //Text file Passed
     if (isset($data["file"])) {
         self::$stopwords = self::get_stopwords();
         $transactions = self::parse_file($data["file"]);
     }
     //Transactions are Empty
     if (empty($transactions)) {
         echo "Transactions are Empty, what are you going to do about it?";
         exit;
     }
     //Set Transactions
     self::$transactions = $transactions;
     //Set Amount of Transactions
     self::$total_transactions = count($transactions);
     //Remove duplicates from Transactions
     self::$transactions = self::remove_duplicates(self::$transactions);
     //Find concepts from Transactions
     self::$concepts = self::find_concepts(self::$transactions);
     //Find combinations from Concepts
     self::$combinations = self::find_combinations(self::$concepts);
     //Find support for Combinations
     self::$combinations = self::find_support(self::$combinations, self::$transactions);
     //Find confidence for Concepts
     self::$combinations = self::find_confidence(self::$combinations, self::$transactions);
 }
Example #2
0
 public function index()
 {
     $minSupp = 50;
     //minimal support
     $minConf = 90;
     //minimal confidence
     $type = Apriori::SRC_PLAIN;
     //data type
     $recomFor = 'beer';
     //recommendation for
     $dataFile = 'data.json.gz';
     //file for saving of state
     //transactions
     $file = fopen(public_path('db/1000.inp.txt'), 'r');
     $data = [];
     while (!feof($file)) {
         $line = fgets($file);
         if ($line) {
             $db = explode(' ', $line);
             if ($db) {
                 $data[] = implode(',', $db);
             }
         }
     }
     //		$data = array(
     //			'bread, milk',
     //			'sugar, milk, beer',
     //			'bread',
     //			'bread, milk, beer',
     //			'sugar, milk, beer'
     //		); //id(items)
     try {
         $start = microtime(true);
         $apri = new Apriori($type, $data, $minSupp, $minConf);
         $apri->solve()->generateRules()->displayRules();
         //save state with rules
         $time_elapsed_secs = microtime(true) - $start;
         echo 'Time: ' . $time_elapsed_secs;
     } catch (Exception $exc) {
         echo $exc->getMessage();
     }
     return View::make('home.index');
 }
Example #3
0
<!DOCTYPE HTML>
<html>
<head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
	<title>Apriori Alghoritm</title>
</head>
<body style="font-family: monospace;">
<pre>
<?php 
include 'Apriori.php';
$Apriori = new Apriori();
$Apriori->setMaxScan(3);
$Apriori->setMinSup(2);
$Apriori->setMinConf(100);
$Apriori->setDelimiter(',');
$Apriori->process('fichier.txt');
//Frequent Itemsets
echo '<h1>Frequent Itemsets</h1>';
$Apriori->printFreqItemsets();
echo '<h3>Frequent Itemsets Array</h3>';
print_r($Apriori->getFreqItemsets());
//Association Rules
echo '<h1>Association Rules</h1>';
$Apriori->printAssociationRules();
echo '<h3>Association Rules Array</h3>';
print_r($Apriori->getAssociationRules());
//Sauvegarde dans les fichiers
$Apriori->saveFreqItemsets('freqItemsets.txt');
$Apriori->saveAssociationRules('associationRules.txt');
?>
</pre>
Example #4
0
        }
    }
}
function get_salary_range($salary)
{
    if ($salary < 30000) {
        return 'salary- <30k$ ';
    } else {
        if ($salary > 30000 and $salary < 60000) {
            return 'salary-between 30k$ and 60k$';
        } else {
            return 'salary-more than 60$k';
        }
    }
}
$Apriori = new Apriori();
$Apriori->setMaxScan(20);
//Scan 2, 3, ...
$Apriori->setMinSup(2);
//Minimum support 1, 2, 3, ...
$Apriori->setMinConf(30);
//Minimum confidence - Percent 1, 2, ..., 100
$Apriori->setDelimiter(',');
//Delimiter
$dataset = array();
$conn = mysql_connect('localhost', 'root', '');
if ($conn) {
    if (mysql_select_db('olx', $conn)) {
        $result = mysql_query("SELECT age,gender,salary,pid FROM user,cart,products WHERE pid=id and user_id=uid", $conn);
        if (!mysql_num_rows($result)) {
            $err = 'No product available';
    }
    if (count($set) != 0) {
        array_push($dataset, $set);
    }
}
if (isset($_POST['submitParameters'])) {
    $Apriori = new Apriori();
    $Apriori->setMaxScan($_POST['maximumScan']);
    //Scan 2, 3, ...
    $Apriori->setMinSup($_POST['minimumSupport']);
    //Minimum support 1, 2, 3, ...
    $Apriori->setDelimiter(',');
    //Delimiter
    $Apriori->process($dataset);
} else {
    $Apriori = new Apriori();
    //default values
    $Apriori->setMaxScan(100);
    //Scan 2, 3, ...
    $Apriori->setMinSup(3);
    //Minimum support 1, 2, 3, ...
    $Apriori->setMinConf(75);
    //Minimum confidence - Percent 1, 2, ..., 100
    $Apriori->setDelimiter(',');
    //Delimiter
    $Apriori->process($dataset);
}
?>
<pre>
<?php 
// print_r($dataset);