You are on page 1of 8

Implementation of Page Rank

import networkx as nx

import pylab as plt

D = nx.DiGraph()

n = int(input("\nEnter number of nodes: "))

for i in range(n):

print(f'\nEnter node {i}:')

D.add_weighted_edges_from([(input('Enter Parent: '), input('Enter Child: '),

int(input('Enter Weight: ')))])

print('\nPageRank: ', nx.pagerank(D))

nx.draw(D, with_labels=True)

plt.show()

Implementation Association Mining like Apriori using languages like Java/ Python.

Code:

data = []

n = int(input("\nNo. of transactions: "))

for i in range(n):

item = int(input("No. of items: "))

print("Enter items: ")

arr = []

arr = input().split(" ")

data.append([i, arr])

init = []

for i in data:
for q in i[1]:

if(q not in init):

init.append(q)

init = sorted(init)

print(init)

sp = float(input("\nMinimum support: "))

s = int(sp*len(init))

from collections import Counter

c = Counter()

for i in init:

for d in data:

if(i in d[1]):

c[i]+=1

print("\nC1:")

for i in c:

print(str([i])+": "+str(c[i]))

print()

l = Counter()

for i in c:

if(c[i] >= s):

l[frozenset([i])]+=c[i]

print("L1:")

for i in l:

print(str(list(i))+": "+str(l[i]))

print()

pl = l

pos = 1
for count in range (2,1000):

if(len(l) == 1):

break

nc = set()

temp = list(l)

for i in range(0,len(temp)):

for j in range(i+1,len(temp)):

t = temp[i].union(temp[j])

if(len(t) == count):

nc.add(temp[i].union(temp[j]))

nc = list(nc)

c = Counter()

for i in nc:

c[i] = 0

for q in data:

temp = set(q[1])

if(i.issubset(temp)):

c[i]+=1

print("C"+str(count)+":")

for i in c:

print(str(list(i))+": "+str(c[i]))

print()

l = Counter()

for i in c:

if(c[i] >= s):

l[i]+=c[i]

print("L"+str(count)+":")
for i in l:

print(str(list(i))+": "+str(l[i]))

print()

pl = l

pos = count

print("Result: ")

print("L"+str(pos)+":")

for i in pl:

print(str(list(i))+": "+str(pl[i]))

print()

A] Binning (Data Discretization)

Code -

def equifreq(arr1, m):

a = len(arr1)

n = int(a / m)

for i in range(0, m):

arr = []

for j in range(i * n, (i + 1) * n):

if j >= a:

break

arr = arr + [arr1[j]]

print(f'Bin {i+1} ', arr)

b1 = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

b2 = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]


b3 = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

for i in range(0, len(arr1), 3):

k = int(i/3)

mean = int((arr1[i] + arr1[i+1] + arr1[i+2])/3)

for j in range(3):

b1[k][j] = int(mean)

print("Smoothing by Mean:")

for i in range(3):

print(f'Bin {i+1} ', b1[i])

for i in range(0, len(arr1), 3):

k = int(i/3)

for j in range(3):

b2[k][j] = arr1[i+1]

print("Smoothing by Median:")

for i in range(3):

print(f'Bin {i+1} ', b2[i])

for i in range(0, len(arr1), 3):

k = int(i/3)

for j in range(3):

if (arr1[i+j]-arr1[i]) < (arr1[i+2]-arr1[i+j]):

b3[k][j] = arr1[i]

else:

b3[k][j] = arr1[i+2]

print("Smoothing by Boundaries:")

for i in range(3):

print(f'Bin {i+1}: ', b3[i])

data = input("\nEnter dataset: ")


data = data.split(',')

data = list(map(int, data))

# no of bins

m=3

print("Bins: ")

equifreq(data, m)

B] Data Visualization

import pandas as pd

import matplotlib.pyplot as plt

# reading the database

data = pd.read_csv("dwm_exp8.csv")

# Scatter plot

plt.scatter(data['day'], data['tip'])

# Adding Title to the Plot

plt.title("Scatter Plot")

# Setting the X and Y labels

plt.xlabel('Day')

plt.ylabel('Tip')

plt.show()

# Histogram

plt.hist(data['total_bill'])

plt.title("Histogram")

plt.show()
Implementation of Clustering Algorithm K Means

Code -

import sys

import random

n = int(input("\nEnter no. of objects: "))

obj = input("\nEnter the objects: ")

k = int(input("\nEnter no. of clusters: "))

dataset = obj.split()

dataset = list(map(int, dataset))

Dict = {}

meansOld = random.sample(dataset, k)

means = meansOld.copy()

for x in range(5):

for i in range(k):

Dict[i] = []

for i in range(len(dataset)):

minIndex = 0

minValue = sys.maxsize

for j in range(len(means)):

if abs(means[j] - dataset[i]) < minValue:

minValue = abs(means[j] - dataset[i])

minIndex = j

Dict[minIndex].append(dataset[i])

for key, value in Dict.items():

sum = 0

num = 0

for i in value:
sum = sum + i

num = num + 1

means[key] = sum/num

print("Reassigning: ", Dict, "Mean = ", means)

if(meansOld == means):

break

meansOld = means.copy()

Dict.clear()

print("\nFinal Answer: ", Dict)

You might also like