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.