22/08/2019, 07:08:50 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: Homenaje a NUMERARIUS
 
 
Páginas: [1]   Ir Abajo
  Imprimir  
Autor Tema: Convertir matriz de frecuencias a matriz de probabilidad  (Leído 350 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Asuras
Nuevo
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Colombia Colombia

Mensajes: 2


Ver Perfil
« : 15/02/2018, 06:06:10 pm »

Buenas a todos es mi primer post, tratare de seguir las normas del foro; pero si me salto alguna por favor indicarme. Mi duda es la siguiente:
Tengo una matriz donde las columnas representan documentos y las filas representan las palabras, el valor de los elementos representan el número de veces que se encuentran las palabras en el documento. Si quiero convertir esta matriz en una que me indique la probabilidad que tengo de escoger una palabra teniendo en cuenta que primero selecciono un documento de forma aleatoria y uniforme y luego selecciono la palabra de acuerdo a la frecuencia como se repite. Cabe señalar que la idea no es usar sumatorias, puesto que, eso implicaría un costo computacional muy alto y la idea es implementarlo en Python. ¿Qué debo hacer?

Hasta ahora sé:
Que debo multiplicar la matriz por la inversa del escalar de la cantidad de columnas y con esto cubro la probabilidad de seleccionar un documento.

En línea
Masacroso
Pleno*
*****

Karma: +2/-0
Conectado Conectado

España España

Mensajes: 1.534


Ver Perfil
« Respuesta #1 : 15/02/2018, 06:24:09 pm »

Tienes que sumar las celdas de cada fila (el número de palabras total en cada documento) y luego dividir cada elemento de la fila por esa cantidad. Después de hacer eso con todas la filas divides todas las celdas por el inverso del número de columnas que tengas.

Así te queda una matriz como la que buscas (donde la suma de todas las celdas es 1).
En línea
Asuras
Nuevo
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Colombia Colombia

Mensajes: 2


Ver Perfil
« Respuesta #2 : 15/02/2018, 10:41:32 pm »

Tienes que sumar las celdas de cada fila (el número de palabras total en cada documento) y luego dividir cada elemento de la fila por esa cantidad. Después de hacer eso con todas la filas divides todas las celdas por el inverso del número de columnas que tengas.

Así te queda una matriz como la que buscas (donde la suma de todas las celdas es 1).

Muchas gracias por tu respuesta; sin embargo, eso implicaria usar sumatoria para obtener las cantidades de cada documento y luego para dividir, es decir todo seria mediante loops y una solución algoritmica; pero al parecer existe una forma mediante el empleo de operaciones de algebra lineal para obtener esta matriz sin recurrrir a loops y es la que trato de encontrar.
En línea
Luis Fuentes
el_manco
Administrador
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 44.581


Ver Perfil
« Respuesta #3 : 16/02/2018, 07:08:11 am »

Hola

Muchas gracias por tu respuesta; sin embargo, eso implicaria usar sumatoria para obtener las cantidades de cada documento y luego para dividir, es decir todo seria mediante loops y una solución algoritmica; pero al parecer existe una forma mediante el empleo de operaciones de algebra lineal para obtener esta matriz sin recurrrir a loops y es la que trato de encontrar.

No hay ninguna forma de obtener esas probabilidades sin hacer las operaciones que indica Masacroso (cosa disitnta es que uno pueda expresarlas de diferentes formas); y no son computacionalmente costosas. De hecho el coste computacional es simplemente del orden del número de datos: por cada documento hay que hacer tantas sumas como número de palabras menos uno.

La suma de las columnas se puede expresar matricialmente multiplicando la matriz fila constante de unos por la matriz original; pero eso no es más que expresar la misma operación propuesta por Masacroso de otra forma.

De hecho dices que quieres usar operaciones de álgebra lineal. La operación por excelencia en álgebra lineal es el producto de matrices, y en ellas se usan sumatorios.

¿Puedes indicar cuál es exactamente el contexto de tu pregunta?.

Saludos.
En línea
Páginas: [1]   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.4 | SMF © 2006, Simple Machines LLC XHTML 1.0 válido! CSS válido!