Quick Start #04 · Exemplo 02scikit-learn
/ Compras + classificação de texto

Classifique compras.
Automaticamente.

Treine um modelo com compras históricas já categorizadas. Depois, entregue novas descrições e receba a categoria prevista, a confiança e a decisão de automatizar ou revisar.

TF-IDFLogisticRegressionNLPExcel
category
/ O problema corporativo

Descrições chegam livres. O sistema precisa organizar.

Uma compra pode chegar como “licença Microsoft 365”, “passagem para reunião com cliente” ou “toner para impressora”. O classificador aprende com exemplos anteriores e transforma texto livre em uma categoria padronizada.

text_fields

Texto livre

A descrição da compra é a entrada do modelo.

data_object

TF-IDF

Palavras e trechos viram características numéricas.

psychology

Classificador

LogisticRegression aprende os padrões por categoria.

fact_check

Confiança

Previsões abaixo do limite seguem para revisão humana.

verified_user

Automação com controle: neste exemplo, confiança abaixo de 60% recebe “Revisar categoria”. Em produção, o limite deve ser calibrado com dados reais e com o custo de uma classificação incorreta.

01

Transforme texto em números

caracteristicas = FeatureUnion([ ("palavras", TfidfVectorizer(ngram_range=(1, 2))), ("trechos", TfidfVectorizer( analyzer="char_wb", ngram_range=(3, 5) )), ])

O exemplo combina palavras inteiras e pequenos trechos de caracteres. Isso ajuda a reconhecer descrições semelhantes mesmo quando o texto não é idêntico.

02

Treine com compras conhecidas

modelo = Pipeline([ ("texto", caracteristicas), ("classificador", LogisticRegression( max_iter=4000, C=4, random_state=42 )), ]) modelo.fit(X_treino, y_treino)
03

Meça antes de automatizar

previsoes = modelo.predict(X_teste) acuracia = accuracy_score(y_teste, previsoes) print(f"Acurácia: {acuracia:.1%}")
Nesta base didática: este conjunto foi construído com categorias deliberadamente claras, por isso o split do tutorial pode chegar a 100% nesta base didática. Isso demonstra o processo e não representa desempenho esperado em dados reais.
04

Classifique e use confiança

categorias = modelo.predict(novas["Descricao"]) probabilidades = modelo.predict_proba(novas["Descricao"]) confianca = probabilidades.max(axis=1) decisao = [ "Automático" if p >= 0.60 else "Revisar categoria" for p in confianca ]
05

Exemplo de saída

CompraCategoriaConfiançaDecisão
Licença Microsoft 365Tecnologia86,7%Automático
Passagem para reunião com clienteViagens95,1%Automático
Reparo hidráulicoManutenção96,4%Automático
Em produção: inclua exemplos reais, acompanhe erros por categoria e ajuste o limite de confiança. O fluxo mais seguro é automatizar casos claros e enviar os ambíguos para revisão.