我希望获得最常用的关联规则搜索词。
php代码包含两个文件。在其中插入数据的每个输入都存储在文件中以及它的关联,例如: - 如果某个人有搜索" apple"他还搜索了" orange"。现在我想获得最频繁的搜索词。
我已经得到了单词的频率,但现在我想用他们的关联来显示前10个频繁的单词
<?php
$item = file('item.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );
$data = file('data.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );
$item_array = array();
foreach ($item as $value) {
$total_per_item[$value] = 0;
foreach($data as $item_data) {
if(strpos($item_data, $value) !== false) {
$total_per_item[$value]++;
}
}
}
echo "<pre>";
echo "Occurrance";
print_r($total_per_item);
$item1 = count($item) - 1; // minus 1 from count
echo $item1."<br/>";
$item2 = count($item); // minus 1 from count
echo $item2."<br/>";
$item_loop = (pow($item1,2) + $item1) / 2;
echo $item_loop;
for($i = 0; $i < $item1; $i++) {
for($j = $i+1; $j < $item2; $j++) {
$item_array[$item[$i].'-'.$item[$j]] = 0;
foreach($data as $item_data) {
if((strpos($item_data, $item[$i]) !== false) && (strpos($item_data, $item[$j]) !== false)) {
$item_array[$item[$i].'-'.$item[$j]]++;
}
}
echo $item_array[$item[$i].'-'.$item[$j]]++."<br/>";
}
}
print_r($item_array);
?>
file.txt包含以下数据
Milk
Butter
Bread
Oil
Cheese
Burger
data.txt包含以下数据: -
Milk,Butter
Butter,Oil
Burger,Milk
Milk,Cheese
Oil,Butter
Burger,Oil