|
import numpy as np |
|
|
|
def entropy(X): |
|
n = len(X) |
|
|
|
counts = np.bincount(X) |
|
probs = counts[np.nonzero(counts)] / n |
|
|
|
en = 0 |
|
for i in range(len(probs)): |
|
en = en - probs[i] * np.log(probs[i])/np.log(2) |
|
|
|
return en |
|
|
|
def string_to_list(string): |
|
|
|
substrings = string.split(',') |
|
|
|
|
|
response = substrings |
|
return response |
|
|
|
|
|
|
|
|
|
|
|
import gradio as gr |
|
|
|
def function(valores): |
|
return entropy(string_to_list(valores)) |
|
|
|
demo = gr.Interface( |
|
fn=function, |
|
inputs=gr.Textbox(lines=3, label="Valores", placeholder="Ingrese los valores separados por comas..."), |
|
outputs=gr.Textbox(lines=3, label="Resultado", placeholder="Aquí aparece su saludo..."), |
|
examples=[["1,2,3,4,5,6,7,8,9"]] |
|
).launch(inline=False) |
|
|
|
demo.launch(share=True, inline=False) |