image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
João Alves
João Alves08/04/2024 23:43
Compartilhe

Sklearn: Um guia simples para começar suas Análises em Machine Learning

  • #Machine Learning
  • #Python

Sobre a biblioteca:

Você já ouviu falar da biblioteca Scikit-learn? Também conhecida como Sklearn, é uma ferramenta poderosa e acessível para quem está iniciando no mundo do machine learning. Com uma variedade de algoritmos e funcionalidades intuitivas, ela simplifica significativamente o processo de construção e treinamento de modelos de ML.

image

O que é o Aprendizado de máquina (Machine Learning):

O aprendizado de máquina é uma técnica de inteligência artificial que permite aos computadores aprenderem padrões a partir de dados e fazerem previsões ou tomar decisões com base nesses padrões. É como ensinar um computador a reconhecer padrões em dados, como por exemplo reconhecer a diferença entre fotos de gatos e cachorros, ou então que em épocas de frio certas roupas ficam mais caras.

image

Principais funcionalidades e apoio de outras bibliotecas para facilitar:

A bilbioteca Sklearn oferece uma variedade de funcionalidades, desde pré-processamento de dados até a avaliação de modelos. Além disso, ela se integra bem com outras bibliotecas populares como NumPy e Pandas, facilitando ainda mais o trabalho com dados e modelagem.

image

Processo de toda a análise (passo a passo):

O processo de análise de dados com Scikit-learn geralmente segue alguns passos simples e claros. Começamos com a preparação dos dados, passando pela seleção e treinamento do modelo, até a avaliação do seu desempenho. Cada etapa é guiada por funções e métodos intuitivos da biblioteca que podem ser auxiliados com outras bibliotecas também.

  • Preparação dos Dados: Nesta etapa, verificamos a integridade dos dados, tratamos valores ausentes e os organizamos. Dividimos os dados em conjuntos de treinamento e teste para que o modelo possa aprender e ser avaliado corretamente.
  • Seleção e Treinamento: Escolhemos entre os diversos algoritmos disponíveis na biblioteca e os treinamos com os dados do conjunto de treinamento para que possam aprender padrões e realizar previsões.
  • Avaliação do Desempenho: Utilizamos métricas como precisão que seria feita pela função .score(), recall e F1-score para avaliar o desempenho dos modelos, comparando suas previsões com os dados de teste. E todas as formas de avaliação estão disponíveis de forma clara e com exemplos na documentação de como aplicar.

image

Conclusão e recursos adicionais:

Espero ter esclarecido alguns aspectos sobre o tema, incentivando possíveis leitores a realizarem seu primeiro projeto com machine learning. A simplicidade de uso e documentação intuitiva tornam essa biblioteca uma escolha bem popular. Depois de conhecer um pouco da teoria, recomendo conferir meu outro artigo, onde exploro um pouco na prática (sendo um aspirante à analista de dados júnior) de como é feita uma análise de NPL e ML com a biblioteca Scikit-learn, NPL é uma técnica utilizada para analisar a escrita humana e retirar informações relevantes, neste outro artigo treinei diferentes modelos para classificar postagens em redes sociais com base em sinais de estresse dos autores, um tema bem delicado e importante de se trabalhar nos dias de hoje.

image

Compartilhe
Comentários (2)
João Alves
João Alves - 09/04/2024 19:08

no começo quando eu estava estudando a biblioteca, olhava para esses códigos com ML e dava um medo de não conseguir entender como funciona, esse do seu exemplo tem uma parte que estou aprendendo agora inclusive que é o "seed", parece tudo muito complexo, mas com uma ajudinha fica bem tranquilo, vlw pela contribuição!

Carlos Lima
Carlos Lima - 09/04/2024 00:16

Excelente João, esses dias estava no Replit e havia transferido um modelo base para o Titanic, exemplifica o que escreveu com código:

# 0. import basics
import pandas as pd
import numpy as np


from sklearn.model_selection import train_test_split


from sklearn.preprocessing import OneHotEncoder
from sklearn.model_selection import GridSearchCV
from sklearn.pipeline import Pipeline
from sklearn.svm import SVC


from sklearn.metrics import accuracy_score
from sklearn.metrics import classification_report




URL = 'train.csv'
SEED = 101
TARGET = 'Sex'


# 1. load
load = pd.read_csv(URL)


# 2. features e labels
X, y = load.drop(TARGET, axis=1), load[TARGET]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20, random_state=SEED)
# 3. modelo
model = SVC()


# 4. pipeline
pipe = Pipeline(
  steps=[
      ('encoder', OneHotEncoder(handle_unknown='ignore')), 
      ('svc', model)])


grid = GridSearchCV(estimator=pipe, param_grid={'svc__C': [i+1 for i in range(1, 10)]}, cv=5)


# 5. treino
grid.fit(X_train, y_train)


# evaluation
y_hat = grid.predict(X_test)
report = classification_report(y_test, y_hat)
print(report)