arnikdehnavi's picture
Create app.py
eb58938
import skfuzzy as fuzz
from skfuzzy import control as crt
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import streamlit as st
import matplotlib
import matplotlib.image as mpimg
sDA=crt.Antecedent(np.arange(0,100.01,0.1),'sda')#50
Udi=crt.Antecedent(np.arange(0,100.1,0.1),'udi')#50
Ase=crt.Antecedent(np.arange(0,100.1,0.1),'ase')#kamtaraz10
sDgp=crt.Antecedent(np.arange(0,100.1,0.1),'sdgp')
emtiaz_l=crt.Consequent(np.arange(-4,24.01,0.01),'score')
sDA['low']=fuzz.trapmf(sDA.universe,[0,0,46.7,55])
sDA['acceptable']=fuzz.trapmf(sDA.universe,[46.7,55,75,86.25])
sDA['excelent']=fuzz.trapmf(sDA.universe,[75,86.25,100,100])
Udi['low']=fuzz.trapmf(Udi.universe,[0,0,42.5,50])
Udi['acceptable']=fuzz.trapmf(Udi.universe,[42.5,50,100,100])
Ase['acceptable']=fuzz.trapmf(Ase.universe,[0,0,10,11.5])
Ase['unacceptable']=fuzz.trapmf(Ase.universe,[10,11.5,100,100])
sDgp['acceptable']=fuzz.trapmf(sDgp.universe,[0,0,35,40.25])
sDgp['high']=fuzz.trapmf(sDgp.universe,[35,40.25,100,100])
emtiaz_l['awful']=fuzz.gaussmf(emtiaz_l.universe,0,1)
emtiaz_l['bad']=fuzz.gaussmf(emtiaz_l.universe,4,1)
emtiaz_l['not_bad']=fuzz.gaussmf(emtiaz_l.universe,8,1)
emtiaz_l['good']=fuzz.gaussmf(emtiaz_l.universe,12,1)
emtiaz_l['very_good']=fuzz.gaussmf(emtiaz_l.universe,16,1)
emtiaz_l['excelent']=fuzz.gaussmf(emtiaz_l.universe,20,1)
r1=crt.Rule(sDA['excelent']&Udi['acceptable']&Ase['acceptable']&sDgp['acceptable'],emtiaz_l['excelent'])
r2=crt.Rule(sDA['acceptable']&Udi['acceptable']&Ase['acceptable']&sDgp['acceptable'],emtiaz_l['very_good'])
r3=crt.Rule(sDA['excelent']&~Udi['acceptable']&Ase['acceptable']&sDgp['acceptable'],emtiaz_l['very_good'])
r4=crt.Rule(sDA['excelent']&Udi['acceptable']&~Ase['acceptable']&sDgp['acceptable'],emtiaz_l['very_good'])
r5=crt.Rule(sDA['excelent']&Udi['acceptable']&Ase['acceptable']&~sDgp['acceptable'],emtiaz_l['very_good'])
r6=crt.Rule(sDA['acceptable']&~Udi['acceptable']&Ase['acceptable']&sDgp['acceptable'],emtiaz_l['good'])
r7=crt.Rule(sDA['acceptable']&Udi['acceptable']&~Ase['acceptable']&sDgp['acceptable'],emtiaz_l['good'])
r8=crt.Rule(sDA['acceptable']&Udi['acceptable']&Ase['acceptable']&~sDgp['acceptable'],emtiaz_l['good'])
r9=crt.Rule(sDA['excelent']&~Udi['acceptable']&~Ase['acceptable']&sDgp['acceptable'],emtiaz_l['good'])
r10=crt.Rule(sDA['excelent']&~Udi['acceptable']&Ase['acceptable']&~sDgp['acceptable'],emtiaz_l['good'])
r11=crt.Rule(sDA['excelent']&Udi['acceptable']&~Ase['acceptable']&~sDgp['acceptable'],emtiaz_l['good'])
r12=crt.Rule(sDA['acceptable']&~Udi['acceptable']&~Ase['acceptable']&sDgp['acceptable'],emtiaz_l['not_bad'])
r13=crt.Rule(sDA['acceptable']&~Udi['acceptable']&Ase['acceptable']&~sDgp['acceptable'],emtiaz_l['not_bad'])
r14=crt.Rule(sDA['acceptable']&Udi['acceptable']&~Ase['acceptable']&~sDgp['acceptable'],emtiaz_l['not_bad'])
r15=crt.Rule(sDA['excelent']&~Udi['acceptable']&~Ase['acceptable']&~sDgp['acceptable'],emtiaz_l['not_bad'])
r16=crt.Rule(sDA['low']&Udi['acceptable']&Ase['acceptable']&sDgp['acceptable'],emtiaz_l['very_good'])
r17=crt.Rule(sDA['low']&~Udi['acceptable']&Ase['acceptable']&sDgp['acceptable'],emtiaz_l['good'])
r18=crt.Rule(sDA['low']&Udi['acceptable']&~Ase['acceptable']&sDgp['acceptable'],emtiaz_l['good'])
r19=crt.Rule(sDA['low']&Udi['acceptable']&Ase['acceptable']&~sDgp['acceptable'],emtiaz_l['good'])
r20=crt.Rule(sDA['low']&~Udi['acceptable']&~Ase['acceptable']&sDgp['acceptable'],emtiaz_l['bad'])
r21=crt.Rule(sDA['low']&Udi['acceptable']&~Ase['acceptable']&~sDgp['acceptable'],emtiaz_l['bad'])
r22=crt.Rule(sDA['low']&~Udi['acceptable']&~Ase['acceptable']&~sDgp['acceptable'],emtiaz_l['bad'])
r23=crt.Rule(sDA['acceptable']&~Udi['acceptable']&~Ase['acceptable']&~sDgp['acceptable'],emtiaz_l['not_bad'])
r24=crt.Rule(sDA['acceptable']&Udi['acceptable']&~Ase['acceptable']&~sDgp['acceptable'],emtiaz_l['not_bad'])
r25=crt.Rule(sDA['low']&~Udi['acceptable']&Ase['acceptable']&~sDgp['acceptable'],emtiaz_l['not_bad'])
cs=crt.ControlSystem([r1,
r2,
r3,
r4,
r5,
r6,
r7,
r8,
r9,
r10,
r11,
r12,
r13,
r14,
r15,
r16,
r17,
r18,
r19,
r20,
r21,
r22,
r23,
r24,
r25,
])
cs1=crt.ControlSystemSimulation(cs)
st.title("daylight analysis")
b1=cs1.input['sda']=st.sidebar.slider('sDA',min_value=0.0,max_value=100.0,step=1.0,value=50.0)
c1=cs1.input['udi']=st.sidebar.slider('UDI',min_value=0.0,max_value=100.0,step=1.0,value=50.0)
d1=cs1.input['ase']=st.sidebar.slider('ASE',min_value=0.0,max_value=100.0,step=1.0,value=50.0)
e1=cs1.input['sdgp']=st.sidebar.slider('sDGP',min_value=0.0,max_value=100.0,step=1.0,value=50.0)
st.set_option('deprecation.showPyplotGlobalUse', False)
cs1.compute()
score=cs1.output['score']
st.set_option('deprecation.showPyplotGlobalUse', False)
st.header('your score is :')
st.header(score)
st.header('sDA')
img = mpimg.imread('sda.jpg')
values=[]
imgplot = plt.imshow(img)
plt.yticks(values)
plt.xticks(values)
plt.scatter(b1*5655/100,1,s=500,marker="v",color='black')
st.pyplot()
st.header('UDI')
img = mpimg.imread('sda.jpg')
values=[]
imgplot = plt.imshow(img)
plt.yticks(values)
plt.xticks(values)
plt.scatter(c1*5655/100,1,s=500,marker="v",color='black')
st.pyplot()
st.header('ASE')
img = mpimg.imread('ASE.jpg')
values=[]
imgplot = plt.imshow(img)
plt.yticks(values)
plt.xticks(values)
plt.scatter(d1*5655/100,1,s=500,marker="v",color='black')
st.pyplot()
st.header('sDGP')
img = mpimg.imread('sdg1.jpg')
values=[]
imgplot = plt.imshow(img)
plt.yticks(values)
plt.xticks(values)
plt.scatter(e1*5655/100,1,s=500,marker="v",color='black')
st.pyplot()