Índice analítico[Ocultar][Mostrar]
Se es un programador de Python ou se busca un conxunto de ferramentas poderoso para utilizar para introducir a aprendizaxe automática nun sistema de produción, Scikit-learn é unha biblioteca que debes consultar.
Scikit-learn está ben documentado e é sinxelo de usar, tanto se é novo na aprendizaxe automática, se quere comezar a funcionar rapidamente ou se quere utilizar a ferramenta de investigación de ML máis actualizada.
Permítelle construír un modelo de datos preditivos en só unhas poucas liñas de código e despois utiliza ese modelo para adaptarse aos seus datos como unha biblioteca de alto nivel. É flexible e funciona ben con outros Bibliotecas Python como Matplotlib para gráficos, NumPy para a vectorización de matrices e pandas para a visualización de datos.
Nesta guía, descubrirás todo sobre o que é, como podes usalo e os seus pros e contras.
O que é Scikit-aprende?
Scikit-learn (tamén coñecido como sklearn) ofrece un conxunto diverso de modelos estatísticos e aprendizaxe automática. A diferenza da maioría dos módulos, sklearn desenvólvese en Python e non en C. A pesar de ser desenvolvido en Python, a eficiencia de sklearn adscríbese ao seu uso de NumPy para operacións de álxebra lineal e matrices de alto rendemento.
Scikit-Learn creouse como parte do proxecto Summer of Code de Google e desde entón simplificou a vida de millóns de científicos de datos centrados en Python en todo o mundo. Esta sección da serie céntrase na presentación da biblioteca e céntrase nun elemento: as transformacións do conxunto de datos, que son un paso clave e vital a dar antes de desenvolver un modelo de predición.
A biblioteca está baseada en SciPy (Scientific Python), que debe instalarse antes de poder usar scikit-learn. Esta pila contén os seguintes elementos:
- NumPy: paquete de matriz n-dimensional estándar de Python
- SciPy: é un paquete fundamental para a informática científica
- Pandas: estruturas de datos e análise
- Matplotlib: é unha poderosa biblioteca de trazado 2D/3D
- Sympy: Matemáticas simbólicas
- IPython: consola interactiva mellorada
Aplicacións da biblioteca Scikit-learn
Scikit-learn é un paquete Python de código aberto con funcións de minería e análise de datos sofisticadas. Vén cunha infinidade de algoritmos integrados para axudarche a sacar o máximo proveito dos teus proxectos de ciencia de datos. A biblioteca Scikit-learn úsase das seguintes formas.
1. Regresión
A análise de regresión é unha técnica estatística para analizar e comprender a conexión entre dúas ou máis variables. O método utilizado para facer a análise de regresión axuda a determinar que elementos son relevantes, cales poden ignorarse e como interactúan. As técnicas de regresión, por exemplo, pódense utilizar para comprender mellor o comportamento dos prezos das accións.
Os algoritmos de regresión inclúen:
- Regresión lineal
- Regresión de Ridge
- Regresión de lazo
- Regresión da árbore de decisións
- Bosque aleatorio
- Soporte de máquinas vectoriales (SVM)
2. Clasificación
O método de clasificación é un enfoque de aprendizaxe supervisada que utiliza datos de formación para identificar a categoría de observacións novas. Un algoritmo en Clasificación aprende dun dato conxunto de datos ou observacións e despois clasifica as observacións adicionais nunha das moitas clases ou agrupacións. Pódense utilizar, por exemplo, para clasificar as comunicacións por correo electrónico como spam ou non.
Os algoritmos de clasificación inclúen os seguintes:
- Regresión loxística
- K-Veciños máis próximos
- Soporte de máquina vectorial
- Árbore de decisións
- Bosque aleatorio
3. Agrupación
Os algoritmos de agrupación en Scikit-learn úsanse para organizar automaticamente os datos con propiedades similares en conxuntos. A agrupación é o proceso de agrupar un conxunto de elementos para que os do mesmo grupo sexan máis semellantes aos doutros grupos. Os datos dos clientes, por exemplo, poden estar separados segundo a súa localización.
Os algoritmos de agrupación inclúen os seguintes:
- DB-SCAN
- K-Medios
- Mini-lote K-Means
- Clúster espectral
4. Selección do modelo
Os algoritmos de selección de modelos proporcionan métodos para comparar, validar e seleccionar os parámetros e modelos óptimos para o seu uso en iniciativas de ciencia de datos. Dados os datos, a selección de modelos é o problema de escoller un modelo estatístico dun grupo de modelos candidatos. Nas circunstancias máis básicas, tense en conta unha recollida de datos preexistente. Non obstante, a tarefa tamén pode incluír o deseño de experimentos para que os datos adquiridos se adapten ben ao problema de selección do modelo.
Os módulos de selección de modelos que poden mellorar a precisión axustando os parámetros inclúen:
- Validación cruzada
- Busca en cuadrícula
- Métrica
5. Redución da dimensionalidade
A transferencia de datos dun espazo de alta dimensión a un espazo de baixa dimensión para que a representación de baixa dimensión conserve algúns aspectos significativos dos datos orixinais, idealmente preto da súa dimensión inherente, coñécese como redución da dimensionalidade. O número de variables aleatorias para a análise redúcese cando se reduce a dimensionalidade. Os datos periféricos, por exemplo, poden non considerarse para mellorar a eficiencia das visualizacións.
O algoritmo de redución de dimensións inclúe o seguinte:
- Selección de funcións
- Análise de compoñentes principais (PCA)
Instalación de Scikit-learn
É necesario instalar NumPy, SciPy, Matplotlib, IPython, Sympy e Pandas antes de usar Scikit-learn. Imos instalalos usando pip desde a consola (funciona só para Windows).
Imos instalar Scikit-learn agora que instalamos as bibliotecas necesarias.
características
Scikit-learn, ás veces coñecido como sklearn, é un conxunto de ferramentas de Python para implementar modelos de aprendizaxe automática e modelado estatístico. Podemos usalo para crear varios modelos de aprendizaxe automática para regresión, clasificación e agrupación, así como ferramentas estatísticas para avaliar estes modelos. Tamén inclúe redución da dimensionalidade, selección de características, extracción de características, enfoques de conxunto e conxuntos de datos integrados. Investigaremos cada unha destas calidades unha a unha.
1. Importar conxuntos de datos
Scikit-learn inclúe unha serie de conxuntos de datos preconstruídos, como o conxunto de datos do iris, o conxunto de datos de prezos da casa, o conxunto de datos titánico, etc. As principais vantaxes destes conxuntos de datos son que son sinxelos de entender e pódense usar para desenvolver inmediatamente modelos de ML. Estes conxuntos de datos son apropiados para principiantes. Do mesmo xeito, pode usar sklearn para importar conxuntos de datos adicionais. Do mesmo xeito, pode usalo para importar conxuntos de datos adicionais.
2. Dividir o conxunto de datos para adestramento e probas
Sklearn incluíu a capacidade de dividir o conxunto de datos en segmentos de adestramento e proba. É necesario dividir o conxunto de datos para unha avaliación imparcial do rendemento da predición. Podemos especificar cantos datos deben incluírse nos conxuntos de datos do tren e das probas. Dividimos o conxunto de datos mediante a división de probas de tren de forma que o conxunto de trens comprenda o 80% dos datos e o conxunto de probas teña o 20%. O conxunto de datos pódese dividir do seguinte xeito:
3. Regresión lineal
A regresión lineal é unha técnica de aprendizaxe automática baseada na aprendizaxe supervisada. Realiza un traballo de regresión. A partir de variables independentes, a regresión modela un valor de predición de obxectivos. Úsase principalmente para determinar a relación entre variables e predicción. Os diferentes modelos de regresión difiren en canto ao tipo de conexión que avalían entre as variables dependentes e independentes, así como no número de variables independentes utilizadas. Simplemente podemos crear o modelo de regresión lineal usando sklearn do seguinte xeito:
4. Regresión loxística
Un enfoque común de categorización é a regresión loxística. É da mesma familia que a regresión polinómica e lineal e pertence á familia de clasificadores lineais. Os resultados da regresión loxística son sinxelos de comprender e son rápidos de calcular. Do mesmo xeito que a regresión lineal, a regresión loxística é unha técnica de regresión supervisada. A variable de saída é categórica, polo que esa é a única diferenza. Pode determinar se un paciente ten ou non unha enfermidade cardíaca.
Varios problemas de clasificación, como a detección de spam, pódense resolver mediante a regresión loxística. A previsión da diabetes, a determinación de se un consumidor comprará un produto específico ou cambiará a un rival, a determinación de se un usuario fará clic nunha ligazón de mercadotecnia específica e moitos máis escenarios son só algúns exemplos.
5. Árbore de decisión
A técnica de clasificación e predición máis poderosa e amplamente utilizada é a árbore de decisións. Unha árbore de decisión é unha estrutura de árbore que semella un diagrama de fluxo, con cada nodo interno que representa unha proba sobre un atributo, cada rama representa a conclusión da proba e cada nodo folla (nodo terminal) ten unha etiqueta de clase.
Cando as variables dependentes non teñen unha relación lineal coas variables independentes, é dicir, cando a regresión lineal non produce resultados correctos, as árbores de decisión son beneficiosas. O obxecto DecisionTreeRegression() pódese usar dun xeito similar para utilizar unha árbore de decisións para a regresión.
6. Bosque aleatorio
Un bosque aleatorio é un aprendizaxe de máquina enfoque para resolver problemas de regresión e clasificación. Fai uso da aprendizaxe en conxunto, que é unha técnica que combina varios clasificadores para resolver problemas complicados. Un método forestal aleatorio está formado por un gran número de árbores de decisión. Pódese usar para categorizar solicitudes de préstamo, detectar comportamentos fraudulentos e anticipar brotes de enfermidades.
7. Matriz de confusión
Unha matriz de confusión é unha táboa utilizada para describir o rendemento do modelo de clasificación. As seguintes catro palabras úsanse para examinar a matriz de confusión:
- Verdadero positivo: significa que o modelo proxectou un resultado favorable e foi correcto.
- Verdadero negativo: significa que o modelo proxectou un mal resultado e foi correcto.
- Falso positivo: significa que o modelo esperaba un resultado favorable pero realmente era negativo.
- Falso negativo: significa que o modelo esperaba un resultado negativo, mentres que o resultado era realmente positivo.
Implementación da matriz de confusión:
Pros
- É sinxelo de usar.
- O paquete Scikit-learn é extremadamente adaptable e útil e serve para obxectivos do mundo real, como a predición do comportamento do consumidor, o desenvolvemento de neuroimaxes, etc.
- Os usuarios que desexen conectar os algoritmos coas súas plataformas atoparán documentación detallada da API no sitio web de Scikit-learn.
- Numerosos autores, colaboradores e unha gran comunidade en liña en todo o mundo apoian e manteñen Scikit-learn actualizado.
Contra
- Non é a opción ideal para un estudo en profundidade.
Conclusión
Scikit-learn é un paquete fundamental para que todos os científicos de datos teñan unha boa comprensión e experiencia. Esta guía debería axudarche coa manipulación de datos mediante sklearn. Hai moitas máis capacidades de Scikit-learn que descubrirás a medida que avances na túa aventura de ciencia de datos. Comparte os teus pensamentos nos comentarios.
Deixe unha resposta