Тёмный

Random Forest (Bosque Aleatorio) para Clasificación con Python 

Codigo Maquina
Подписаться 34 тыс.
Просмотров 15 тыс.
50% 1

Опубликовано:

 

20 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 69   
@CodigoMaquina
@CodigoMaquina 2 года назад
👉 Xiperia ofrece consultoría empresarial que transforma datos en conocimiento accionable para alcanzar los objetivos de tu negocio. Conoce más en www.xiperia.com
@alberthpinco3543
@alberthpinco3543 8 месяцев назад
Muchas gracias por tomarse el tiempo de crear este contenido de tan excelente calidad!!!!
@luisadolfolopezvelasquez3376
Excelente video, con explicaciones así, queda muy claro todo.
@CodigoMaquina
@CodigoMaquina 9 месяцев назад
@luisadolfolopezvelasquez3376 feliz año!!!
@gabrielcornejo2206
@gabrielcornejo2206 2 года назад
Estimado Octavio, siempre es un gusto ver tus videos. Eres muy claro para explicar los conceptos y eso lo agradezco enormemente. Otra cosa que se agradece es poder tener acceso a los códigos y datos usados en el video. Sigue con tu canal, muchas gracias.
@CodigoMaquina
@CodigoMaquina 2 года назад
Se agradecen de corazón tus comentarios ¡Muchas Gracias!
@brendalopez8925
@brendalopez8925 Год назад
te daria 1000000 de like y no seria suficiente porque la manera como expones los temas son claras y concisas... gracias por este gran aporte
@CodigoMaquina
@CodigoMaquina Год назад
Brenda muchas gracias por tus palabras. Es muy satisfactorio leer comentarios así :)
@patotlax1
@patotlax1 Год назад
Agradecimientos y mis respetos para usted Maestro!!
@CodigoMaquina
@CodigoMaquina 9 месяцев назад
@patotlax1 mis respetos para ti que de forma autodidacta buscas ser mejor cada día.
@edwardbrandt4868
@edwardbrandt4868 3 месяца назад
Excelente video Octavio, ahora a tunear el modelo con CV y la definición de una matriz de confusión. ¿Es posible que puedas generar un caso considerando lo anterior mencionado, sobre todo con la inclusión con las métricas de la matriz de confusión?, muchas gracias.
@javierderivero9299
@javierderivero9299 2 года назад
Te felicito muy buen video....especialmente lo democratico que eres ya que bosques aleatorios es el voto de las masas
@CodigoMaquina
@CodigoMaquina 2 года назад
Muchas gracias por tus comentarios y por seguir el contenido del canal :)
@ehcr100
@ehcr100 2 года назад
Hola Octavio. Primero que todo quiero mencionar que tienes una pedagogía que es muy escasa en estos días, y eso es importantísimo y que bueno que hay videos como los tuyos. Sobre todo en temas que tienen cierta complejidad. Soy relativamente nuevo creando modelos de clasificación en random forest, y aunque creo entender los puntos mas básicos, tengo aun dudas con respecto al muestreo. Si entiendo bien, el algoritmo de RF usa el bootstrapping para crear cada arbol. Con las muestras OOB se puede calcular el error de clasificación en cada arbol, si comprendo bien. Ahora, si yo decido usar como control la validación cruzada para mi modelo ¿que ocurre en el bootstrapping? ¿el algoritmo sigue aplicando este método en cada arbol? El asunto es que he leído que el error OOB puede estar sesgado para evaluar el modelo. Bueno, espero no molestar tanto. Mil gracias de antemano.
@CodigoMaquina
@CodigoMaquina 2 года назад
Muchas gracias por tus comentarios y por la pregunta tan interesante. Sobre todo en foros he llegado a leer lo que comentas sobre OOB vs cross-validation para el caso de Random Forest. Podría dar mi punto de vista al respecto, pero en estos casos no hay nada mejor que citar a un experto de nivel mundial Leo Breiman: "In random forests, there is no need for cross-validation or a separate test set to get an unbiased estimate of the test set error. It is estimated internally, during the run, as follows: Each tree is constructed using a different bootstrap sample from the original data. About one-third of the cases are left out of the bootstrap sample and not used in the construction of the kth tree. Put each case left out in the construction of the kth tree down the kth tree to get a classification. In this way, a test set classification is obtained for each case in about one-third of the trees. At the end of the run, take j to be the class that got most of the votes every time case n was oob. The proportion of times that j is not equal to the true class of n averaged over all cases is the oob error estimate. This has proven to be unbiased in many tests." La información la extraje del siguiente vínculo: www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm
@ehcr100
@ehcr100 2 года назад
@@CodigoMaquina Mil gracias Octavio!!! Ciertamente esta referencia es bastante solida y responde mi pregunta. Saludos
@brunogianini4011
@brunogianini4011 2 года назад
Hola Octavio Tengo algunos comentarios 1. Gracias por compartir tus conocimientos, haces de internet una herramienta muy poderosa. 2. Tienen que hacer una estudio de neurociencia-pedagogia sobre tu forma de explicar, hay muchos videos con el mismo formato, pero tu tono de voz, gestos, y forma de explicar hacen que no pierda el foco en temas complejos. Sin dudas tenes un patrón que sería util comprender. 3. Cuando consiga mis primeros trabajos en datos serán en gran parte a tus contenidos. Saludos desde Argentina.
@CodigoMaquina
@CodigoMaquina Год назад
Bruno sinceramente agradezco tus comentarios. Tus palabras nos hacen sentir que lo que hacemos tiene verdadero impacto. Muchas gracias!!!
@ceciliahidalgo2039
@ceciliahidalgo2039 2 года назад
Excelente video. Muchas gracias!
@CodigoMaquina
@CodigoMaquina 2 года назад
Gracias por interactuar y seguir el contenido del canal :)
@ManuelPaz2014
@ManuelPaz2014 3 дня назад
Tengo una duda, en este algoritmo no hay necesidad de definir datos de entrenamiento y prueba. ¿O con los hiperparametros max_sample y oob es suficiente?
@JorgeRodriguez-mp1mt
@JorgeRodriguez-mp1mt 2 года назад
Gracias por compartir conocimiento.
@CodigoMaquina
@CodigoMaquina 2 года назад
Muchas gracias por tu comentario. Para nosotros es una gran satisfacción :)
@Edu8a10
@Edu8a10 8 месяцев назад
Excelente video. Una pregunta, cuál es el video que mencionas en donde se valida el modelo? Muchas gracias
@franciscojavierimbachiriva3224
@franciscojavierimbachiriva3224 2 года назад
Mi hermano excelente explicación. Eres un crack por más videos así !!!!!
@CodigoMaquina
@CodigoMaquina 2 года назад
Gracias por tomarte el tiempo de comentar. Saludos Francisco!!
@luckygons
@luckygons 5 месяцев назад
Gracias buen hombre! Me han servido mucho!
@ignaciomonetto6246
@ignaciomonetto6246 3 месяца назад
Hola! Saludos desde Argentina. Muchas gracias por el video y muy bien explicado. Tengo una pregunta respecto a un caso que estoy analizando. No tengo en claro como encarar el problema ni con qué algoritmo. Tengo un data set de 200 chicos de la escuela que en cierto punto de su adolesencia se inclinan por practicar un determinado deporte (futbol, tenis, basket, etc). Dado este data set, quisiera predecir a qué deporte se inclinaría una nueva persona, teniendo en cuenta ciertas caracteristicas (edad, zona donde vive, estatura, peso, etc, etc.) y con qué probabilidad. Me ayudas? Saludos.
@alvarorodriguezlasso
@alvarorodriguezlasso 5 месяцев назад
Like, saludos desde Cali-Colombia
@PedroChavez
@PedroChavez Год назад
Me dejaste en el aire.... Despues de generar los arboles, que cosa sigue? Cual seria el modelo final de predicción? Es este entonces: bosque0RandomForrestClassifier(n_estimators=100,criterion='gini',max_features='sqrt',bootstrap=True,max_samples=2/3,oob_score=True).... gracias por la explicacion
@CodigoMaquina
@CodigoMaquina Год назад
Pedro muchas gracias por interactuar en el canal. Con respecto a tu pregunta, el modelo efectivamente está almacenado en la variable "bosque" y para utilizarlo se utiliza el método predict. Si quisieras ver el detalle de todos los árboles que conforma al bosque, se puede hacer, de hecho todos los árboles se encuentran en bosque.estimators_ (favor de ver el minuto 38:15)
@SR_M0L1NA
@SR_M0L1NA 2 месяца назад
Maestro, tengo una duda. ¿Qué hay que hacer para que haya una o varias características fijas en la selección aleatoria de ellas?
@gustavoboadalugo9880
@gustavoboadalugo9880 Год назад
Me encanta como explicas Tengo una duda este modelo se puede usar para clasificar si un equipo de béisbol le gana al otro o no? Tomando en consideración las estadísticas importantes?
@CodigoMaquina
@CodigoMaquina Год назад
Gracias por tus comentarios. Con respecto a tu pregunta, efectivamente sí se podría y suena a un proyecto muy interesante. ¡Mucha suerte!
@MrGragito
@MrGragito 10 месяцев назад
Muchas gracias
@CodigoMaquina
@CodigoMaquina 9 месяцев назад
@MrGragito es un placer. Feliz año!!!
@yadhfer
@yadhfer 2 года назад
Excelente video, nuevo suscriptor, muy bien explicado más bien una duda, si tuviera una data que se trata de una encuesta osea un ejemplo: Pregunta 1 Come carne: si o no Pregunta 2 Se lava las manos: después de cada comida, 1 vez al día, 2 veces Pregunta 3 Como sería en este caso por random forest, saludos desde Perú.
@CodigoMaquina
@CodigoMaquina 2 года назад
Gracias por tus comentarios y por la pregunta. En teoría los árboles de decisión que componen al random forest, sí aceptan variables categóricas (como la encuesta que mencionas). Sin embargo, la implementación de sklearn no maneja directamente ese tipo de variables. No obstante, es muy fácil pre-procesar los datos para convertirlos en numéricos y poder crear un random forest o árboles de decisión. Te recomiendo echarle un ojo a dos videos que ya tenemos en el canal donde justo platico sobre manejo de variables categóricas para machine learning: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-cp7Uo5MSFSE.html ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-KUEsLv8EaVY.html ¡Gracias por ver el canal!
@yadhfer
@yadhfer 2 года назад
@@CodigoMaquina muchas gracias, lo miro
@digitalpartner3735
@digitalpartner3735 2 года назад
Buenísimo video, pero yo tengo una duda si es aplicable a este caso: Un fenómeno es observado en 10 equipos diferentes, todos los días durante 2 años. Con las mismas condiciones se registran frecuencias diferentes, las mismas son registradas en una base excel diariamente. Distribución: Fecha, Eq1,......Eq8 y su freq correspondiente abajo. Es posible montar ese algoritmo para predecir las posibles frecuencias para cada 1 de los equipamentos, teniendo 732 registros anteriores? Si no es aplicable, podrías recomendar el algoritmo más indicado?. Muchas gracias.
@CodigoMaquina
@CodigoMaquina 2 года назад
Muchas gracias por esta pregunta tan interesante. Al parecer tienes un caso muy especial. Sin conocer el tema a detalle pareciera que te convendría hacer uso de técnicas de series de tiempo "tradicionales" aunque hay muchísimas otras opciones y seguro se requerirá de mucho esfuerzo antes de encontrar la mejor técnica y modelo. Te recomiendo un libro gratuito de Hyndman & Athanasopoulos: otexts.com/fpp3/
@digitalpartner3735
@digitalpartner3735 2 года назад
@@CodigoMaquina Muchísimas gracias por la recomendación, lo leeré. Muchos éxitos.
@julianarturomejiaespitia4479
Buenos dias, quisiera saber si yo pudiera usar el metodo predict, para usar el modelo bosque con una data de diferentes dimensiones en cuanto a cantidad de registros (pero igual numero de columnas), y al querer visualizar esto en una matriz de confusion como podria hacerlo, muchas gracias, excelente explicación.
@CodigoMaquina
@CodigoMaquina Год назад
Julian Arturo gracias por la pregunta. Al respecto, efectivamente es posible realizar el proceso que describes, de hecho, prácticamente lo único que se tendrían que incorporar es la matriz de confusión. Te dejo aquí un video que podría ayudarte a combinar ambas temáticas: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-uaGMk43XTOw.html
@wsxdre1
@wsxdre1 Год назад
Excelente Canal, tengo una pregunta, un modelo de random forest se podria utilizar para por ejemplo saber cual sera el proximo entrenamiento que un estudiante va a tomar basandose en su historial de entrenamientos_
@CodigoMaquina
@CodigoMaquina Год назад
Osvaldo muchas gracias por la pregunta. Sin conocer a detalle el contexto, me da la impresión que hay un componente temporal en tus datos y de que se estaría utilizando el modelo de random forest para series de tiempo. Comúnmente random forest se utiliza para regresión y/o clasificación, sin embargo, sí hay trabajos que llegan a utilizar random forest con datos con características de series de tiempo. Tal vez te interesaría echarle un ojo al siguiente artículo: Moore, P. J., Lyons, T. J., Gallacher, J., & Alzheimer’s Disease Neuroimaging Initiative. (2019). Random forest prediction of Alzheimer’s disease using pairwise selection from time series data. PloS one, 14(2), e0211558.
@mauriciosantiago4051
@mauriciosantiago4051 2 года назад
Excelente !!!
@CodigoMaquina
@CodigoMaquina 2 года назад
Muchas gracias por tu comentario y feliz año :)
@sebastiancastano7357
@sebastiancastano7357 2 года назад
Gracias por la explicación, ¿hay alguna manera en python de extraer las reglas mas representativas del bosque?
@CodigoMaquina
@CodigoMaquina 2 года назад
Gracias por esta pregunta tan interesante. De hecho, la respuesta a esa pregunta es un tema de investigación abierto. Algunos miden la relevancia de las reglas utilizando la frecuencia con la que aparece la regla en el bosque, sin embargo, como comento esto es un tema abierto. Aquí te paso una referencia en dado caso de que desees entrar en detalles: proceedings.mlr.press/v130/benard21a/benard21a.pdf
@sebastiancastano7357
@sebastiancastano7357 2 года назад
@@CodigoMaquina muchas graciass, en r usé un paquete llamado intrees que utiliza dicha frecuencia para extraer las reglas más relevantes. En pyhton si he visto métodos pero no funciones como tal que lo hagan.
@joanagil358
@joanagil358 2 года назад
Gran vídeo y explicación! ¿Cómo podría posteriormente introducir nuevos datos sin saber el ingreso para que el lo clasifique usando los datos de entrenamiento?
@CodigoMaquina
@CodigoMaquina 2 года назад
Muchas gracias por tus comentarios :) Con respecto a tu pregunta, para clasificar nuevas instancias se utiliza el método predict. En el caso del código presentado en el video sería bosque.predict([[50, 16, 1, 1, 40]]). Lo que recibe de entrada el método es la nueva instancia a clasificar correspondiente a ['edad', 'estudio', 'genero', 'tipo_trabajo', 'horas']
@brunogianini4011
@brunogianini4011 2 года назад
¡Gracias!
@CodigoMaquina
@CodigoMaquina Год назад
Estimado Bruno: Muchas gracias por tus comentarios y por creer en este proyecto a la par de apoyarnos con un Super Gracias. Con este apoyo eres parte de este proyecto que busca un impacto social ¡MUCHAS GRACIAS!
@RoronoaZoro-ux7qg
@RoronoaZoro-ux7qg 2 года назад
Pregunta, donde o porque solo clasifica en ingreso alto o bajo, y en donde se puede cambiar para que sean mas categorías?
@CodigoMaquina
@CodigoMaquina 2 года назад
Utilizó solo dos clases para simplificar la explicación. Sin embargo, utilizar más clases, por ejemplo, ingreso bajo, ingreso medio, e ingreso alto, es enteramente transparente. Prácticamente lo único que se necesitaría hacer para clasificar n clases, sería tener instancias etiquetadas con cada una de las clases que desees clasificar independientemente de cuántas sean. Gracias por interactuar en el canal :)
@2u15A
@2u15A 5 месяцев назад
excelente!
@julianwaksmann185
@julianwaksmann185 2 года назад
Gran video! Cuando uno de pipelines?
@CodigoMaquina
@CodigoMaquina 2 года назад
Gracias por la sugerencia y por tu comentario. Te comento que ya tenemos ese tema en la lista de espera. Primero meteremos unos cuantos videos más sobre fundamentos, y justo después, uno de pipelines :)
@HernanOtta
@HernanOtta Год назад
hola necesito ayuda para hacer un codigo alguien me ayuda?
@CodigoMaquina
@CodigoMaquina Год назад
@HernanOtta gracias por ver nuestro canal y espero hayas obtenido el apoyo
@HernanOtta
@HernanOtta Год назад
@@CodigoMaquina no tuve apoyo
@jhojansolano4249
@jhojansolano4249 Год назад
Muchas gracias
@CodigoMaquina
@CodigoMaquina Год назад
Gracias por comentar 😊
@danielapaza8364
@danielapaza8364 2 года назад
Excelente !!!
@CodigoMaquina
@CodigoMaquina 2 года назад
Muchas gracias por tu comentario :)
Далее
Шок-контент! 😱
00:50
Просмотров 1,6 млн
Это было КРАСИВО!
01:00
Просмотров 1 млн
Random Forest Algorithm Clearly Explained!
8:01
Просмотров 621 тыс.
Curso de Data Science en Python Desde Cero [2022]
3:51:32
Шок-контент! 😱
00:50
Просмотров 1,6 млн