Update app.py
Browse files
app.py
CHANGED
@@ -2,6 +2,7 @@ import os
|
|
2 |
os.system('pip install gradio seaborn scipy scikit-learn openpyxl networkx pydantic==1.10.0')
|
3 |
|
4 |
from pydantic import BaseModel, ConfigDict
|
|
|
5 |
import numpy as np
|
6 |
import networkx as nx
|
7 |
import matplotlib.pyplot as plt
|
@@ -102,9 +103,11 @@ class GraphTheoryAnalysis:
|
|
102 |
# Identificar los 3 factores más relevantes
|
103 |
factor_r2 = {}
|
104 |
for factor in self.all_factors:
|
|
|
105 |
edges = [data['weight'] for u, v, data in self.graph.edges(data=True) if u == factor or v == factor]
|
106 |
factor_r2[factor] = sum(edges) / len(edges) if edges else 0
|
107 |
|
|
|
108 |
top_factors = sorted(factor_r2, key=factor_r2.get, reverse=True)[:3]
|
109 |
|
110 |
# Añadir únicamente las interacciones entre los 3 factores seleccionados
|
@@ -190,8 +193,8 @@ def generate_box_behnken(factors):
|
|
190 |
|
191 |
# Definición de la interfaz de Gradio
|
192 |
def analyze_design(level, pb_design, bb_design, variable1_values, variable2_values, style):
|
|
|
193 |
try:
|
194 |
-
# Validar matrices de diseño
|
195 |
pb_design_np = np.array(pb_design, dtype=float)
|
196 |
bb_design_np = np.array(bb_design, dtype=float)
|
197 |
except ValueError:
|
|
|
2 |
os.system('pip install gradio seaborn scipy scikit-learn openpyxl networkx pydantic==1.10.0')
|
3 |
|
4 |
from pydantic import BaseModel, ConfigDict
|
5 |
+
|
6 |
import numpy as np
|
7 |
import networkx as nx
|
8 |
import matplotlib.pyplot as plt
|
|
|
103 |
# Identificar los 3 factores más relevantes
|
104 |
factor_r2 = {}
|
105 |
for factor in self.all_factors:
|
106 |
+
# Filtrar las aristas que contienen el factor
|
107 |
edges = [data['weight'] for u, v, data in self.graph.edges(data=True) if u == factor or v == factor]
|
108 |
factor_r2[factor] = sum(edges) / len(edges) if edges else 0
|
109 |
|
110 |
+
# Seleccionar los 3 factores con mayor R²
|
111 |
top_factors = sorted(factor_r2, key=factor_r2.get, reverse=True)[:3]
|
112 |
|
113 |
# Añadir únicamente las interacciones entre los 3 factores seleccionados
|
|
|
193 |
|
194 |
# Definición de la interfaz de Gradio
|
195 |
def analyze_design(level, pb_design, bb_design, variable1_values, variable2_values, style):
|
196 |
+
# Validar y convertir matrices de diseño a numpy arrays
|
197 |
try:
|
|
|
198 |
pb_design_np = np.array(pb_design, dtype=float)
|
199 |
bb_design_np = np.array(bb_design, dtype=float)
|
200 |
except ValueError:
|