Skip to content

Latest commit

 

History

History
143 lines (97 loc) · 3.43 KB

FR.md

File metadata and controls

143 lines (97 loc) · 3.43 KB

##Dataset

####DatasetItem

class DatasetItem
{
    public sample

    loadFromFile(filename)  // Effectue le pre-processing
    loadFromImage(image)    // Effectue le pre-processing
}

sample : Tableau d'une dimension, contenant toutes les valeurs des pixels de chaque ligne de l'image après pre-processing.

[ [0 1 0 0]
  [0 1 0 0]
  [0 3 2 0]    =  [0 1 0 0 0 1 0 0 0 3 2 0 0 0 0 0]
  [0 0 0 0] ]

####Dataset

class Dataset
{
    public testSamples          // Disponible après le pre-processing
    public trainSamples         // Disponible après le pre-processing
    public trainResponses       // Disponible après le pre-processing
    public testResponses        // Disponible après le pre-processing
    public trainSampleCount     // Disponible après le pre-processing
    public testSampleCount      // Disponible après le pre-processing
    public classCount       // Nombre de classifications
    public maxPerClass      // Nombre maximum de samples par classe

    Dataset(folders)
    preprocess(trainRatio)

    getResponse(n)  // Retourne le label de la n-ième classification
}

folders (hash table) :

'a': 'dataset/a_small'
'b': 'dataset/b_small'

preprocess() : Créé un DatasetItem et appelle DatasetItem.loadFromFile() pour chaque image dans le dossier.


Exemple :

Classes = [a b c d]

Dataset = [a b b c d d]

samples =     [ [9 2 0 3 5 7]   // a
                [2 1 0 4 3 4]   // b
                [1 1 0 3 8 9]   // b
                [2 3 4 0 2 5]   // c
                [0 1 0 4 8 6]   // d
                [1 0 1 4 3 0] ] // d

responses =   [ [1 0 0 0]   // a
                [0 1 0 0]   // b
                [0 1 0 0]   // b
                [0 0 1 0]   // c
                [0 0 0 1]   // d
                [0 0 0 1] ] // d

##OCR

class OCR
{
    saveModel(filename)
    loadModel(filename, type, flags)
    trainModel(type, flags, trainRatio, maxPerClass, verbose)

    charFromImage() // Disponible après 'loadModel' ou 'trainModel'
    charFromFile() // Disponible après 'loadModel' ou 'trainModel'

    static generateFolderList(flags)
}

Génère une liste de dossier et créé un Dataset à partir de cette liste.

type est le type de modèle de classification

flags = LETTERS | DIGITS | SYMBOLS

trainRatio est le ratio entre les échantillons de test et d'entraînement.

maxPerClass est le nombre maximum d'échantillons par classe.


##Models

class AbstractModel
{
    load()
    save()
    train()
    predict()
}

class ANN : AbstractModel
{
    train(samples, responses)
    predict(samples)
}

class KNearest : AbstractModel
{
    train(samples, responses)
    predict(samples)
}

##Analyse

Exemple : (1, 1, 2, *2*, 4, 6, 9)

  • Moyenne : 3.6

  • Médiane : 2

    Ecarts absolu (par rapport à la médiane) : (1, 1, 0, 0, 2, 4, 7)

Triés : (0, 0, 1, *1*, 2, 4, 7)

  • Ecart médian absolu = 1

La moitié des valeurs a un écart de moins de 1 avec la médiane et l'autre moitié a un écart de plus de 1 avec la médiane

  • Coefficient de variation = écart type / moyenne

    Permet de comparer des écart type indépendamment du nombre d'éléments