Clasificador Naive Bayes con Python

  Рет қаралды 12,791

Jacob Avila Camacho

Jacob Avila Camacho

Күн бұрын

Пікірлер: 48
@fandeloscomics4590
@fandeloscomics4590 3 жыл бұрын
Excelente video, buena explicación, tus recursos audiovisuales como las fotografías lo hacen muy entendible.
@jacobavilacamacho7644
@jacobavilacamacho7644 3 жыл бұрын
Muchas gracias!!! saludos
@pablosanchez8179
@pablosanchez8179 Жыл бұрын
excelentes ejemplos y explicación, muchas muchas gracias!
@jacobavilacamacho7644
@jacobavilacamacho7644 Жыл бұрын
Gracias Pablo, Saludos
@tabitapiscoostos
@tabitapiscoostos 3 жыл бұрын
Buen video, claro y preciso.. Muchas gracias por el aporte.
@jacobavilacamacho7644
@jacobavilacamacho7644 3 жыл бұрын
Saludos, muchas gracias
@juanmannat
@juanmannat 2 жыл бұрын
15:25 cuando hablas de las personas similares a esta, necesitas usar alguna medida de distancia? como la distancia euclideana? si me sacas esa duda, te lo voy a agradecer muchisimo. gracias
@jacobavilacamacho7644
@jacobavilacamacho7644 2 жыл бұрын
Hola, Si, podríamos considerar la distancia euclidiana para referirnos a las personas similares. En el ejemplo del video, hablamos de las personas que caminan o que conducen, también consideramos las cercanas en edad, etc. para considerar que son similares.
@arturo-vargas-ai
@arturo-vargas-ai 3 жыл бұрын
Eso profe, me gusto mucho su video.
@jacobavilacamacho7644
@jacobavilacamacho7644 3 жыл бұрын
Muchas gracias Arturo
@RumbaLoungeBar
@RumbaLoungeBar 4 жыл бұрын
Por fin encuentro algo cientifico, complejo pero didacticamente digerible. Tenemos muy buenos exponentes pero no conectan con los principiantes.
@jacobavilacamacho7644
@jacobavilacamacho7644 4 жыл бұрын
Saludos
@michaeldavilaalvarez7012
@michaeldavilaalvarez7012 2 жыл бұрын
hola una pregunta nos podrias compartir el archivo csv social_network_ads.csv
@jacobavilacamacho7644
@jacobavilacamacho7644 Жыл бұрын
Hola Michael, Perdón por la tardanza, Te paso el link del archivo drive.google.com/file/d/17Eb2XNuR9byDl7W5H22AoE8CBLGUO4YS/view?usp=sharing
@juandavidarangomoreno1933
@juandavidarangomoreno1933 4 жыл бұрын
Que buen video, muchas gracias!
@jacobavilacamacho7644
@jacobavilacamacho7644 4 жыл бұрын
Gracias Juan. Saludos
@miguelangelgaspartapara1759
@miguelangelgaspartapara1759 Жыл бұрын
Buenos días de acuerdo al código visto la curva ROC como se realiza?
@jacobavilacamacho7644
@jacobavilacamacho7644 Жыл бұрын
Hola, Para crear la curva ROC podrías utilizar la función roc_curve() de scikit-learn (from sklearn.metrics import roc_curve) y en los argumentos de la función enviar el y_test y el y_predict. La función ROC muestra la curva entre los falsos negativos y los falsos positivos que se podrían obtener con: ns_probs = [0 for _ in range(len(y_test))]
@christianfv5
@christianfv5 3 жыл бұрын
Consulta en el minuto 4:27 "Probabilidad de que una pieza producida por la máquina 1 sea defectuosa" Si es P(M1/Defecto)=50% No sería, ¿la probabilidad que las piezas defectuosas sean la máquina 1?
@jacobavilacamacho7644
@jacobavilacamacho7644 3 жыл бұрын
Hola Christian, Gracias por la observación, ahí más bien podríamos decir: la probabilidad de que una pieza provenga de la máquina 1 dado que dicha pieza está defectuosa. (Similar a cómo lo mencionas y es el mismo sentido, tienes razón)
@robertolopez123456
@robertolopez123456 2 жыл бұрын
Hola! Que función cumple la sentencia random_state=0 ?? En otros modelos he visto que random_state no está presente o toma valores como 54 o 60. ¿¿Para que nos sirve??
@jacobavilacamacho7644
@jacobavilacamacho7644 2 жыл бұрын
Hola, el valor de 0 le indica que tome los valores de forma aleatoria completamente.
@robertolopez123456
@robertolopez123456 2 жыл бұрын
@@jacobavilacamacho7644 y que sería random_state=50 por ejemplo?
@jacobavilacamacho7644
@jacobavilacamacho7644 2 жыл бұрын
@@robertolopez123456 Random_state controla la mezcla que hará antes de hacer la división. Cuando le damos 0, sólo lo hace una vez, cuando el valor es mayor a 0 entonces lo hace por pasos repitiendo varias veces la mezcla para ir sacando los datos al conjunto de entrenamiento o de pruebas utilizando ese valor de que colocas como el valor aleatorio generado para hacer la mezcla
@robertolopez123456
@robertolopez123456 2 жыл бұрын
@@jacobavilacamacho7644 muchas gracias, me haz ayudado mucho!
@jacobavilacamacho7644
@jacobavilacamacho7644 2 жыл бұрын
@@robertolopez123456 Saludos
@angelachamorro8234
@angelachamorro8234 2 жыл бұрын
Hola, me podrias ayudar con lo datos adjuntos del codigo. muchas gracias
@jacobavilacamacho7644
@jacobavilacamacho7644 2 жыл бұрын
Hola Angela, Si claro. te paso los datasets, descargalos del link drive.google.com/drive/folders/1Jdg2ttdM8pvSdC2ndd5tS5rPI37uTC_t?usp=sharing
@jesusmonsivais5774
@jesusmonsivais5774 3 жыл бұрын
cuando intento sacar y_pred me marca un error, dice que la cadena no puede convertirse a una variable float
@jacobavilacamacho7644
@jacobavilacamacho7644 3 жыл бұрын
Hola Jesús, revisa los datos de x_test que son con los que se obtiene y_pred para ver si no hay algún NaN y por eso esta marcando que hay un cadena que no se puede convertir. Saludos
@carlosgarvinrubiales8850
@carlosgarvinrubiales8850 3 жыл бұрын
Donde puedo descargar el dataset?
@jacobavilacamacho7644
@jacobavilacamacho7644 3 жыл бұрын
Hola, te dejo la liga de los datasets de este video y de los demás: drive.google.com/drive/folders/1Jdg2ttdM8pvSdC2ndd5tS5rPI37uTC_t?usp=sharing
@marceloyevenes2679
@marceloyevenes2679 4 жыл бұрын
Hola, el archivo con los datos de entrenamiento es posible tenerlo para probar, ya que no lo encontré en la página. Por cierto buen vídeo excelente explicación.
@jacobavilacamacho7644
@jacobavilacamacho7644 4 жыл бұрын
Hola Marcelo, claro que si, te paso la liga del archivo para que lo descargues drive.google.com/file/d/17Eb2XNuR9byDl7W5H22AoE8CBLGUO4YS/view?usp=sharing
@marceloyevenes2679
@marceloyevenes2679 4 жыл бұрын
@@jacobavilacamacho7644 Muchas gracias!
@alancano3224
@alancano3224 3 жыл бұрын
Hola hermano, puedes compartirme los datos adjuntos del código? Estoy trabajando en una implementación y me serían de gran utilidad :)
@jacobavilacamacho7644
@jacobavilacamacho7644 3 жыл бұрын
Hola Alan, claro que si. En esta liga están todos los datasets de los video que tengo en el canal drive.google.com/drive/folders/1Jdg2ttdM8pvSdC2ndd5tS5rPI37uTC_t?usp=sharing
@fernandobravo1343
@fernandobravo1343 3 жыл бұрын
Te has bajado el curso de Juan Gabriel Gomila desde Udemy...
@jacobavilacamacho7644
@jacobavilacamacho7644 3 жыл бұрын
No lo conozco, yo más bien lo estudié con Kirill Eremenko "Machine Learning A-Z: Hands on PYthon and R. Chécalo, ese es el original
@fernandobravo1343
@fernandobravo1343 3 жыл бұрын
​@@jacobavilacamacho7644 Dale gracias... Vi tu vídeo y lo explicas bien, me surgen algunas dudas... El array (2D) de la variable X tiene dos tipos de datos (Edad y Sueldo), esos serían los datos para entrenamiento del modelo... y a la vez tiene el array 1D de la variable Y el cual es si compró o no (Una variable categórica por ser 0 y/o 1) se le puede decir que son la etiquetas (hablando en tono de Vector Support Machine) ahora, allí la variable Y, a groso modo no tendría sentido de cual de los dos datos que tiene la variable X está etiquetando... para saber la predicción y tener como resultado si el dato en X[:,2] pertenece a una clase de Y o el dato[:,4] pertenece a otra clase... es decir.. Edad Sueldo Compra(Variable categórica) 20 50040 0 15 46520 1 23 48200 1 Entonces, sería X[:,2] Edad Compra(Variable Categórica) 20 0 15 1 23 1 Y para X[:,4] Sueldo Compra(Variable categórica) 50040 0 46520 1 48200 1 Se puede expresar así? o como seria? Pues mi duda surge en que estoy realizando mi trabajo de grado para clasificar entre 5 patologías cardíacas y quiero aplicar Naïve Bayes para poder clasificar pero no sabría como aplicar el etiquetado... ¿Se requiere de un etiquetado?
@jacobavilacamacho7644
@jacobavilacamacho7644 3 жыл бұрын
Exacto, si, la variable Y son las etiquetas. Si, sería correcto como lo describes tanto para la variable Edad, como para la variable Sueldo, sin embargo, dejar una sola variable independiente no le daría mucho sentido a la clasificación, a menos que esa variable tenga la suficiente influencia en la decisión, en este caso, de compra ( 0 o 1). Las combinación de ambas variables o de n variables independientes, es la que da el resultado 0 o 1. En el ejemplo, si tenemos dos personas con 20 años y una con sueldo de 50,040 y la otra con sueldo de 48,200, sería Y 0 o 1? Para el problema de las 5 patologías cardiacas, esas serian las clases o etiquetas, pero cuantas variables independientes tienes?
@fernandobravo1343
@fernandobravo1343 3 жыл бұрын
​@@jacobavilacamacho7644 Las patología cardíacas serían las clases.. y el etiquetado lo defino yo dependiendo de la patología... Señal Etiquetado Patología 1 [Amplitud] 1 Patología 1 [Amplitud] 1 Patología 2 [Amplitud] 2 Patología 2 [Amplitud] 2 Patología 3 [Amplitud] 3 Patología 3 [Amplitud] 3 Patología 4 [Amplitud] 4 Patología 4 [Amplitud] 4 Patología 5 [Amplitud] 5 Patología 5 [Amplitud] 5 Las patologías son: Afección Valvular Bloqueo de rama Disritmia Hipertrofia Pacientes Sanos.. Lo realice de la siguiente manera: Modelo Etiqueta Paciente Sano || Afección Valvular 0 si no padece la afección (Sano) 1 si padece la afección valvular (Aplica para, Sano || Bloqueo, Sano || Disritmia, Sano || Hipertrofia Y esto me arroja un porcentaje para definir si es bueno el modelo o no a seleccionar... ¿Es válido realizarlo de es forma?
@jacobavilacamacho7644
@jacobavilacamacho7644 3 жыл бұрын
@@fernandobravo1343 En base a que determinas cual es la patología? cuantas variables independientes tienes? Para las clases o patologías, dado que son 5, podrían ser 5 salidas, la patología resultantes sería 1 y el resto 0: resultado p1 p2 p3 p4 sano Patología1 1 0 0 0 0 Patología2 0 1 0 0 0 Patología2 0 0 1 0 0 Patología3 0 0 0 1 0 Sano 0 0 0 0 1
@cMonsalveAdm
@cMonsalveAdm 3 жыл бұрын
Amigo gracias por compartir, Estube trabajando con el mismo conjunto de datos y con el mismo codigo y en la parte de entrenar el modelo : from sklearn.naive_bayes import GaussianNB classifier = GaussianNB classifier.fit(x_train, y_train) #Las variables de entrenamiento Me genera un Type Error: TypeError Traceback (most recent call last) in 3 from sklearn.naive_bayes import GaussianNB 4 classifier = GaussianNB ----> 5 classifier.fit(x_train, y_train) #Las variables de entrenamiento TypeError: fit() missing 1 required positional argument: 'y' no se que pueda ser... Me caeria muy bien su ayuda amigo, gracias..
@jacobavilacamacho7644
@jacobavilacamacho7644 3 жыл бұрын
Si estas usando los paréntesis al crear el objeto? classifier = GaussianNB() revisa que tiene Y_train, por que el error menciona que ese argumento falta
@cMonsalveAdm
@cMonsalveAdm 3 жыл бұрын
@@jacobavilacamacho7644 Si señor, ese era el error. Ya lo corregí y funciona bien. Gracias por ayudarme
@alancano3224
@alancano3224 3 жыл бұрын
Hola hermano, puedes compartirme los datos adjuntos del código? Estoy trabajando en una implementación y me serían de gran utilidad :)
Los K Vecinos más Cercanos | K Nearest Neighbors | KNN Algoritmo con Python
25:06
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 81 МЛН
Teorema de Bayes y clasificador de Bayes ingenuo
19:37
Serrano.Academy en Español
Рет қаралды 6 М.
Naive Bayes, Clearly Explained!!!
15:12
StatQuest with Josh Starmer
Рет қаралды 1,1 МЛН
Tu primera red neuronal en Python y Tensorflow
16:25
Ringa Tech
Рет қаралды 1,1 МЛН
Clasificadores Naïve Bayes
6:51
Aldo Miranda-Aguilar
Рет қаралды 28 М.
Bayes theorem, the geometry of changing beliefs
15:11
3Blue1Brown
Рет қаралды 4,6 МЛН
Naive Bayes Classifier in Python (from scratch!)
17:15
Normalized Nerd
Рет қаралды 91 М.
K-Vecinos Más Cercanos (KNN) para Clasificación con Python
29:47
Codigo Maquina
Рет қаралды 19 М.
Análisis Discriminante Lineal LDA con Python
40:00
Jacob Avila Camacho
Рет қаралды 7 М.