Você está na página 1de 5

K-star

K*: An Instance-based Learner Using an Entropic Distance Measure

Por que?

A maioria dos algoritmos de aprendizagem baseados em exemplos são projetados para lidar com
atributos simbólicos tem dificuldade em domínios de valores reais. Os sistemas projetados para
trabalhar com valores reais são estendidos para lidar com atributos simbólicos de forma especifica.

Um problema semelhante, é tratar os missing values como valores separados, trata-los de forma
diferente, substituindo pelo valor médio ou simplesmente ignorando.

Como resolver?

O uso de entropia como medida de distancia tem vantagens como uma consistente abordagem para
tratar atributos simbólicos, de valores reais e missing values.

Então, o Kstar lida com esses problemas, fazendo uma abordagem unificada, utilizando a entropia
como medida de distancia entre as instancias.

Bom algoritmo de Classificação:

Um bom algoritmo de classificação deve apresentar:

Uma função de similaridade suave – presença de sulcos ou descontinuidades, ou seja, tolerância,


evitando grandes saltos para pequenas mudanças na BD.

Lidar com dados parciais – os domínios do mundo real contem valores em falta e ignorar as
ocorrências que contém valores em falta é jogar fora informação útil contida nos outros valores.

Ser capaz de prever valores reais – normalmente são previstos apenas valores simbólicos.
Função de Similaridade

A distancia entre as instancias será definida pela complexidade em transformar um exemplo para o
outro. Para isso existem duas etapas:

1 – É definido um conjunto finito de programas (sequencia de transformações de ‘a’ para


chegar em ‘b’).

2 – Tais programas são feitos “prefixos livres”, acrescentando um símbolo para cada string.

A distancia entre dois casos vai ser definido como o tamanho da menor string que representa o
programa de transformação

PROBLEMA: Se concentra em uma única sequencia de transformações (a mais curta), sendo muito
sensível a alterações, implicando no problema da suavidade.

A solução para este problema é utilizar a soma de todas as transformações, porém utilizar o
somatório seria incorreto e é mais complexo que utilizar a média.

Probabilidade associada a regra de Kraft

Essa solução é baseada na utilização com sucesso na definição de similaridade entre sequencias de
DNA:

-Testes comprovaram que utilizar todas as transformações mutacionais entre duas cordas ai invés
do único caminho mais curto fornece uma medida entre duas sequencias de DNA mais forte e
realista
Teste
=== Run information ===

Scheme: weka.classifiers.lazy.KStar -B 98 -M a
Relation: BS_DOMINGO_TRN-weka.filters.unsupervised.attribute.NumericToNominal-R77-
weka.filters.unsupervised.attribute.NumericToNominal-R3-11-
weka.filters.unsupervised.attribute.NumericToNominal-R21-weka.filters.unsupervised.attribute.NumericToNominal-
R21-23
Instances: 7511
Attributes: 77
DURATION_MAX
LASTORDER_MAX
STARTHOUR_1
STARTHOUR_2
STARTHOUR_3
STARTHOUR_4
STARTHOUR_5
STARTHOUR_6
TURNO_1
TURNO_2
TURNO_3
DURATION
CCOUNT
CMINPRICE
CMAXPRICE
CSUMPRICE
BCOUNT
BMINPRICE
BMAXPRICE
BSUMPRICE
BSTEP
ONLINESTATUS_1
AVAILABILITY_1
MAXVAL
CUSTOMERSCORE
ACCOUNTLIFETIME
PAYMENTS
AGE
ADDRESS
LASTORDER
QTD_SESSION
MIN_STARTHOUR
MIN_CCOUNT
MAX_CCOUNT
MIN_CMAXPRICE
MAX_CMAXPRICE
MIN_CMINPRICE
MAX_CMINPRICE
MIN_CSUMPRICE
MAX_CSUMPRICE
MIN_BCOUNT
MAX_BCOUNT
MIN_BMINPRICE
MAX_BMINPRICE
MIN_BMAXPRICE
MAX_BMAXPRICE
MIN_BSUMPRICE
MAX_BSUMPRICE
MIN_BSTEP
MAX_BSTEP
QTD_SESSION_ALL
BS_CLI_QTD_SESSION_DISTINCT_ALL
BS_CLI_AVG_DURATION_SESSION_ALL
BS_CLI_MIN_DURATION_SESSION_ALL
BS_CLI_MAX_DURATION_SESSION_ALL
BS_CLI_AVG_CCOUNT_SESSION_ALL
BS_CLI_MIN_CCOUNT_SESSION_ALL
BS_CLI_MAX_CCOUNT_SESSION_ALL
BS_CLI_AVG_BSUMPRICE_SESSION_ALL
BS_CLI_MIN_BSUMPRICE_SESSION_ALL
BS_CLI_MAX_BSUMPRICE_SESSION_ALL
BS_CLI_AVG_MAXVAL_SESSION_ALL
BS_CLI_MIN_MAXVAL_SESSION_ALL
BS_CLI_MAX_MAXVAL_SESSION_ALL
BS_CLI_QTD_SESSION_ALL_DISTI_MANHA
BS_CLI_QTD_SESSION_ALL_DISTI_TARDE
BS_CLI_QTD_SESSION_ALL_TARDE
BS_CLI_QTD_SESSION_ALL_DISTI_NOITE
BS_CLI_QTD_SESSION_ALL_NOITE
BS_CLI_QTD_SESSION_ALL_DISTI_MADRUGADA
BS_CLI_QTD_SESSION_ALL_MADRUGADA
BS_CLI_MIN_PGTO
BS_CLI_MAX_PGTO
BS_CLI_QTD_PGTO_1
BS_CLI_QTD_PGTO_2
BS_CLI_QTD_PGTO_3
CLASSE_1
Test mode: user supplied test set: size unknown (reading incrementally)

=== Classifier model (full training set) ===

KStar Beta Verion (0.1b).


Copyright (c) 1995-97 by Len Trigg (trigg@cs.waikato.ac.nz).
Java port to Weka by Abdelaziz Mahoui (am14@cs.waikato.ac.nz).

KStar options : -B 98 -M a
Time taken to build model: 0.01 seconds

=== Evaluation on test set ===

Time taken to test model on supplied test set: 457.01 seconds

=== Summary ===

Correctly Classified Instances 1703 85.1926 %


Incorrectly Classified Instances 296 14.8074 %
Kappa statistic 0.6763
Mean absolute error 0.3707
Root mean squared error 0.3937
Relative absolute error 74.1661 %
Root relative squared error 78.7597 %
Coverage of cases (0.95 level) 100 %
Mean rel. region size (0.95 level) 98.9745 %
Total Number of Instances 1999

=== Detailed Accuracy By Class ===

TP Rate FP Rate Precision Recall F-Measure MCC ROC Area PRC Area Class
0,748 0,086 0,838 0,838 0,838 0,679 0,900 0,868 0
0,914 0,252 0,859 0,859 0,859 0,679 0,900 0,923 1
Weighted Avg. 0,852 0,190 0,851 0,852 0,850 0,679 0,900 0,903

=== Confusion Matrix ===

a b <-- classified as
557 188 | a = 0
108 1146 | b = 1

Você também pode gostar