{"id":165098,"date":"2026-01-28T17:03:38","date_gmt":"2026-01-28T16:03:38","guid":{"rendered":"https:\/\/liora.io\/es\/?p=165098"},"modified":"2026-02-25T19:11:45","modified_gmt":"2026-02-25T18:11:45","slug":"scikit-learn-decubre-la-biblioteca-python","status":"publish","type":"post","link":"https:\/\/liora.io\/es\/scikit-learn-decubre-la-biblioteca-python","title":{"rendered":"Scikit-Learn : Descubre la biblioteca de Python dedicada al Machine Learning"},"content":{"rendered":"\n<p><strong>Si estudias datos y quieres extraer informaci\u00f3n de ellos, a menudo tendr\u00e1s que procesarlos , modificarlos y, sobre todo, construir modelos capaces de determinar cu\u00e1les son los patrones de tus datos para un problema determinado. Muchas bibliotecas de c\u00f3digo abierto permiten hacer esto hoy en d\u00eda, pero la m\u00e1s conocida de ellas es seguramente Scikit-Learn.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-que-es-scikit-learn\">\u00bfQu\u00e9 es Scikit-Learn?<\/h2>\n\n\n\n<p>Es una <b>biblioteca de Python<\/b> que proporciona acceso a versiones eficaces de muchos algoritmos comunes. Tambi\u00e9n proporciona una API propia y estandarizada. Por tanto, una de las grandes ventajas de Scikit-Learn es que una vez que se entiende el uso b\u00e1sico y su sintaxis para un tipo de modelo, <b>cambiar a un nuevo modelo o algoritmo es muy sencillo<\/b>. La biblioteca no solo permite hacer el modelado, sino que tambi\u00e9n puede garantizar los pasos de preprocesamiento que veremos en el siguiente art\u00edculo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-historia-y-objetivo\">Historia y objetivo<\/h2>\n\n\n\n<p>El proyecto fue lanzado inicialmente en 2007 por <b>David Cournapeau<\/b> y muy r\u00e1pidamente muchos miembros de la comunidad cient\u00edfica de Python se involucraron en \u00e9l. El proyecto avanz\u00f3 r\u00e1pidamente en el contexto de los trabajos sobre im\u00e1genes cerebrales funcionales realizados por el INRIA (Instituto Nacional de Investigaci\u00f3n en Inform\u00e1tica y Autom\u00e1tica). As\u00ed, en 2009 se lanz\u00f3 una primera versi\u00f3n de Scikit-Learn. Desde entonces, se han lanzado no menos de cuarenta versiones hasta llegar a la actual versi\u00f3n 0.24.1. Esta cifra dice mucho sobre la implicaci\u00f3n, sobre el trabajo realizado en el proyecto por los desarrolladores de todo el mundo, cada versi\u00f3n mejora o a\u00f1ade nuevos m\u00e9todos estad\u00edsticos innovadores. <\/p>\n\n\n\n<p>Desde el principio, el objetivo era ambicioso: facilitar el uso de la biblioteca en varias plataformas y dotarla de una documentaci\u00f3n exhaustiva con ejemplos concretos sobre cada herramienta desarrollada. Hoy en d\u00eda Scikit-Learn es una de las bibliotecas m\u00e1s populares en Github. Por los objetivos marcados al inicio del proyecto, uno de los puntos fuertes de Scikit-Learn es su flexibilidad y la facilidad con la que se puede utilizar en un gran n\u00famero de problemas como por ejemplo la segmentaci\u00f3n de clientes, la recomendaci\u00f3n de productos, la detecci\u00f3n de fraudes&#8230; <\/p>\n\n\n\n<p>Por \u00faltimo, es importante destacar que Scikit-Learn es un proyecto de c\u00f3digo abierto disponible para todos bajo la <b>licencia BSD<\/b>. En la web de la biblioteca encontrar\u00e1s documentaci\u00f3n muy precisa de los m\u00e9todos estad\u00edsticos disponibles con ejemplos para entenderlos, pero tambi\u00e9n casos pr\u00e1cticos para comparar los m\u00e9todos entre s\u00ed y comprenderlos mejor.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/es\/nuestros-cursos-de-data\">Inscribirse a un curso para dominar Scikit-Learn<\/a><\/div>\n<\/div>\n\n\n\n<p>.elementor-image-gallery .gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%;max-width:100%;margin:0 auto}.elementor-image-gallery .gallery-item img{margin:0 auto}.elementor-image-gallery .gallery-item .gallery-caption{margin:0}.elementor-image-gallery figure img{display:block}.elementor-image-gallery figure figcaption{width:100%}.gallery-spacing-custom .elementor-image-gallery .gallery-icon{padding:0}@media (min-width:768px){.elementor-image-gallery .gallery-columns-2 .gallery-item{max-width:50%}.elementor-image-gallery .gallery-columns-3 .gallery-item{max-width:33.33%}.elementor-image-gallery .gallery-columns-4 .gallery-item{max-width:25%}.elementor-image-gallery .gallery-columns-5 .gallery-item{max-width:20%}.elementor-image-gallery .gallery-columns-6 .gallery-item{max-width:16.666%}.elementor-image-gallery .gallery-columns-7 .gallery-item{max-width:14.28%}.elementor-image-gallery .gallery-columns-8 .gallery-item{max-width:12.5%}.elementor-image-gallery .gallery-columns-9 .gallery-item{max-width:11.11%}.elementor-image-gallery .gallery-columns-10 .gallery-item{max-width:10%}}@media (min-width:480px) and (max-width:767px){.elementor-image-gallery .gallery.gallery-columns-2 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-3 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-4 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-5 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-6 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-7 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-8 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-9 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-10 .gallery-item{max-width:50%}}@media (max-width:479px){.elementor-image-gallery .gallery.gallery-columns-2 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-3 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-4 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-5 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-6 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-7 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-8 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-9 .gallery-item,.elementor-image-gallery .gallery.gallery-columns-10 .gallery-item{max-width:100%}}<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-la-api-de-scikit-learn\">La API de Scikit-Learn<\/h2>\n\n\n\n<p>Se ha construido siguiendo ciertos principios para que sea f\u00e1cilmente aplicable a un gran n\u00famero de dominios :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>Coherencia <\/b>: Todos los objetos comparten una interfaz com\u00fan extra\u00edda de un conjunto limitado de m\u00e9todos, con una documentaci\u00f3n coherente.<\/li>\n\n\n\n<li><b>Inspecci\u00f3n <\/b>: todos los valores de los par\u00e1metros especificados se exponen como atributos p\u00fablicos.<\/li>\n\n\n\n<li><b>Jerarqu\u00eda de objetos limitada <\/b>: los algoritmos son los \u00fanicos que se representan mediante clases de Python; los conjuntos de datos se representan en formatos est\u00e1ndar (arrays de NumPy, DataFrames de Pandas, matrices dispersas de SciPy) y los nombres de los par\u00e1metros utilizan cadenas est\u00e1ndar de Python.<\/li>\n\n\n\n<li><b>Composici\u00f3n <\/b>: muchas tareas de aprendizaje autom\u00e1tico pueden expresarse como secuencias de algoritmos m\u00e1s fundamentales, y Scikit-Learn hace uso de esto siempre que sea posible.<\/li>\n\n\n\n<li><b>Valores predeterminados razonables <\/b>: Cuando los modelos requieren par\u00e1metros especificados por el usuario, la biblioteca define un valor predeterminado adecuado. Estos principios se describen directamente en este documento que presenta los principios de la API de Scikit-Learn.<\/li>\n<\/ul>\n\n\n\n<p>Estos 5 principios permiten en la pr\u00e1ctica un uso sencillo y fluido de la biblioteca, incluso para perfiles que no tienen una s\u00f3lida formaci\u00f3n matem\u00e1tica.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-los-fundamentos-de-scikit-learn\">Los fundamentos de Scikit-Learn<\/h2>\n\n\n\n<p>Como la API est\u00e1 estandarizada, sea cual sea el modelo que se vaya a utilizar, los pasos de modelado suelen ser los mismos :<\/p>\n\n\n\n<figure class=\"wp-block-image\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2021\/05\/illu_scikit_blog_2-09.png\" alt=\"scikit learn\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>Elegir un modelo<\/b> importando la clase adecuada de Scikit-Learn.<\/li>\n\n\n\n<li><b>Establecer los par\u00e1metros del modelo<\/b>. Si ya est\u00e1s seguro de los par\u00e1metros que quieres utilizar, puedes rellenarlos a mano, de lo contrario, la biblioteca tambi\u00e9n ofrece t\u00e9cnicas como <i>GridSearchCV<\/i> para encontrar los par\u00e1metros \u00f3ptimos.<\/li>\n\n\n\n<li><b>Entrenar el modelo<\/b> en el conjunto de aprendizaje utilizando el m\u00e9todo de ajuste.<\/li>\n\n\n\n<li><b>Probar el modelo<\/b> con nuevos datos:<\/li>\n<\/ul>\n\n\n\n<p>\u25e6 &nbsp; Para el aprendizaje supervisado, utilizamos el m\u00e9todo de <b>predicci\u00f3n<\/b> en los datos de prueba.<\/p>\n\n\n\n<p>\u25e6 &nbsp; Para el aprendizaje no supervisado, utilizamos los m\u00e9todos de <b>transformaci\u00f3n<\/b> o <b>predicci\u00f3n<\/b>.<\/p>\n\n\n\n<p>Estos 4 pasos suelen ser comunes a la utilizaci\u00f3n de un gran n\u00famero de modelos disponibles en la biblioteca, lo que permite, una vez que se ha comprendido la l\u00f3gica de construcci\u00f3n de un modelo, poder utilizar otros modelos muy f\u00e1cilmente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-scikit-learn-muchas-posibilidades\">Scikit-Learn : muchas posibilidades<\/h2>\n\n\n\n<figure class=\"wp-block-image\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2021\/05\/ml_map-1024x638.png\" alt=\"Cheat sheet scikit learn\" \/><\/figure>\n\n\n\n<p>En un art\u00edculo anterior hablamos de los 5 pasos cruciales de un proyecto de datos :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Conocer los entresijos<\/li>\n\n\n\n<li>Recuperar y explorar los datos<\/li>\n\n\n\n<li>Preparar las bases de trabajo<\/li>\n\n\n\n<li>Seleccionar y entrenar un modelo<\/li>\n\n\n\n<li>Evaluar los resultados<\/li>\n<\/ul>\n\n\n\n<p>En los \u00faltimos 3 pasos Scikit-Learn es una librer\u00eda muy utilizada que te proporciona todas las herramientas necesarias :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Para <b>preparar los datos<\/b>, la biblioteca ofrece un arsenal de m\u00e9todos para:\n<ul class=\"wp-block-list\">\n<li>Separar los datos en conjuntos de prueba y de aprendizaje utilizando la funci\u00f3n train_test_split.\u00a0<\/li>\n\n\n\n<li><b>Codificar variables categ\u00f3ricas <\/b>con m\u00e9todos como <i>OneHotEncoder<\/i>.<\/li>\n\n\n\n<li><b>Normalizar<\/b> los datos antes de modelizarlos con m\u00e9todos como <i>StandardScaler<\/i>.<\/li>\n\n\n\n<li><b>Manejar los valores perdidos<\/b> con m\u00e9todos de imputaci\u00f3n sencillos como <i>SimpleImputer<\/i> o m\u00e9todos m\u00e1s avanzados como <i>IterativeImputer<\/i>.<\/li>\n\n\n\n<li>Realizar la <b>selecci\u00f3n de variables<\/b> con, por ejemplo, <i>SelectKBest<\/i>.<\/li>\n\n\n\n<li><b>Reducir el tama\u00f1o <\/b>de la serie de datos mediante m\u00e9todos como el <i>PCA<\/i> o el <i>TSNE<\/i>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Todos estos m\u00e9todos permiten preparar los datos de manera eficiente, un paso crucial en un proyecto y Scikit-Learn ofrece todas las herramientas necesarias para conseguirlo. Hemos citado a modo de ejemplo una peque\u00f1a parte de los m\u00e9todos disponibles,<a href=\"https:\/\/scikit-learn.org\/stable\/index.html\"> encontrar\u00e1s muchos m\u00e1s en la web<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/es\/formacion-data-scientist\">Convi\u00e9rtete en Data Scientist y domina Python<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-aprendizaje-supervisado-y-no-supervisado-en-scikit-learn\">Aprendizaje supervisado y no supervisado en Scikit-Learn<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Para seleccionar y entrenar un modelo, Scikit-Learn cubre dos tipos principales de aprendizaje:\n<ul class=\"wp-block-list\">\n<li><strong>Aprendizaje supervisado <\/strong>: existen muchos modelos, como la <b>regresi\u00f3n<\/b> log\u00edstica, la regresi\u00f3n lineal, las regresiones lineales penalizadas, como Ridge, Lasso o la red el\u00e1stica, los<a href=\"https:\/\/liora.io\/es\/random-forest-bosque-aleatorio-definicion-y-funcionamiento\"> \u00e1rboles de decisi\u00f3n<\/a>, los m\u00e9todos de conjunto, como los<b> bosques aleatorios<\/b>, o los m\u00e9todos de <b>boosting<\/b>, que son f\u00e1cilmente utilizables para tratar los problemas de clasificaci\u00f3n y regresi\u00f3n.<\/li>\n\n\n\n<li><strong>Aprendizaje no supervisado<\/strong> : Tambi\u00e9n en este caso, el algoritmo <b>k-means<\/b>, la <b>clasificaci\u00f3n jer\u00e1rquica ascendente<\/b>, <b>DBSCAN<\/b>, las mezclas gaussianas son modelos disponibles y f\u00e1cilmente utilizables.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Para la mayor\u00eda de estos modelos, especialmente en el aprendizaje supervisado, no conocemos de antemano los par\u00e1metros m\u00e1s adecuados para obtener el mejor rendimiento posible. Por eso, Scikit-Learn ofrece herramientas como <i>GridSearchCV<\/i> o <i>RandomizedSearchCV<\/i> que nos permiten determinar los par\u00e1metros m\u00e1s adecuados de nuestro modelo mediante <b>validaci\u00f3n cruzada<\/b>. Estas dos funciones son muy utilizadas por la comunidad a la hora de modelar datos.<\/p>\n\n\n\n<p>La gran variedad de modelos propuestos en una sola biblioteca hacen de Scikit-Learn un imprescindible para la fase de modelado de datos en un project data.<\/p>\n\n\n\n<p>En cuanto a la <b>evaluaci\u00f3n de los resultados<\/b>, Scikit-Learn vuelve a obtener un resultado excepcional. Cuenta con m\u00e1s de <b>40 m\u00e9tricas disponibles<\/b> para analizar los resultados de tus modelos. Algunos como <i>RMSE, MAE, MSE, r2_score<\/i> permiten evaluar y comparar los resultados de los modelos de regresi\u00f3n. Otros como <i>confusion_matrix, accuracy_score, classification_report<\/i> permiten evaluar y comparar los resultados de los modelos de clasificaci\u00f3n. Por \u00faltimo, tambi\u00e9n hay otros como <i>silhouette_score<\/i> para evaluar el rendimiento de los algoritmos de partici\u00f3n, como la clasificaci\u00f3n jer\u00e1rquica ascendente.<\/p>\n\n\n\n<p>Es importante a\u00f1adir que Scikit-Learn gracias a un m\u00e9todo llamado <b><i>pipeline<\/i><\/b> permite <b>instanciar los 3 \u00faltimos pasos <\/b>de un proyecto en muy pocas l\u00edneas de c\u00f3digo. Por supuesto, esta herramienta se utiliza despu\u00e9s de probar diferentes modelos y determinar el mejor para nuestro problema.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/es\/nuestros-cursos-de-data\">Aprende a utilizar Scikit-Learn<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-un-poco-de-practica\">Un poco de pr\u00e1ctica<\/h2>\n\n\n\n<p>Veamos un ejemplo concreto para entender la capacidad de Scikit-Learn para ofrecernos herramientas estad\u00edsticas para llevar a cabo un proyecto de datos con un m\u00ednimo de l\u00edneas de c\u00f3digo.<\/p>\n\n\n\n<p>En este ejemplo, utilizaremos la serie de datos de <b>precios de viviendas de Boston<\/b> proporcionado por la biblioteca y trabajaremos con \u00e9l. Esta serie de datos no contiene valores perdidos y nuestro objetivo ser\u00e1<b> probar 3 modelos diferentes<\/b>, encontrar para cada uno los par\u00e1metros \u00f3ptimos y luego comparar las puntuaciones obtenidas para determinar el mejor.<\/p>\n\n\n\n<p>Ejemplo de c\u00f3digo de Gist :<\/p>\n\n\n\n<pre class=\"wp-block-code has-xsmall-font-size\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><code>import pandas as pd\nfrom sklearn.datasets import load_boston\nfrom sklearn.preprocessing import StandardScaler\nfrom sklearn.model_selection import train_test_split\n\n#import des donn\u00e9es \nX, y = load_boston(return_X_y=True)\n\n#S\u00e9paration des donn\u00e9es en jeu d'apprentissage et de test\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 400)\n\n#Scaling des donn\u00e9es\nscaler = StandardScaler().fit(X_train)\nX_train = scaler.transform(X_train)\nX_test = scaler.transform(X_test)\n\nfrom sklearn.feature_selection import SelectKBest\nfrom sklearn.feature_selection import f_regression\n\n#S\u00e9lection de variables\nselector = SelectKBest(f_regression).fit(X_train, y_train)\nX_train = selector.transform(X_train)\nX_test = selector.transform(X_test)\n\nfrom sklearn.linear_model import Lasso<\/code><\/pre>\n\n\n\n<p>El c\u00f3digo puede dividirse en 4 pasos :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Importaci\u00f3n y escalamiento de datos mediante la clase <i>StandardScaler<\/i>.<\/li>\n\n\n\n<li>Selecci\u00f3n de variables mediante la clase <i>SelectKBest<\/i>.<\/li>\n\n\n\n<li>Entrenamiento de 3 modelos diferentes y b\u00fasqueda de los mejores par\u00e1metros mediante la clase <i>GridSearchCV.<\/i><\/li>\n\n\n\n<li>Comparaci\u00f3n y elecci\u00f3n del modelo \u00f3ptimo.<\/li>\n<\/ul>\n\n\n\n<p>Un \u00faltimo paso consiste en<b> instanciar todos estos pasos en una sola l\u00ednea de c\u00f3digo<\/b> con el mejor modelo utilizando la clase <i>pipeline<\/i>, y predecir y evaluar en el conjunto de prueba.<\/p>\n\n\n\n<pre class=\"wp-block-code has-xsmall-font-size\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><code>best_model = RandomForestRegressor(**best_params&#091;'randomforest'])\n\nfrom sklearn.pipeline import Pipeline\n\npipe = Pipeline(&#091;('scaler', StandardScaler()), \n                 ('selector', SelectKBest(f_regression)),\n                 ('model', best_model)])\n\npipe.fit(X_train, y_train)\n\npred_train = pipe.predict(X_train)\npred_test = pipe.predict(X_test)\n\nfrom sklearn.metrics import r2_score\n\nprint(\"r2_score sur le jeu d'apprentissage\", r2_score(y_train, pred_train))\nprint(\"r2_score sur le jeu de test\", r2_score(y_test, pred_test))<\/code><\/pre>\n\n\n\n<p>La librer\u00eda Scikit-Learn ofrece en la actualidad un gran n\u00famero de algoritmos con campos de aplicaci\u00f3n en muchos sectores como la industria, los seguros, la comprensi\u00f3n de datos de clientes, etc. En Liora te ense\u00f1aremos a utilizar, entender, interpretar y evaluar un gran n\u00famero de algoritmos de la librer\u00eda en problemas concretos. An\u00edmate a descubrir nuestros cursos.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/es\/nuestros-cursos-de-data\">Descubre nuestros cursos de Data Science<\/a><\/div>\n<\/div>\n\n\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u00bfQu\u00e9 es Scikit-Learn?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Scikit-Learn es una biblioteca Python open-source que proporciona versiones eficaces de muchos algoritmos comunes de Machine Learning, con una API estandarizada. Una vez entendido el uso b\u00e1sico para un modelo, cambiar a otro es muy sencillo. Permite modelado y preprocesamiento.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Historia y objetivo\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Lanzado en 2007 por David Cournapeau, con participaci\u00f3n de la comunidad cient\u00edfica Python (INRIA). Primera versi\u00f3n 2009, actualmente &gt;40 versiones (\u00faltima 0.24.1). Objetivo: facilitar uso en m\u00faltiples plataformas con documentaci\u00f3n exhaustiva y ejemplos concretos. Es open-source (licencia BSD), flexible y aplicable a segmentaci\u00f3n clientes, recomendaci\u00f3n productos, detecci\u00f3n fraudes.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"La API de Scikit-Learn\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Principios de dise\u00f1o: coherencia (interfaz com\u00fan con documentaci\u00f3n coherente), inspecci\u00f3n (par\u00e1metros expuestos como atributos p\u00fablicos), jerarqu\u00eda objetos limitada (algoritmos como clases Python, datos en formatos est\u00e1ndar NumPy\/Pandas\/SciPy), composici\u00f3n (secuencias de algoritmos fundamentales), valores predeterminados razonables. Permite uso sencillo incluso sin s\u00f3lida formaci\u00f3n matem\u00e1tica.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Los fundamentos de Scikit-Learn\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Pasos comunes para cualquier modelo: 1) elegir modelo importando clase adecuada, 2) establecer par\u00e1metros (manualmente o con GridSearchCV), 3) entrenar con m\u00e9todo fit(), 4) probar con predict() (supervisado) o transform()\/predict() (no supervisado).\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Scikit-Learn : muchas posibilidades\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Herramientas para preparar datos: train_test_split, OneHotEncoder, StandardScaler, SimpleImputer\/IterativeImputer, SelectKBest, PCA\/TSNE. Para aprendizaje supervisado: regresi\u00f3n log\u00edstica\/lineal, Ridge, Lasso, \u00e1rboles decisi\u00f3n, Random Forest, boosting. Para aprendizaje no supervisado: k-means, clustering jer\u00e1rquico, DBSCAN, mezclas gaussianas. Optimizaci\u00f3n: GridSearchCV, RandomizedSearchCV. Evaluaci\u00f3n: &gt;40 m\u00e9tricas (RMSE, MAE, r2_score, confusion_matrix, accuracy_score, classification_report, silhouette_score). Pipeline permite instanciar \u00faltimos 3 pasos en pocas l\u00edneas.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Un poco de pr\u00e1ctica\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Ejemplo con Boston housing: importar datos, escalar con StandardScaler, seleccionar variables con SelectKBest, entrenar modelos con GridSearchCV, comparar puntuaciones. Pipeline permite combinar todos los pasos: scaler + selector + modelo (ej. RandomForestRegressor) en una sola l\u00ednea, predecir y evaluar con r2_score.\"\n      }\n    }\n  ]\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Si estudias datos y quieres extraer informaci\u00f3n de ellos, a menudo tendr\u00e1s que procesarlos , modificarlos y, sobre todo, construir modelos capaces de determinar cu\u00e1les son los patrones de tus datos para un problema determinado. Muchas bibliotecas de c\u00f3digo abierto permiten hacer esto hoy en d\u00eda, pero la m\u00e1s conocida de ellas es seguramente Scikit-Learn.<\/p>\n","protected":false},"author":85,"featured_media":165101,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2440],"class_list":["post-165098","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ia"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/165098","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/users\/85"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/comments?post=165098"}],"version-history":[{"count":5,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/165098\/revisions"}],"predecessor-version":[{"id":184315,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/165098\/revisions\/184315"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media\/165101"}],"wp:attachment":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media?parent=165098"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/categories?post=165098"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}