Taula de continguts[Amaga][Espectacle]
Si sou un programador de Python o si busqueu un conjunt d'eines potent per utilitzar per introduir l'aprenentatge automàtic en un sistema de producció, Scikit-learn és una biblioteca que heu de consultar.
Scikit-learn està ben documentat i és senzill d'utilitzar, tant si sou nou a l'aprenentatge automàtic, si voleu posar-vos en marxa ràpidament o si voleu utilitzar l'eina de recerca d'ML més actualitzada.
Us permet construir un model de dades predictiu en només unes poques línies de codi i després utilitzar aquest model per adaptar-vos a les vostres dades com a biblioteca d'alt nivell. És flexible i funciona bé amb altres Biblioteques Python com Matplotlib per a gràfics, NumPy per a la vectorització de matrius i pandas per a la visualització de dades.
En aquesta guia, descobrireu tot sobre què és, com podeu utilitzar-lo i els seus pros i contres.
Què és Scikit-aprendre?
Scikit-learn (també conegut com sklearn) ofereix un conjunt divers de models estadístics i aprenentatge automàtic. A diferència de la majoria dels mòduls, sklearn es desenvolupa en Python en lloc de C. Tot i ser desenvolupat en Python, l'eficiència de sklearn s'atribueix al seu ús de NumPy per a operacions d'àlgebra lineal i matriu d'alt rendiment.
Scikit-Learn es va crear com a part del projecte Summer of Code de Google i des de llavors ha simplificat la vida de milions de científics de dades centrats en Python a tot el món. Aquesta secció de la sèrie se centra a presentar la biblioteca i centrar-se en un element: les transformacions del conjunt de dades, que són un pas clau i vital a fer abans de desenvolupar un model de predicció.
La biblioteca es basa en SciPy (Scientific Python), que s'ha d'instal·lar abans de poder utilitzar scikit-learn. Aquesta pila conté els elements següents:
- NumPy: paquet de matriu n-dimensional estàndard de Python
- SciPy: És un paquet fonamental per a la informàtica científica
- Pandas: estructures i anàlisi de dades
- Matplotlib: és una potent biblioteca de traçat 2D/3D
- Sympy: Matemàtiques simbòliques
- IPython: consola interactiva millorada
Aplicacions de la biblioteca Scikit-learn
Scikit-learn és un paquet Python de codi obert amb funcions d'anàlisi de dades i mineria sofisticades. Ve amb una gran quantitat d'algorismes integrats per ajudar-vos a treure el màxim profit dels vostres projectes de ciència de dades. La biblioteca Scikit-learn s'utilitza de les maneres següents.
1. Regressió
L'anàlisi de regressió és una tècnica estadística per analitzar i comprendre la connexió entre dues o més variables. El mètode utilitzat per fer l'anàlisi de regressió ajuda a determinar quins elements són rellevants, quins es poden ignorar i com interactuen. Les tècniques de regressió, per exemple, es poden utilitzar per entendre millor el comportament dels preus de les accions.
Els algorismes de regressió inclouen:
- regressió lineal
- Regression de Ridge
- Regressió de lazo
- Regression de l'arbre de decisions
- Bosc aleatori
- Màquines vectorials de suport (SVM)
2. Classificació
El mètode de classificació és un enfocament d'aprenentatge supervisat que utilitza dades d'entrenament per identificar la categoria d'observacions noves. Un algorisme de Classificació aprèn d'un determinat conjunt de dades o observacions i després classifica les observacions addicionals en una de moltes classes o agrupacions. Es poden utilitzar, per exemple, per classificar les comunicacions de correu electrònic com a correu brossa o no.
Els algorismes de classificació inclouen els següents:
- Regressió logística
- K-Veïns més propers
- Màquina vectorial de suport
- Arbre de decisions
- Bosc aleatori
3. Agrupació
Els algorismes d'agrupació de Scikit-learn s'utilitzen per organitzar automàticament dades amb propietats similars en conjunts. L'agrupament és el procés d'agrupar un conjunt d'ítems de manera que els d'un mateix grup siguin més semblants als d'altres grups. Les dades dels clients, per exemple, es poden separar en funció de la seva ubicació.
Els algorismes d'agrupament inclouen els següents:
- DB-SCAN
- K-Mitjans
- Mini-lot K-Means
- Clúster espectral
4. Selecció del model
Els algorismes de selecció de models proporcionen mètodes per comparar, validar i seleccionar els paràmetres i models òptims per utilitzar-los en iniciatives de ciència de dades. Donades les dades, la selecció de models és el problema de triar un model estadístic d'un grup de models candidats. En les circumstàncies més bàsiques, es té en compte una recollida de dades preexistent. Tanmateix, la tasca també pot incloure el disseny d'experiments perquè les dades adquirides s'adaptin bé al problema de selecció del model.
Els mòduls de selecció de models que poden millorar la precisió ajustant els paràmetres inclouen:
- Validació creuada
- Cerca de quadrícula
- Mètrica
5. Reducció de la dimensionalitat
La transferència de dades d'un espai d'alta dimensió a un espai de baixa dimensió perquè la representació de baixa dimensió preservi alguns aspectes significatius de les dades originals, idealment a prop de la seva dimensió inherent, es coneix com a reducció de dimensionalitat. El nombre de variables aleatòries per a l'anàlisi es redueix quan es redueix la dimensionalitat. Les dades periòdiques, per exemple, poden no ser considerades per millorar l'eficiència de les visualitzacions.
L'algorisme de reducció de la dimensionalitat inclou el següent:
- Selecció de funcions
- Anàlisi de components principals (PCA)
Instal·lació de Scikit-learn
Cal instal·lar NumPy, SciPy, Matplotlib, IPython, Sympy i Pandas abans d'utilitzar Scikit-learn. Instal·lem-los amb pip des de la consola (només funciona per a Windows).
Instal·lem Scikit-learn ara que hem instal·lat les biblioteques necessàries.
Característiques
Scikit-learn, de vegades conegut com sklearn, és un conjunt d'eines de Python per implementar models d'aprenentatge automàtic i modelatge estadístic. El podem utilitzar per crear múltiples models d'aprenentatge automàtic per a la regressió, la classificació i l'agrupació, així com eines estadístiques per avaluar aquests models. També inclou la reducció de la dimensionalitat, la selecció de característiques, l'extracció de característiques, enfocaments de conjunt i conjunts de dades integrats. Investigarem cadascuna d'aquestes qualitats una per una.
1. Importació de conjunts de dades
Scikit-learn inclou una sèrie de conjunts de dades preconstruïts, com ara el conjunt de dades d'iris, el conjunt de dades de preus de la casa, el conjunt de dades titànic, etc. Els avantatges clau d'aquests conjunts de dades són que són senzills d'entendre i es poden utilitzar per desenvolupar immediatament models de ML. Aquests conjunts de dades són adequats per als novells. De la mateixa manera, podeu utilitzar sklearn per importar conjunts de dades addicionals. De la mateixa manera, podeu utilitzar-lo per importar conjunts de dades addicionals.
2. Divisió del conjunt de dades per a la formació i les proves
Sklearn va incloure la capacitat de dividir el conjunt de dades en segments de formació i proves. Es requereix dividir el conjunt de dades per a una avaluació imparcial del rendiment de la predicció. Podem especificar quantes dades s'han d'incloure al conjunt de dades del tren i de la prova. Vam dividir el conjunt de dades mitjançant la divisió de proves de trens de manera que el conjunt de trens comprèn el 80% de les dades i el conjunt de proves en tingui un 20%. El conjunt de dades es pot dividir de la següent manera:
3. Regressió lineal
La regressió lineal és una tècnica d'aprenentatge automàtic basat en l'aprenentatge supervisat. Realitza un treball de regressió. A partir de variables independents, la regressió modela un valor de predicció d'objectius. S'utilitza principalment per determinar l'enllaç entre variables i predicció. Els diferents models de regressió es diferencien pel que fa al tipus de connexió que avaluen entre variables dependents i independents, així com pel nombre de variables independents utilitzades. Simplement podem crear el model de regressió lineal mitjançant sklearn de la següent manera:
4. Regressió logística
Un enfocament de categorització comú és la regressió logística. És de la mateixa família que la regressió polinòmica i lineal i pertany a la família de classificadors lineals. Les conclusions de la regressió logística són senzilles d'entendre i són ràpides de calcular. De la mateixa manera que la regressió lineal, la regressió logística és una tècnica de regressió supervisada. La variable de sortida és categòrica, de manera que aquesta és l'única diferència. Pot determinar si un pacient té o no una malaltia cardíaca.
Diversos problemes de classificació, com ara la detecció de correu brossa, es poden resoldre mitjançant la regressió logística. La previsió de la diabetis, determinar si un consumidor comprarà un producte específic o canviarà a un rival, determinar si un usuari farà clic en un enllaç de màrqueting específic i molts més escenaris són només alguns exemples.
5. Arbre de decisions
La tècnica de classificació i predicció més potent i àmpliament utilitzada és l'arbre de decisió. Un arbre de decisió és una estructura d'arbre que sembla un diagrama de flux, amb cada node intern que representa una prova d'un atribut, cada branca representa la conclusió de la prova i cada node fulla (node terminal) amb una etiqueta de classe.
Quan les variables dependents no tenen una relació lineal amb les variables independents, és a dir, quan la regressió lineal no produeix resultats correctes, els arbres de decisió són beneficiosos. L'objecte DecisionTreeRegression() es pot utilitzar de manera similar per utilitzar un arbre de decisions per a la regressió.
6. Bosc aleatori
Un bosc aleatori és a màquina d'aprenentatge enfocament per resoldre problemes de regressió i classificació. Fa ús de l'aprenentatge conjunt, que és una tècnica que combina múltiples classificadors per resoldre problemes complicats. Un mètode forestal aleatori està format per un gran nombre d'arbres de decisió. Es pot utilitzar per classificar les sol·licituds de préstec, detectar comportaments fraudulents i anticipar brots de malalties.
7. Matriu de confusió
Una matriu de confusió és una taula utilitzada per descriure el rendiment del model de classificació. Les quatre paraules següents s'utilitzen per examinar la matriu de confusió:
- Veritable positiu: significa que el model va projectar un resultat favorable i va ser correcte.
- Veritable negatiu: significa que el model va projectar un mal resultat i era correcte.
- Fals positiu: significa que el model esperava un resultat favorable, però realment era negatiu.
- Fals negatiu: significa que el model esperava un resultat negatiu, mentre que el resultat era realment positiu.
Implementació de la matriu de confusió:
pros
- És senzill d’utilitzar.
- El paquet Scikit-learn és extremadament adaptable i útil, i serveix per a objectius del món real, com ara la predicció del comportament del consumidor, el desenvolupament de neuroimatge, etc.
- Els usuaris que vulguin connectar els algorismes amb les seves plataformes trobaran documentació detallada de l'API al lloc web de Scikit-learn.
- Nombrosos autors, col·laboradors i una gran comunitat en línia a tot el món donen suport i mantenen Scikit-learn al dia.
Contres
- No és l'opció ideal per a un estudi en profunditat.
Conclusió
Scikit-learn és un paquet crític perquè tots els científics de dades tinguin una bona comprensió i una mica d'experiència. Aquesta guia us hauria d'ajudar amb la manipulació de dades amb sklearn. Hi ha moltes més capacitats de Scikit-learn que descobrireu a mesura que avanceu en la vostra aventura de ciència de dades. Comparteix els teus pensaments als comentaris.
Deixa un comentari