evalMLMethod
evalMLMethod. Veja o link em linearRegression.
stochasticLinearRegression
evalMLMethod para fazer previsões em novos dados.
stochasticLogisticRegression
evalMLMethod para fazer previsões com novos dados.
naiveBayesClassifier
model_name— Nome do modelo pré-configurado. String O modelo deve estar definido nos arquivos de configuração do ClickHouse (veja abaixo).input_text— Texto a ser classificado. String A entrada é processada exatamente como foi fornecida (com maiúsculas/minúsculas e pontuação preservadas).
- ID da classe prevista como um inteiro sem sinal. UInt32 Os IDs de classe correspondem às categorias definidas durante a criação do modelo.
0 pode representar inglês, enquanto 1 pode indicar francês — o significado das classes depende dos seus dados de treinamento.
Detalhes de implementação
- Suporta n-gramas de qualquer tamanho
- Três modos de tokenização:
byte: Opera sobre bytes brutos. Cada byte é um token.codepoint: Opera sobre valores escalares Unicode decodificados de UTF‑8. Cada ponto de código é um token.token: Separa por sequências de espaços em branco Unicode (regex \s+). Os tokens são substrings sem espaços em branco; a pontuação faz parte do token se estiver adjacente (por exemplo, “you?” é um único token).
Configuração do modelo
Guia de Treinamento do Modelo
Formato do Arquivo
Em formato legível por humanos, para
n=1 e o modo token, o modelo pode se parecer com isto:
n=3 e o modo codepoint, pode ser assim:
class_idde 4 bytes (UInt, little-endian)- comprimento, em bytes, do
n-gramde 4 bytes (UInt, little-endian) - bytes brutos do
n-gram countde 4 bytes (UInt, little-endian)
mode e n. As etapas a seguir descrevem esse pré-processamento:
-
Adicione marcadores de delimitação no início e no fim de cada documento com base no modo de tokenização:
- Byte:
0x01(início),0xFF(fim) - Codepoint:
U+10FFFE(início),U+10FFFF(fim) - Token:
<s>(início),</s>(fim)
(n - 1)tokens são adicionados tanto no início quanto no fim do documento. - Byte:
-
Exemplo para
n=3no modotoken:- Documento:
"ClickHouse is fast" - Processado como:
<s> <s> ClickHouse is fast </s> </s> - Trigramas gerados:
<s> <s> ClickHouse<s> ClickHouse isClickHouse is fastis fast </s>fast </s> </s>
- Documento:
byte e codepoint, pode ser conveniente primeiro tokenizar o documento em tokens (uma lista de bytes para o modo byte e uma lista de codepoints para o modo codepoint). Em seguida, acrescente n - 1 tokens de início no início e n - 1 tokens de fim no final do documento. Por fim, gere os n-gramas e grave-os no arquivo serializado.
evalMLMethod
model— O modelo de machine learning treinado.AggregateFunctionStatex1, x2, ...— Valores das características para a predição.Float*ou(U)Int*
Float64
Exemplos
Exemplo de uso
Query
Response
naiveBayesClassifier
NAIVE_BAYES Dicionário. Retorna o mesmo valor de classe previsto por dictGet(dictionary_name, class_attribute, input_text), em que class_attribute é o nome do atributo do rótulo de classe configurado no layout do dicionário. Diferentemente de dictGet, o tipo do resultado é sempre UInt32, em vez do tipo declarado do atributo de classe, e input_text deve ser uma String (nenhuma conversão do tipo de chave é aplicada).
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
dictionary_name— Nome de um dicionário com o layout NAIVE_BAYES.Stringinput_text— Texto a ser classificado.String
UInt32
Exemplos
Classificação de texto
Query
Response
naiveBayesClassifierWithAllProbs
NAIVE_BAYES e retorna todas as classes com suas probabilidades, em ordem da mais provável para a menos provável.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
dictionary_name— Nome de um dicionário com o layout NAIVE_BAYES.Stringinput_text— Texto a ser classificado.String
(class_id, probability) ordenadas da mais provável para a menos provável. Array(Tuple(UInt32, Float64))
Exemplos
Todas as probabilidades de classe
Query
Response
naiveBayesClassifierWithProb
NAIVE_BAYES e retorna a classe predita com sua probabilidade.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
dictionary_name— Nome de um dicionário com o layout NAIVE_BAYES.Stringinput_text— Texto a ser classificado.String
Tuple(UInt32, Float64)
Exemplos
Classificação com probabilidade
Query
Response