• Skip to primary navigation
  • Skip to content
  • Skip to primary sidebar
  • Skip to secondary sidebar

GoHired

Interview Questions asked in Google, Microsoft, Amazon

Join WeekEnd Online Batch from 4-April-2020 on How to Crack Coding Interview in Just 10 Weeks : Fees just 20,000 INR

  • Home
  • Best Java Books
  • Algorithm
  • Internship
  • Certificates
  • About Us
  • Contact Us
  • Privacy Policy
  • Array
  • Stack
  • Queue
  • LinkedList
  • DP
  • Strings
  • Tree
  • Mathametical
  • Puzzles
  • Graph

Apriori algorithm C Code Data Mining

November 29, 2015 by Dhaval Dave

Apriori Algorithm  is an algorithm for data mining of frequent data set and association rule learning over transactional databases. It identifies the frequent individual items in the database for example, collections of items bought by customers. Lets take simple Example

Suppose you have records of large number of transactions at a shopping center as follows:

Transactions Items bought
T1 A, B, C
T2 A, B
T3 B, C, D
T4 A, B, F

For example in the above table you can see A and B are bought together frequently.

How Does This Algorithm works ?

Step 1 : Count each items occurrence  say A came 3, B – 3, C – 2, D – 1, F -1 time.
Step 2 : Remove entries which are very low in count say D,F.
Step 3 : Count Pair wise occurrence and Create table.
_PS : this step we can do for A,B,C or A,B the way clients or we need aggregation.
OP : AB-3, BC-2, AC-1,
Step 4 :  Declare highest occurring items as AB.

Clear your Java Concept with this top java books 

#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{
 FILE *fin;
 int i,cols,rows,*count;
 char val;
 if(argc!=2)
 {
  return 1; 
 }
 fin = fopen(argv[1],"r");

//finding the number of cols
 cols=0;
 fscanf(fin,"%c",&val);
 while(1)
 {
  if(val=='\n')
  break;
  if(val!=' ')
  cols++;
  fscanf(fin,"%c",&val);
 }
 printf("\nNumber of columns = %d\n",cols);
 fclose(fin);
 fin = fopen(argv[1],"r");
 //Generation of 1 item frequent items

 count = (int*)malloc(sizeof(int)*cols);

 for(i=0;i<cols;i++)
 {
  count[i] =0;
 }

 while(!feof(fin))
 {
  for(i=0;i<cols;i++)
  {
   fscanf(fin,"%c",&val);
   if(val=='1')
   count[i]++;
   fscanf(fin,"%c",&val);
  }
 }
 //Generation of 1-item frequent sets completed!!

 printf("\n1-item frequent item sets..\n");
 for(i=0;i<cols;i++)
 {
  printf("\n%d -> %d",i+1,count[i]);
 }
 fclose(fin);
 return 0;
}


Similar Articles

Filed Under: Algorithm, Data Mining, Interview Questions, problem Tagged With: c

Reader Interactions

Primary Sidebar

Join WeekEnd Online/Offline Batch from 4-April-2020 on How to Crack Coding Interview in Just 10 Weeks : Fees just 20,000 INR

Join WeekEnd Online/Offline Batch from 4-April-2020

WhatsApp us

Secondary Sidebar

Custom Search

  • How I cracked AMAZON
  • LeetCode
  • Adobe
  • Amazon
  • Facebook
  • Microsoft
  • Hacker Earth
  • CSE Interview

Top Rated Questions

Maximum size of square sub matrix with all 1’s in a binary matrix

Find shortest distances between every pair of vertices ( Dynamic Programming Floyd Warshall Algorithm)

building with N steps, we can take 1,2,3 steps calculate number of ways to reach at top of building

Leetcode: Merge Intervals

Generate largest number arranging a no. of given non negative integer numbers

BlueStone E-commerce Interview Experience

Count number of ways to reach a given score in a game

Printing Longest Common Subsequence

Find min element in Sorted Rotated Array (With Duplicates)

Check a String is SUBSEQUENCE of another String Find Minimum length for that ( DNA Matching )

Serialise Deserialise N-ary Tree

Level order traversal in Spiral form

Handle duplicates in Binary Search Tree

Convert Decimal to Roman numbers / Romanizer HackerEarth Code

Get Minimum element in O(1) from input numbers or Stack

Subset Sum Problem Dynamic programming

Common Ancestor in a Binary Tree or Binary Search Tree

Facebook Interview Question : Interleave List

N teams are participating. each team plays twice with all other teams. Some of them will go to the semi final. Find Minimum and Maximum number of matches that a team has to win to qualify for finals ?

Maximum path sum between two leaves

VMWare SDEII Interview

Python Dictionaries

Find position of the only set bit

Urban Ladder Written Test.

Given Set of words or A String find whether chain is possible from these words or not

Cisco Hiring Event 21st – 22nd Feb 2015

Add Sub Multiply very large number stored as string

Count Possible Decodings of a given Digit Sequence

N Petrol bunks or City arranged in circle. You have Fuel and distance between petrol bunks. Is it possible to find starting point so that we can travel all Petrol Bunks

Search element in a matrix with all rows and columns in sorted order

Copyright © 2025 · Genesis Framework · WordPress · Log in