## 5 Fuzzy Model
\[Rule\ 4=if\ \mu_{F_{high}}(x)\ And\ \mu_{S_{high}}(x)\ And\ \mu_{E_{high}}(x)\ \text{then}\ \mu_{Q_{goal}}(y)\]  
Figure 10: Plots of membership functions. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Variables** & **Label** & **Description of the Membership Function** \\ \hline \multirow{4}{*}{Overall Quality of User Experience} & Low & Low ease of use, satisfaction, and efficiency scores would lead to low overall quality. \\ \cline{2-3}  & Medium & Medium scores in these areas would result in a medium overall quality of experience. \\ \cline{2-3}  & High & High scores in ease of use, satisfaction, and efficiency would indicate a high overall quality of user experience. \\ \hline \hline \end{tabular}
\end{table} 
Table 11: _Cont._where \(\mu_{F_{high}}(x)\) and \(\mu_{S_{high}}(x)\) are the membership functions for ease of use and satisfaction, respectively, evaluated at the \"high\" level. * If the ease of use is low or satisfaction is low, then the quality of the user experience is poor. \[Rule\;5=if\;\mu_{F_{high}}(x)\;Or\;\mu_{S_{low}}(x)\;\text{then}\;\;\mu_{Q_{ poor}}(y)\] where \(\mu_{F_{high}}(x)\) and \(\mu_{S_{low}}(x)\) are the membership functions for ease of use and satisfaction, respectively, evaluated at the \"low\" level. 4. Implementing Fuzzy Inference  
A fuzzy inference engine is used to apply the fuzzy rules to the input data and practices to arrive at a fuzzy conclusion. This involves combining the membership functions of the input variables using fuzzy operators (AND, OR, NOT) and then applying an inference method, in this case the Takagi-Sugeno. After defining the input variables, output variables, and rules, we create a control system using skfuzzy's ControlSystem class. This control system is essentially a collection of rules that define how inputs should be combined to produce outputs. **# Creating the control system control_system = ctrl.ControlSystem([rule1, rule2, rule3, rule4, rule5])**  
Next, we create a ControlSystemSimulation object using the control system we defined. This object allows us to input specific values for the antecedents (input variables) and compute the consequents (output variables) based on the defined rules. **control_simulation = ctrl.ControlSystemSimulation(control_system)**  
Now, we can set the input values for the antecedents using the input property of the ControlSystemSimulation object. These input values represent the specific conditions or factors we want to evaluate using the fuzzy inference engine. **# Set input values control_simulation.input['Ease of Use'] = 80 control_simulation.input['Satisfaction'] = 2 control_simulation.input['Efficiency'] = 250**  
To compute the output values (consequents), we use the compute() method of the ControlSystemSimulation object. This method applies the fuzzy rules to the input values and calculates the corresponding output values. **# Compute output values control_simulation.compute0**  
After computing the output values, we can access them using the output property of the ControlSystemSimulation object. These output values represent the fuzzy conclusions drawn from the input data and rules. **# Get output values output_probabilidad_recomendacion = control_simulation.output['Probability of Recommendation] output_calidad_ux = control_simulation.output['UX Quality']**  
5. Defuzzification  
Finally, the fuzzy output is converted into a crisp or precise value that is understandable and useful. This is performed by defuzzification processes such as the centroid method, which gives a single value representing the fuzzy inference result, as shown in Equation (2) and with which the values shown in Figure 11 are obtained. \[y_{d}=\frac{\int_{s}y\mu_{Y}(y)dy}{\int_{s}\mu_{Y}(y)dy} \tag{2}\]where \(\mu_{Y}\) is the membership function of the output set \(Y\), whose output variable is \(y\), and \(s\) is the domain or range of integration. Steps to calculate the centroid:  
* Weighting: each value of the output variable is multiplied by the corresponding membership function.