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.
Conforme 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
Can you explain the difference between a transformer and a predictor?
What are some common examples of transformers and predictors in scikit-learn?
How do I choose which scikit-learn object to use for my task?
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.
Conforme 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!