Inteligencia artificial, conceptos básicos, explicación de algoritmos, cálculos matemáticos para ID3 de Shannin y ejemplos de programación en el lenguaje R.
Biología 3 _ Serie nuevas miradas - Tinta fresca.pdf
ML QSAR Congreso de Química.pptx
1. MACHINE LEARNING
EN QUÍMICA:
Modelando la Relación
Estructura-Actividad con
Aprendizaje Automático
Allan Vásquez
Química Computacional
Universidad del Valle de Guatemala
8. • Machine Learning es una
disciplina científica del
ámbito de la Inteligencia
Artificial que crea sistemas
que aprenden
automáticamente.
• Aprender en este contexto
quiere decir identificar
patrones complejos en
datos.
9. Creando un Árbol de Decisión
Intentemos predecir la clase (+/-) en base a los atributos de las figuras
16. Algoritmos en Machine Learning
• Regresión
• Regresión lineal
• Regresión beyesiana
• Arboles de decisión y clasificación
• ID3
• Random forest
• Clustering
• K-means
• Máquinas de soporte vectorial
• Etc…
17. ¿Y cómo se hace?
1. Selección y preparación de
conjuntos de datos de
entrenamiento y pruebas.
2. Selección del algoritmo.
3. Entrenamiento del modelo.
4. Evaluación y optimización.
5. Uso y mejora.
23. Entrenamiento de modelos
• train()
• Ejecuta el entrenamiento y configura los parámetros para los modelos
de clasificación y regresión, se ajusta a cada modelo y estima una
medida de rendimiento.
• Argumentos
• formula = (vector~.) establece el vector de resultado que se desa predecir.
• data = (dataframe) es el dataframe que usaremos para entrenar el modelo.
• method = (“character”) es el algoritmo que usaremos para crear el modelo.
• … = (variable) algunos modelos requieren que especifiquemos otros
parametros, ie: verbose, depth, shinkage…
24. Predicción de outcomes
• predict()
• Crea un vector con las predicciones de los resultados según el modelo. La
función invoca métodos particulares que dependen de la clase del primer
argumento.
• Argumentos
• object = (Modelo) Es el modelo ajustado para este data set, el resultado de la
función train().
• newdata = (Dataframe) Dataset con los datos que se usaran como base para
hacer la predicción.
25. Evaluación del modelo
• confusionMatrix()
• Crea una tabla de contingencia entre
los outcomenes observadas y
pronosticadas y despliega las
estadísticas asociadas.
• Argumentos:
• data = (vector) es el vector que
contiene las predicciones, el
resultado de la función predict().
• reference = (vector) es el vector
que ccontiene los resultados
verdaderos.
• positive = (“character”) es el
nivel que se considera como
resultado positivo de la
predicción.
26. Ejemplo 1 (Árbol de clasificación)
• Dataset: tennis
• Es un dataset famoso y clasico, lo usamos en el ejemplo anterior.
• Vamos importarlo desde un archivo csv.
• Las variables predictivas son categoricas.
• Usaremos el algoritmo “treebag”, que permite hacer arboles de
clasificación en base a variables categoricas.
27. Ejemplo (QSAR)
• Quantitative structure-activity relationship, QSAR, es el proceso por el
cual la estructura química se correlaciona cuantitativamente con un
proceso definido de actividad biológica.
• Dataset = bbb
• Para predecir si una molécula atraviesa o no la barrera hemato-
encefálica y en base a descriptores que pueden calcularse
computacionalmente.
http://gohom.win/ManualHom/Schrodinger/Schrodinger_2012_docs/general/qikprop_props.pdf
https://www.rdocumentation.org/packages/QSARdata/versions/1.3/topics/bbb2
28. Overfitting
• El modelo tiene una alta
capacidad para resolver el
data set de entrenamiento,
pero falla con los datos de
prueba o reales.
• Esto en muchos casos se
debe a un sobre
entrenamiento o a una
mala division del data set.
29. División de los Datos
• createDataPartition()
• Sirve para dividir un data set original y crear los data sets: uno de
entrenamiento y otro de prueba.
• Crea un vector numerico con kos indices que formaran parte del
nuevo data set.
• Argumentos
• p = (numérico, de 0 a 1), porcentaje de los datos que irá al data set de
entrenamiento.
• list = (booleano), el resultado debe colocarse en una lista
• y= (vector), vector de resultado, se usa para que los grupos esten distribuidos
de forma equitativa según este vector.
30. Ejemplo
• Dataset: spam
• A data set collected at Hewlett-Packard Labs, that classifies 4601
e-mails as spam or non-spam. In addition to this class label there are 57
variables indicating the frequency of certain words and characters in the e-
mail.
• The first 48 variables contain the frequency of the variable name (e.g.,
business) in the e-mail. If the variable name starts with num (e.g., num650)
the it indicates the frequency of the corresponding number (e.g., 650). The
variables 49-54 indicate the frequency of the characters ‘;’, ‘(’, ‘[’, ‘!’, ‘$’,
and ‘#’. The variables 55-57 contain the average, longest and total run-
length of capital letters. Variable 58 indicates the type of the mail and is
either "nonspam" or "spam".
31. Boosting
• “tunear modelos”, los nuevos arboles se basan en los anteriores,
toma los fallos y reduce el peso relativo de las variantes que llevaron
a esos fallos.
34. Predicción del fenotipo de H. pylori en base a
su secuencia genómica. (2020, sin publicar)
• Equipo: Dr. Allan Orozco✝, Dr. Erwin Calgua, M.Sc. Cecilia Hermosilla,
M.Sc. Sofía Estrada
• Objetivo: Crear un modelo que pueda predecir el fenotipo (cancer,
ulcera, gastritis) de una cepa de H. pylori a partir de las mutaciones
que presenta en su secuencia genética.
• Pre proceso: Desequilibrio de ligamiento por medio de prueba exacta
de Fisher
• Algoritmo: Random forest
• Lenguajers y Librerías: BASH, R, BLAST, CARET, Weka.
38. “Desarrollo de una herramienta web para la
predicción de la actividad
biológica de estructuras moleculares empleando
machine learning”
Trabajo de graduación de Química Farmacéutica – USAC
Br. Erleigh Hogan, Br. Ángel Ramírez, Br. Galilea Wug, MSc. Nereida Marroquín