Extração de Características com Scikit-Learn

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Neste laboratório, aprenderemos a realizar a extração de características utilizando a biblioteca scikit-learn. A extração de características é o processo de transformar dados brutos em características numéricas que podem ser usadas por algoritmos de aprendizagem de máquina. Envolve a extração de informações relevantes de diferentes tipos de dados, como texto e imagens.

Dicas da Máquina Virtual

Após o arranque da máquina virtual, clique no canto superior esquerdo para mudar para a aba Notebook para aceder ao Jupyter Notebook para a prática.

Por vezes, pode ser necessário esperar alguns segundos para o Jupyter Notebook terminar o carregamento. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se tiver problemas durante o aprendizado, não hesite em contactar o Labby. Forneça feedback após a sessão e resolveremos o problema rapidamente para si.

Carregamento de características de dicionários

Neste passo, aprenderemos a carregar características de dicionários utilizando a classe DictVectorizer na biblioteca scikit-learn.

from sklearn.feature_extraction import DictVectorizer

measurements = [
    {'city': 'Dubai', 'temperature': 33.},
    {'city': 'London', 'temperature': 12.},
    {'city': 'San Francisco', 'temperature': 18.},
]

vec = DictVectorizer()
features = vec.fit_transform(measurements).toarray()
feature_names = vec.get_feature_names_out()

print(features)
print(feature_names)

Hashing de Características

Neste passo, aprenderemos a realizar hashing de características utilizando a classe FeatureHasher na biblioteca scikit-learn. O hashing de características é uma técnica que mapeia características para um vetor de comprimento fixo utilizando uma função hash.

from sklearn.feature_extraction import FeatureHasher

movies = [
    {'category': ['thriller', 'drama'], 'year': 2003},
    {'category': ['animation', 'family'], 'year': 2011},
    {'year': 1974},
]

hasher = FeatureHasher(input_type='string')
hashed_features = hasher.transform(movies).toarray()

print(hashed_features)

Extração de Características de Texto

Neste passo, aprenderemos a realizar a extração de características de texto utilizando as classes CountVectorizer e TfidfVectorizer na biblioteca scikit-learn. Estas classes podem ser usadas para converter dados de texto em características numéricas.

from sklearn.feature_extraction.text import CountVectorizer

corpus = [
    'This is the first document.',
    'This is the second second document.',
    'And the third one.',
    'Is this the first document?',
]

vectorizer = CountVectorizer()
features = vectorizer.fit_transform(corpus).toarray()
feature_names = vectorizer.get_feature_names_out()

print(features)
print(feature_names)

Personalizando as classes de vetorização

Neste passo, aprenderemos como personalizar o comportamento das classes de vetorização passando funções executáveis para elas.

def my_tokenizer(s):
    return s.split()

vectorizer = CountVectorizer(tokenizer=my_tokenizer)
features = vectorizer.fit_transform(corpus).toarray()

print(features)

Resumo

Neste laboratório, aprendemos como realizar a extração de características utilizando a biblioteca scikit-learn. Exploramos diversas técnicas, como carregar características de dicionários, hashing de características e extração de características de texto. Também aprendemos como personalizar o comportamento das classes de vetorização para atender às nossas necessidades específicas. A extração de características é uma etapa importante no aprendizado de máquina, pois ajuda a transformar dados brutos em um formato que pode ser usado por algoritmos para fazer previsões ou classificar dados.