Consider you are given n data points in the form of list of tuples like S=[(x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,y5),…,(xn,yn)] and a point P=(p,q)

your task is to find 5 closest points(based on cosine distance) in S from P

Cosine distance between two points (x,y) and (p,q) is defined as

co

s

−1

(

(x⋅p+y⋅q)

(

√

x

2

+

y

2

)⋅

(

√

p

2

+

q

2

)

)

cos−1((x⋅p+y⋅q)(x2+y2)⋅(p2+q2))

Ex:

S= [(1,2),(3,4),(-1,1),(6,-7),(0, 6),(-5,-8),(-1,-1)(6,0),(1,-1)]

P= (3,-4)

Output:

(6,-7)

(1,-1)

(6,0)

(-5,-8)

(-1,-1)