Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Buscar
Buscar
español
Apariencia
Crear una cuenta
Acceder
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Edición de «
Random forest
»
Página
Discusión
español
Leer
Editar
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
'''''Random forest''''' (o '''''random forests''''') también conocidos en castellano como '''Bosques aleatorios''' es una combinación de árboles predictores tal que cada árbol depende de los valores de un vector aleatorio probado independientemente y con la misma distribución para cada uno de estos. Es una modificación sustancial de [[bagging]] que construye una larga colección de árboles no correlacionados y luego los promedia.<ref name=":0">{{Cita publicación|url=http://ascelibrary.org/doi/10.1061/JPEODX.0000175|título=Role of Data Analytics in Infrastructure Asset Management: Overcoming Data Size and Quality Problems|apellidos=Piryonesi|nombre=S. Madeh|apellidos2=El-Diraby|nombre2=Tamer E.|fecha=2020-06|publicación=Journal of Transportation Engineering, Part B: Pavements|volumen=146|número=2|páginas=04020022|fechaacceso=7 de agosto de 2020|idioma=en|issn=2573-5438|doi=10.1061/JPEODX.0000175}}</ref><ref name=":1">{{Cita libro|título=The elements of statistical learning : data mining, inference, and prediction : with 200 full-color illustrations|url=https://www.worldcat.org/oclc/46809224|editorial=Springer|fecha=2001|fechaacceso=7 de agosto de 2020|isbn=0-387-95284-5|oclc=46809224|apellidos=Hastie, Trevor.|apellidos2=Friedman, J. H. (Jerome H.)}}</ref> El [[algoritmo]] para inducir un random forest fue desarrollado por [[Leo Breiman]]<ref>{{cita publicación|nombre=Leo |apellido=Breiman |enlaceautor=Leo Breiman |título=Random Forests |publicación=[[Machine Learning (revista)|Machine Learning]] |año=2001 |volumen=45 |número=1 |páginas=5–32 |doi=10.1023/A:1010933404324 }}</ref> y Adele Cutler y Random forests es su [[Marca (registro)|marca de fábrica]]. El término aparece de la primera propuesta de Random decision forests, hecha por Tin Kam Ho de [[Bell Labs]] en 1995. El método combina la idea de ''[[bagging]]'' de Breiman y la selección aleatoria de atributos, introducida independientemente por Ho,<ref>{{cite conference |first = Tin Kam |last = Ho |title = Random Decision Forest |conference = Proceedings of the 3rd International Conference on Document Analysis and Recognition, Montreal, QC, 14–16 August 1995 |year = 1995 |pages = 278–282 |url = http://cm.bell-labs.com/cm/cs/who/tkh/papers/odt.pdf |archiveurl = https://web.archive.org/web/20080704141852/http://cm.bell-labs.com/cm/cs/who/tkh/papers/odt.pdf |archivedate = 4 de julio de 2008 }}</ref><ref>{{cita publicación |nombre = Tin Kam |apellido = Ho |título = The Random Subspace Method for Constructing Decision Forests |publicación = IEEE Transactions on Pattern Analysis and Machine Intelligence |año = 1998 |volumen = 20 |número = 8 |páginas = 832–844 |doi = 10.1109/34.709601 |url = http://cm.bell-labs.com/cm/cs/who/tkh/papers/df.pdf |urlarchivo = https://web.archive.org/web/20070930204101/http://cm.bell-labs.com/cm/cs/who/tkh/papers/df.pdf |fechaarchivo = 30 de septiembre de 2007 }}</ref> Amit y [[Donald Geman|Geman]],<ref>{{cita publicación |apellido=Amit |nombre=Yali |last2=Geman |first2=Donald |enlaceautor2=Donald Geman |título=Shape quantization and recognition with randomized trees |publicación=[[Neural Computation]] |año=1997 |volumen=9 |número=7 |páginas=1545–1588 |doi=10.1162/neco.1997.9.7.1545 |url=http://www.cis.jhu.edu/publications/papers_in_database/GEMAN/shape.pdf |fechaacceso=3 de enero de 2013 |fechaarchivo=5 de febrero de 2018 |urlarchivo=https://web.archive.org/web/20180205094828/http://www.cis.jhu.edu/publications/papers_in_database/GEMAN/shape.pdf |deadurl=yes }}</ref> para construir una colección de árboles de decisión con variación controlada. La selección de un [[subconjunto]] aleatorio de atributos es un ejemplo del método ''random subspace'', el que, según la formulación de Ho, es una manera de llevar a cabo la discriminación estocástica<ref>{{cita publicación |nombre=Eugene |apellido=Kleinberg |título=An Overtraining-Resistant Stochastic Modeling Method for Pattern Recognition |publicación=[[Annals of Statistics]] |año=1996 |volumen=24 |número=6 |páginas=2319–2349 |url=http://kappa.math.buffalo.edu/aos.pdf |doi=10.1214/aos/1032181157 |mr=1425956 |urlarchivo=https://web.archive.org/web/20110719154745/http://kappa.math.buffalo.edu/aos.pdf |fechaarchivo=19 de julio de 2011 }}</ref> propuesta por Eugenio Kleinberg. En muchos problemas el rendimiento del algoritmo random fores''t'' es muy similar a la del ''[[boosting]]'', y es más simple de entrenar y ajustar. Como consecuencia, el Random fores''t'' es popular y ampliamente utilizado. == Definición de ''random forests'' == La idea esencial del bagging es promediar muchos modelos ruidosos pero aproximadamente imparciales, y por tanto reducir la variación. Los árboles son los candidatos ideales para el bagging, dado que ellos pueden registrar estructuras de interacción compleja en los datos, y si crecen suficientemente profundo, tienen relativamente baja parcialidad. Producto de que los árboles son notoriamente ruidosos, ellos se benefician enormemente al promediar. Cada árbol es construido usando el siguiente algoritmo: # Sea ''N'' el número de [[Caso de prueba|casos de prueba]], ''M'' es el número de variables en el clasificador. # Sea ''m'' el número de variables de entrada a ser usado para determinar la decisión en un nodo dado; ''m'' debe ser mucho menor que ''M'' # Elegir un conjunto de entrenamiento para este árbol y usar el resto de los casos de prueba para estimar el error. # Para cada nodo del árbol, elegir aleatoriamente ''m'' variables en las cuales basar la decisión. Calcular la mejor partición del conjunto de entrenamiento a partir de las ''m'' variables. Para la predicción un nuevo caso es empujado hacia abajo por el árbol. Luego se le asigna la etiqueta del nodo terminal donde termina. Este proceso es iterado por todos los árboles en el ensamblado, y la etiqueta que obtenga la mayor cantidad de incidencias es reportada como la predicción. == Características (o rasgos) y Ventajas == Las ventajas del '''random forests''' son:<ref>[http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm]</ref> * Ser uno de los algoritmos de aprendizaje más certeros que hay disponible. Para un conjunto de datos lo suficientemente grande produce un clasificador muy certero.<ref>{{cite conference |first=Rich |last=Caruana |first2=Nikos |last2=Karampatziakis |first3=Ainur |last3=Yessenalina |title=An empirical evaluation of supervised learning in high dimensions |url=http://icml2008.cs.helsinki.fi/papers/632.pdf |conference=[[International Conference on Machine Learning|Proceedings of the 25th International Conference on Machine Learning (ICML)]] |year=2008 }}</ref> * Correr eficientemente en bases de datos grandes. * Manejar cientos de variables de entrada sin excluir ninguna. * Dar estimaciones de qué variables son importantes en la clasificación.<ref name=":0" /><ref name=":1" /> * Tener un método eficaz para estimar datos perdidos y mantener la exactitud cuando una gran proporción de los datos está perdida. * Computar los prototipos que dan información sobre la relación entre las variables y la clasificación. * Computar las proximidades entre los pares de casos que pueden usarse en los grupos, localizando valores atípicos, o (ascendiendo) dando vistas interesantes de los datos. * Ofrecer un método experimental para detectar las interacciones de las variables. == Desventajas == * Se ha observado que '''Random forests''' sobreajusta en ciertos grupos de datos con tareas de clasificación/regresión ruidosas.<ref>{{cita libro |nombre=Mark R. |apellidos=Segal |título=Machine Learning Benchmarks and Random Forest Regression |fecha = abril 14 de 2004 |editorial=Center for Bioinformatics & Molecular Biostatistics |url=http://repositories.cdlib.org/cbmb/bench_rf_regn/ }}</ref> * A diferencia de los árboles de decisión, la clasificación hecha por random forests es difícil de interpretar.<ref>{{cita libro |nombre=Michael R. |apellidos=Berthold |título=Guide to Intelligent Data Analysis |año=2010 |editorial=Springer London }}</ref> * Para los datos que incluyen variables categóricas con diferente número de niveles, el random forests se parcializa a favor de esos atributos con más niveles. Por consiguiente, la posición que marca la variable no es fiable para este tipo de datos. Métodos como las permutaciones parciales se han usado para resolver el problema<ref>{{cite conference |author=Deng,H.|coauthors=Runger, G.; Tuv, E. |title=Bias of importance measures for multi-valued attributes and solutions |conference=Proceedings of the 21st International Conference on Artificial Neural Networks (ICANN) |year=2011|pages=293–300 }}</ref><ref>{{cita publicación |autor=Altmann A, Tolosi L, Sander O, Lengauer T |título=Permutation importance:a corrected feature importance measure |publicación=Bioinformatics |año=2010 |doi=10.1093/bioinformatics/btq134 |url=http://bioinformatics.oxfordjournals.org/content/early/2010/04/12/bioinformatics.btq134.abstract }}</ref> * Si los datos contienen grupos de atributos correlacionados con similar relevancia para el rendimiento, entonces los grupos más pequeños están favorecidos sobre los grupos más grandes.<ref>{{cita publicación |autor=Tolosi L, Lengauer T |título=Classification with correlated features: unreliability of feature ranking and solutions. |publicación=Bioinformatics |año=2011 |doi=10.1093/bioinformatics/btr300 |url=http://bioinformatics.oxfordjournals.org/content/27/14/1986.abstract }}</ref> == Visualización == [[Archivo:gaussian training data.png|miniaturadeimagen|200px|''Datos de entrenamiento.'']] [[Archivo:random forest model space.png|miniaturadeimagen|200px|''Visualización de Random Forest después del entrenamiento.'']] [[Archivo:logistic regression model space.png|miniaturadeimagen|200px|''Modelo de regresión logística después de entrenamiento.'']] Para formar una visualización intuitiva del espacio-modelo representado por un random forests, se creó un set de datos que consiste en 200 puntos aleatorios (100 puntos verdes y 100 puntos rojos). Los puntos verdes eran obtenidos a partir de una distribución Gaussiana con un centroide en (0,1), y los puntos rojos eran obtenidos de una distribución de Gaussiana con un centroide en (1,0). En ambos casos, la variación era circular con un radio medio de 1. El modelo del random forest, consistente de 50 árboles, entrenados usando estos datos. La pureza del color indica la porción de los 50 árboles que votaron de acuerdo. Un over-fit (sobre ajuste) significativo puede ser observado en la visualización de Random Forest después del entrenamiento. En contraste, se presenta la visualización de un modelo de regresión logístico (menos propenso al sobre ajuste), que también fue entrenado usando estos mismos datos. == Véase también == * [[Random multinomial logit]] * [[Random naive Bayes]] == Referencias == {{listaref}} == Implementación Comercial == * [http://www.salford-systems.com] Random Forests. == Implementaciones Open source == * [http://www.stat.berkeley.edu/~breiman/RandomForests/cc_software.htm The Original RF] por Breiman and Cutler. escrita en [[Fortran]] 77. [http://www.stat.berkeley.edu/~breiman/RandomForests/cc_copyright.htm GNU General Public License] * [http://www.alglib.net/dataanalysis/decisionforest.php ALGLIB] contiene una modificación del algoritmo random forest en C#, C++, Pascal, VBA. [http://www.alglib.net/download.php GPL 2+] * [http://cran.r-project.org/web/packages/party/index.html party] Implementación basada en árboles de inferencia condicionales en [[R (programming language)|R]]. * [http://cran.r-project.org/web/packages/randomForest/index.html randomForest] para clasificación y regresión en [[R (programming language)|R]]. * [http://code.google.com/p/randomforest-matlab] Versión en [[MATLAB|Matlab]]. ([[GNU General Public License|GNU GPL]] v2) {{Control de autoridades}} [[Categoría:Algoritmos de clasificación]] [[Categoría:Aprendizaje automático]] [[Categoría:Teoría de la decisión]] [[Categoría:Árboles (estructura)]] * El software [http://sqp.upf.edu SQP] usa el algoritmo de random forest para predecir la calidad de presuntas de encuestas en función de las múltiples características formales y lingüísticas que ésta pueda tener.
Resumen:
Al guardar los cambios aceptas los
términos de uso
y liberas de forma irrevocable tu contribución conforme a los términos de las licencias
licencia CC BY-SA 4.0
y
GFDL
. Aceptas igualmente que un hipervínculo o URL es atribución suficiente conforme a la licencia Creative Commons.
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Edición de «
Random forest
»
Añadir idiomas
Añadir tema