Scikit Learn - Introdução
Neste capítulo, entenderemos o que é Scikit-Learn ou Sklearn, origem do Scikit-Learn e alguns outros tópicos relacionados, como comunidades e colaboradores responsáveis pelo desenvolvimento e manutenção do Scikit-Learn, seus pré-requisitos, instalação e seus recursos.
O que é Scikit-Learn (Sklearn)
Scikit-learn (Sklearn) é a biblioteca mais útil e robusta para aprendizado de máquina em Python. Ele fornece uma seleção de ferramentas eficientes para aprendizado de máquina e modelagem estatística, incluindo classificação, regressão, agrupamento e redução de dimensionalidade por meio de uma interface de consistência em Python. Esta biblioteca, que é amplamente escrita em Python, é construída sobreNumPy, SciPy e Matplotlib.
Origem do Scikit-Learn
Foi originalmente chamado scikits.learn e foi inicialmente desenvolvido por David Cournapeau como um projeto de verão do código do Google em 2007. Mais tarde, em 2010, Fabian Pedregosa, Gael Varoquaux, Alexandre Gramfort e Vincent Michel, do FIRCA (Instituto Francês de Pesquisa em Ciência da Computação e Automação), tomaram este projeto em outro nível e fez o primeiro lançamento público (v0.1 beta) em 1º de fevereiro de 2010.
Vamos dar uma olhada em seu histórico de versões -
Maio de 2019: scikit-learn 0.21.0
Março de 2019: scikit-learn 0.20.3
Dezembro de 2018: scikit-learn 0.20.2
Novembro de 2018: scikit-learn 0.20.1
Setembro de 2018: scikit-learn 0.20.0
Julho de 2018: scikit-learn 0.19.2
Julho de 2017: scikit-learn 0.19.0
Setembro de 2016. scikit-learn 0.18.0
Novembro de 2015. scikit-learn 0.17.0
Março de 2015. scikit-learn 0.16.0
Julho de 2014. scikit-learn 0.15.0
Agosto de 2013. scikit-learn 0.14
Comunidade e colaboradores
O Scikit-learn é um esforço da comunidade e qualquer pessoa pode contribuir para isso. Este projeto está hospedado emhttps://github.com/scikit-learn/scikit-learn. As pessoas a seguir são atualmente os principais contribuintes para o desenvolvimento e manutenção do Sklearn -
Joris Van den Bossche (cientista de dados)
Thomas J Fan (desenvolvedor de software)
Alexandre Gramfort (pesquisador de aprendizado de máquina)
Olivier Grisel (especialista em aprendizado de máquina)
Nicolas Hug (cientista pesquisador associado)
Andreas Mueller (cientista em aprendizado de máquina)
Hanmin Qin (engenheiro de software)
Adrin Jalali (desenvolvedor de código aberto)
Nelle Varoquaux (pesquisadora de ciência de dados)
Roman Yurchak (cientista de dados)
Várias organizações como Booking.com, JP Morgan, Evernote, Inria, AWeber, Spotify e muitas outras estão usando o Sklearn.
Pré-requisitos
Antes de começarmos a usar a última versão do scikit-learn, exigimos o seguinte -
Python (> = 3,5)
NumPy (> = 1.11.0)
Scipy (> = 0,17,0) li
Joblib (> = 0,11)
Matplotlib (> = 1.5.1) é necessário para recursos de plotagem do Sklearn.
Pandas (> = 0.18.0) é necessário para alguns dos exemplos do scikit-learn usando estrutura e análise de dados.
Instalação
Se você já instalou o NumPy e o Scipy, a seguir estão as duas maneiras mais fáceis de instalar o scikit-learn -
Usando pip
O seguinte comando pode ser usado para instalar o scikit-learn via pip -
pip install -U scikit-learn
Usando conda
O seguinte comando pode ser usado para instalar o scikit-learn via conda -
conda install scikit-learn
Por outro lado, se o NumPy e o Scipy ainda não estiverem instalados em sua estação de trabalho Python, você pode instalá-los usando qualquer pip ou conda.
Outra opção para usar o scikit-learn é usar distribuições Python como Canopy e Anaconda porque ambos fornecem a versão mais recente do scikit-learn.
Características
Em vez de focar em carregar, manipular e resumir dados, a biblioteca Scikit-learn está focada em modelar os dados. Alguns dos grupos de modelos mais populares fornecidos pela Sklearn são os seguintes -
Supervised Learning algorithms - Quase todos os algoritmos de aprendizagem supervisionada populares, como regressão linear, máquina de vetores de suporte (SVM), árvore de decisão, etc., fazem parte do scikit-learn.
Unsupervised Learning algorithms - Por outro lado, ele também tem todos os algoritmos populares de aprendizagem não supervisionada de clustering, análise de fator, PCA (Análise de Componentes Principais) para redes neurais não supervisionadas.
Clustering - Este modelo é usado para agrupar dados não rotulados.
Cross Validation - É usado para verificar a precisão dos modelos supervisionados em dados não vistos.
Dimensionality Reduction - É usado para reduzir o número de atributos em dados que podem ser usados posteriormente para resumo, visualização e seleção de recursos.
Ensemble methods - Como o nome sugere, é usado para combinar as previsões de vários modelos supervisionados.
Feature extraction - É usado para extrair os recursos dos dados para definir os atributos nos dados de imagem e texto.
Feature selection - É usado para identificar atributos úteis para criar modelos supervisionados.
Open Source - É uma biblioteca de código aberto e também utilizável comercialmente sob a licença BSD.