Conceitos do Scikit-learn
A biblioteca scikit-learn (importada como sklearn
) oferece diversas funções e classes para pré-processamento de dados e modelagem. Os principais objetos do sklearn
são estimator, transformer, predictor e model.
Estimator
Toda classe do sklearn
que possui o método .fit()
é considerada um estimator. O método .fit()
permite que um objeto aprenda a partir dos dados.
Em outras palavras, o método .fit()
serve para treinar um objeto. Ele recebe os parâmetros X
e y
(y
é opcional para tarefas de aprendizado não supervisionado).
estimator.fit(X, y) # For supervised learning tasks
estimator.fit(X) # For unsupervised learning tasks
Não é muito útil se um objeto apenas aprende com os dados sem produzir nenhum resultado. Mais práticos são os dois tipos de objetos que herdam do estimator: o transformer e o predictor.
Transformador
Um transformador possui o método .fit()
e o método .transform()
, que transforma os dados de alguma forma.
Normalmente, os transformadores precisam aprender algo a partir dos dados antes de transformá-los, então é necessário aplicar .fit()
e depois .transform()
. Para evitar isso, os transformadores também possuem o método .fit_transform()
.
.fit_transform()
leva ao mesmo resultado que aplicar .fit()
e .transform()
sequencialmente, mas às vezes é mais rápido, sendo preferível ao uso de .fit().transform()
.
transformer.fit(X) # Train the transformer
transformer.transform(X) # Transform the data using an already trained transformer
transformer.fit_transform(X) # Train the transformer and transform the data
Transformadores geralmente são usados para transformar o array X
. No entanto, como veremos no exemplo do LabelEncoder
, alguns transformadores são feitos para o array y
.
Valores nan
exibidos no conjunto de treinamento na imagem indicam dados ausentes em Python.
Preditor
Um preditor é um estimador (possui o método .fit()
) que também possui o método .predict()
. O método .predict()
é utilizado para realizar previsões.
predictor.fit(X, y) # Training the predictor
predictor.predict(X_new) # Predicting the target for new instances once the predictor is trained.
Modelo
Um modelo é um tipo de preditor que também inclui o método .score()
. Esse método calcula uma pontuação (métrica) para medir o desempenho do preditor.
model.fit(X, y) # Train the model
model.score(X, y) # Calculate a score for the trained model on X, y set.
Como mencionado no capítulo anterior, acurácia é uma métrica que representa a porcentagem de previsões corretas.
A etapa de pré-processamento envolve o uso de transformadores, enquanto trabalhamos com preditores (mais especificamente com modelos) na etapa de modelagem.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 3.13
Conceitos do Scikit-learn
Deslize para mostrar o menu
A biblioteca scikit-learn (importada como sklearn
) oferece diversas funções e classes para pré-processamento de dados e modelagem. Os principais objetos do sklearn
são estimator, transformer, predictor e model.
Estimator
Toda classe do sklearn
que possui o método .fit()
é considerada um estimator. O método .fit()
permite que um objeto aprenda a partir dos dados.
Em outras palavras, o método .fit()
serve para treinar um objeto. Ele recebe os parâmetros X
e y
(y
é opcional para tarefas de aprendizado não supervisionado).
estimator.fit(X, y) # For supervised learning tasks
estimator.fit(X) # For unsupervised learning tasks
Não é muito útil se um objeto apenas aprende com os dados sem produzir nenhum resultado. Mais práticos são os dois tipos de objetos que herdam do estimator: o transformer e o predictor.
Transformador
Um transformador possui o método .fit()
e o método .transform()
, que transforma os dados de alguma forma.
Normalmente, os transformadores precisam aprender algo a partir dos dados antes de transformá-los, então é necessário aplicar .fit()
e depois .transform()
. Para evitar isso, os transformadores também possuem o método .fit_transform()
.
.fit_transform()
leva ao mesmo resultado que aplicar .fit()
e .transform()
sequencialmente, mas às vezes é mais rápido, sendo preferível ao uso de .fit().transform()
.
transformer.fit(X) # Train the transformer
transformer.transform(X) # Transform the data using an already trained transformer
transformer.fit_transform(X) # Train the transformer and transform the data
Transformadores geralmente são usados para transformar o array X
. No entanto, como veremos no exemplo do LabelEncoder
, alguns transformadores são feitos para o array y
.
Valores nan
exibidos no conjunto de treinamento na imagem indicam dados ausentes em Python.
Preditor
Um preditor é um estimador (possui o método .fit()
) que também possui o método .predict()
. O método .predict()
é utilizado para realizar previsões.
predictor.fit(X, y) # Training the predictor
predictor.predict(X_new) # Predicting the target for new instances once the predictor is trained.
Modelo
Um modelo é um tipo de preditor que também inclui o método .score()
. Esse método calcula uma pontuação (métrica) para medir o desempenho do preditor.
model.fit(X, y) # Train the model
model.score(X, y) # Calculate a score for the trained model on X, y set.
Como mencionado no capítulo anterior, acurácia é uma métrica que representa a porcentagem de previsões corretas.
A etapa de pré-processamento envolve o uso de transformadores, enquanto trabalhamos com preditores (mais especificamente com modelos) na etapa de modelagem.
Obrigado pelo seu feedback!