Professional Documents
Culture Documents
D.jothi8@gmail - Com 2
D.jothi8@gmail - Com 2
import sys
product=[]
def mat_mul(A,B):
# iterate through rows of A
for i in range(len(A)):
# iterate through columns of B
for j in range(len(B[0])):
# iterate through rows of B
product[i][j]=0
for k in range(len(B)):
product[i][j]+=A[i][k]*B[k][j]
return product
a=[]
b=[]
ar=input("Enter number of rows for matrix A:")
ar1=int(ar)
ac=input("Enter number of columns for matrix A:")
ac1=int(ac)
br=input("Enter number of rows for matrix B:")
br1=int(br)
bc=input("Enter number of columns for matrix B:")
bc1=int(bc)
if ac1!=br1 :
print("MATRIX MULTIPLICATION NOT POSSIBLE")
sys.exit();
for i in range(0,ar1):
for j in range(0,ac1):
a[i].append(j)
a[i][j]=0 #output - [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
for i in range(0,ar1):
for j in range(0,ac1):
print('entey in row:',i+1,'entry in column:',j+1)
a[i][j]=int(input())
print("Matrix A is:",a)
for i in range(0,br1):
for j in range(0,bc1):
b[i].append(j)
b[i][j]=0 #output - [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
for i in range(0,br1):
for j in range(0,bc1):
print('entey in row:',i+1,'entry in column:',j+1)
b[i][j]=int(input())
print("Matrix B is:",b)
for l in range(0,ar1):
product.append([])
for i in range(0,ar1):
for j in range(0,bc1):
product[i].append(j)
product[i][j]=0
def sampling_based_on_magnitued():
for i in range(1,10):
number = pick_a_number_from_list(B)
sam.append(number)
print("random generated number is",sam)
F=Counter(sam)
print(F)
sorted(F,key=F.get,reverse=True) #sorting dict in descending order
freq=[] #it will hold value corresponding to each key
freqkey=[]
for key,value in F.items():
#if len(freq)>len(B):
freq.append(value)
freqkey.append(key)
sum=0
for l in range(len(freq)):
sum+=freq[l]
prob2=[]
prob3_sorted=[]
freq.sort(reverse=True)
freq_key_sorted=[]
for h in range(0,len(freq)):
prob=freq[h]/sum
prob2.append(prob)
#prob3_sorted[h]=sorted(prob2)
for k,v in F.items():
if v==freq[h]:
freq_key_sorted.append(k)
print("new key",freq_key_sorted)
print("value",freq)
print("Element {0} with probability:{1}".format(freq_key_sorted[h],prob2[h]))
print(B)
sampling_based_on_magnitued()
#print("selected random number is:{0}".format(pick_a_number_from_list(B)))
#https://www.geeksforgeeks.org/random-number-generator-in-arbitrary-probability-distribution-fashion/
Enter the number of element that you want in the list - note, it should not be more than 15
2
1
[1]
2
[1, 2]
random generated number is [2]
Counter({2: 1})
Number of occurance of array element:[2] is [1]
summation of frequency of array is: 1
random generated number is [2, 1]
Counter({2: 1, 1: 1})
Number of occurance of array element:[2, 1] is [1, 1]
summation of frequency of array is: 2
random generated number is [2, 1, 1]
Counter({1: 2, 2: 1})
Number of occurance of array element:[2, 1] is [1, 2]
summation of frequency of array is: 3
random generated number is [2, 1, 1, 2]
Counter({2: 2, 1: 2})
Number of occurance of array element:[2, 1] is [2, 2]
summation of frequency of array is: 4
random generated number is [2, 1, 1, 2, 1]
Counter({1: 3, 2: 2})
Number of occurance of array element:[2, 1] is [2, 3]
summation of frequency of array is: 5
random generated number is [2, 1, 1, 2, 1, 2]
Counter({2: 3, 1: 3})
Number of occurance of array element:[2, 1] is [3, 3]
summation of frequency of array is: 6
random generated number is [2, 1, 1, 2, 1, 2, 1]
Counter({1: 4, 2: 3})
Number of occurance of array element:[2, 1] is [3, 4]
summation of frequency of array is: 7
random generated number is [2, 1, 1, 2, 1, 2, 1, 2]
Counter({2: 4, 1: 4})
Number of occurance of array element:[2, 1] is [4, 4]
summation of frequency of array is: 8
random generated number is [2, 1, 1, 2, 1, 2, 1, 2, 2]
Counter({2: 5, 1: 4})
Number of occurance of array element:[2, 1] is [5, 4]
summation of frequency of array is: 9
new key [2]
value [5, 4]
Element 2 with probability:0.5555555555555556
new key [2, 1]
value [5, 4]
Element 1 with probability:0.4444444444444444
In [7]: import re
digit=[]
def replace_digits(st):
for c in st:
if c.isdigit()==True:
digit.append(c)
for i in range(len(digit)):
digit[i]="#"
In [6]: #https://docs.python.org/3/howto/sorting.html
def display_dash_board(Students, Marks):
table={}
for i in Students:
table[i]=[]
for j in range(len(Marks)):
table[Students[j]]=Marks[j]
top_5_students = list(reversed(list(Sorted_dict)[-5:]))
least_5_students = Sorted_dict[0:5]
students_within_25_and_75 = Sorted_dict[int(0.25*len(table)):int(0.75*len(table))]
return top_5_students, least_5_students, students_within_25_and_75
students=[]
marks=[]
print("Enter number of students in a class should be more than 10:")
no_stud=int(input())
if no_stud<10:
print("Please enter details of more than 10 student")
sys.exit()
for i in range(0,no_stud):
name=input("Please enter all student name:")
students.append(name)
mark_de=int(input("Enter the mark of student:"))
marks.append(mark_de)
for i in range(0,len(x1)):
for j in range(0,len(y1)):
xy2=math.sqrt((x1[i]*x1[i])+(y1[j]*y1[j])) #x2+y2
pq1=math.sqrt((p[0]*p[0])+(p[1]*p[1])) #p2+q2
XP=(x1[i]*p[0])+(y1[j]*p[1]) #xp+yp
cosine_dist=math.degrees(math.acos((XP)/(xy2*pq1)))
key=int(cosine_dist)
a.setdefault(key,[])
a[key].append(x1[i])
a[key].append(y1[j])
print("This is the cosine distance:{0} for correspending x:{1} y:{2} coordinate".format(key,x1[i],y1[j]))
y1.remove(y1[j])
break
S=()
P=()
List_tup=[]
print("Enter the number of data points for S:")
n=int(input())
print("Number of data point in S is :",n)
for i in range(0,n):
S=tuple(int(k) for k in input("enter datapoint x,y for S:").split(','))
#S=ast.literal_eval(input("enter data points for S:")
List_tup.append(S)
print(List_tup)
closest_points_to_p(List_tup, P)
In [22]: #Calculate on which side of a straight line is a given point located - https://math.stackexchange.com/questions/274712/calcul
ate-on-which-side-of-a-straight-line-is-a-given-point-located
import sympy as S
import math
def i_am_the_one(red1,blue1,l1):
a1=[]
b1=[]
c1=[]
linstr=[]
linint=[]
l5=[]
for j in range(0,len(l1)):
l3=l1[j]
l4=l3.split('+')
l5.append(l4)
print("l5 is:",l5)
for i in range(0,len(l5)):
for l6 in l5[i]:
linstr.append(l6)
print("stringlist is:",linstr)
for k in linstr:
for k1 in range(len(k)):
if k1==0:
k2=int(k[k1])
linint.append(k2)
print("int of list:",linint)
print("coefficient of A is:",coeffA)
print("coefficient of B is:",coeffB)
redxcord=[]
redycord=[]
for q in range(0,r):#total number of data point for red -- putting x coordinate of red in one list and y in another list
for s in range(len(red1[q])):
if s==0:
f=red1[q][s]
redxcord.append(f)
else:
f1=red1[q][s]
redycord.append(f1)
bluexcord=[]
blueycord=[]
for q in range(0,b):#total number of data point for blue -- putting x coordinate of blue in one list and y in another lis
t
for s in range(len(blue1[q])):
if s==0:
f=blue1[q][s]
bluexcord.append(f)
else:
f1=blue1[q][s]
blueycord.append(f1)
distr1=[]
for i in range(0,l):
distr1.append([])
print("distr1",distr1)
for i in range(0,l):
for j in range(0,r):
distr1[i].append(j)
distr1[i][j]=0
print("distr1",distr1)
dist=[]
for d in range(0,l):
dis=0
for i in range(0,r):
short_dis=(coeffA[d]*redxcord[i])+(coeffB[d]*redycord[i])+(intercept[d])/(math.sqrt((coeffA[d]*coeffA[d])+(coeffB
[d]*coeffB[d])))
dis=dis+short_dis
distr1[d][i]=dis
dist.append(dis)
for j in range(0,l):
ctnegative=0
ctpositive=0
for k in range(len(distr1)):
if distr1[j][k]<0:
ctnegative=ctnegative+1
else:
ctpositive=ctpositive+1
if ctnegative==len(distr1):
print("all distance in -ve sign--Line {0} separates all red points".format(j))
elif ctpositive==len(distr1):
print("all distance in +ve sign--Line {0} separates all red points".format(j))
else:
print("Line {0} does not separate red points".format(j))
distb1=[]
for i in range(0,l):
distb1.append([])
print("distb1",distb1)
for i in range(0,l):
for j in range(0,b):
distb1[i].append(j)
distb1[i][j]=0
print("distb1",distb1)
distb=[]
for d in range(0,l):
dis=0
for i in range(0,b):
short_dis=((coeffA[d]*bluexcord[i])+(coeffB[d]*blueycord[i])+(interceptb[d]))/(math.sqrt((coeffA[d]*coeffA[d])+(c
oeffB[d]*coeffB[d])))
dis=dis+short_dis
distb1[d][i]=dis
distb.append(dis)
for j in range(0,l):
ctnegative=0
ctpositive=0
for k in range(len(distb1)):
if distb1[j][k]<0:
ctnegative=ctnegative+1
else:
ctpositive=ctpositive+1
if ctnegative==len(distb1):
print("all distance in -ve sign--Line {0} separates all blue points".format(j))
elif ctpositive==len(distb1):
print("all distance in +ve sign--Line {0} separates all blue points".format(j))
else:
print("Line {0} does not separate blue points".format(j))
Red=()
Blue=()
List_redtup=[]
List_bluetup=[]
line=[]
print("Enter the number of data points for Red:")
r=int(input())
print("Number of data point in Red is :",r)
for i in range(0,r):
r1=tuple(int(k) for k in input("Enter coordinate x,y for Red point:").split(','))
List_redtup.append(r1)
print("******Enter number of lines that you want to check whether it separates both red and blue points******")
l=int(input())
print("Enter set of line equations and it should be in this format a1x+b1y+c1,a2x+b2y+c2..etc K lines")
for i in range(0,l):
#a,b=S.symbols("a,b")
l1=input()
line.append(l1)
print(line)
i_am_the_one(List_redtup,List_bluetup,line)
for i in l:
if i=='_':
li.append(i)
else:
li.append(int(i))
print("Input is:",li)
count=0
middle_store=0
for k in range(len(li)):
if li[k]=='_':
count=count+1
else:
for j in range(0,k+1):
li[j]=str((float(li[k]))/(count+1))
middle_store=k
#print("middle store is:",middle_store)
middle_store_value=float(li[k])
break
last=0
flag_value=float(li[flag])
for p in range(middle_store,flag+1):
li[p]=str((middle_store_value+flag_value)/(denominator))
last=p
#print("last is:",last)
#blanks at the right
last_value=float(li[last])
#print("last value is:",last_value)
for q in range(last,len(li)):
#print("q is:",q)
if li[q]!='_' or li[k3-1]=='_':
li[q]=str((last_value)/(len(li)-last))
print("output is:",li)
replace_digit(s)
F1=list(dict.fromkeys(F))
S1=list(dict.fromkeys(S))
cnt_s2=[]
for i in range(0,len(S1)):
num_s=S1[i]
cnt_s=0
cnt_s1=0
#print("nums:",num_s)
for j in range(0,len(S)):
if S[j]==num_s:
cnt_s=cnt_s+1
continue
cnt_s1=cnt_s
cnt_s2.append(cnt_s1)
cnt_f2=[]
for m in range(0,len(S1)):
num_s1=S1[m]
for n in range(0,len(F1)):
num_f1=F1[n]
cnt=0
for p in range(0,len(F)):
if S[p]==num_s1 and F[p]==num_f1:
cnt=cnt+1
continue
cnt_f2.append(cnt)
n=0
for w in range(0,len(S1)):
for s in range(0,len(F1)):
cond_p=(cnt_f2[n])/(cnt_s2[w])
print("probability of P(F={0} | S== {1}) = {2}".format(F1[s],S1[w],cond_p))
n=n+1
a=[]
print("Enter number of rows:")
row=int(input())
no_of_column=2
for i in range(0,row):
a.append([]) #output - [[], [], []]
for i in range(0,row):
for j in range(0,no_of_column):
a[i].append(j)
a[i][j]=0 #output - [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
print("*********************************************")
print("It is a NX2 matrix")
print("Condition is:1st column-F should contain 5 unique values and 2nd column-S should contain 3 unique values")
print("So be cautious while entering element in the array")
print("*********************************************",sep='\n')
for i in range(0,row):
for j in range(0,no_of_column):
print('entey in row:',i+1,'entry in column:',j+1)
a[i][j]=int(input())
print(a)
compute_conditional_probabilites(a)
print("List of S1 is:",S1_l1)
print("List of S2 is:",S2_l2)
string_features(S1, S2)
print("y is:",y)
print("yscore is:",yscore)
equ=0
for k in range(0,row):
score=(1-(yscore[k]))
m=math.log10(yscore[k])
n=math.log10(score if score>0 else 1)
equ+=((y[k]*m)+((1-y[k])*n))
output=(-1/row)*equ
print("output is:",output)
a=[]
print("Enter number of rows:")
row=int(input())
no_of_column=2
for i in range(0,row):
a.append([]) #output - [[], [], []]
for i in range(0,row):
for j in range(0,no_of_column):
a[i].append(j)
a[i][j]=0 #output - [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
print("*********************************************")
print("It is a NX2 matrix")
print("Condition is:1st column-Y should contain i integer values and 2nd column-YScore should contain float values")
print("So be cautious while entering element in the array")
print("*********************************************",sep='\n')
for i in range(0,row):
for j in range(0,no_of_column):
print('entey in row:',i+1,'entry in column:',j+1)
if j==0:
a[i][j]=int(input())
else:
a[i][j]=float(input())
print(a)
compute_log_loss(a)
In [ ]: