# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-11-25 07:27
from __future__ import unicode_literals

from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='SpamFilter',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, verbose_name='Name')),
                ('bow_enconding', models.CharField(default='utf-8', help_text='Encoding to be used to decode.', max_length=20, verbose_name='BoW encoding')),
                ('bow_decode_error', models.CharField(choices=[('strict', 'Strict'), ('ignore', 'Ignore'), ('replace', 'Replace')], default='strict', help_text='Instruction on what to do if a byte sequence is given to analyze that contains characters not of the given encoding. By default, it is ‘strict’, meaning that a UnicodeDecodeError will be raised. Other values are ‘ignore’ and ‘replace’.', max_length=20, verbose_name='BoW Decode Error')),
                ('bow_strip_accents', models.CharField(blank=True, choices=[('ascii', 'ASCII'), ('unicode', 'Unicode')], default=None, help_text='Remove accents during the preprocessing step. ‘ascii’ is a fast method that only works on characters that have an direct ASCII mapping. ‘unicode’ is a slightly slower method that works on any characters. None (default) does nothing.', max_length=20, null=True, verbose_name='BoW Strip Accents')),
                ('bow_analyzer', models.CharField(choices=[('word', 'Word'), ('char', 'Character'), ('char_wb', 'Characters in Word-Boundaries')], default='word', help_text='Whether the feature should be made of word or character n-grams. Option ‘char_wb’ creates character n-grams only from text inside word boundaries; n-grams at the edges of words are padded with space.', max_length=20, verbose_name='BoW Analyzer')),
                ('bow_ngram_range', models.CharField(choices=[('word', 'Word'), ('char', 'Character'), ('char_wb', 'Characters in Word-Boundaries')], default='1, 1', help_text='The lower and upper boundary of the range of n-values for different n-grams to be extracted (comma-separated). All values of n such that min_n <= n <= max_n will be used.', max_length=20, verbose_name='BoW n-gram Range')),
                ('bow_stop_words', models.TextField(blank=True, default=None, help_text='If ‘english’, a built-in stop word list for English is used. If a comma-separated string, that list is assumed to contain stop words, all of which will be removed from the resulting tokens. Only applies if analyzer == ´word´. If None, no stop words will be used. max_df can be set to a value in the range [0.7, 1.0) to automatically detect and filter stop words based on intra corpus document frequency of terms.', null=True, verbose_name='BoW n-gram Range')),
                ('bow_max_df', models.FloatField(default='1.0', help_text='When building the vocabulary ignore terms that have a document frequency strictly higher than the given threshold (corpus-specific stop words). If float, the parameter represents a proportion of documents, integer absolute counts. This parameter is ignored if vocabulary is not None.', verbose_name='BoW Maximum Document Frequency')),
                ('bow_min_df', models.FloatField(default='1.0', help_text='When building the vocabulary ignore terms that have a document frequency strictly lower than the given threshold. This value is also called cut-off in the literature. If float, the parameter represents a proportion of documents, integer absolute counts. This parameter is ignored if vocabulary is not None.', verbose_name='BoW Minimum Document Frequency')),
                ('bow_max_features', models.IntegerField(blank=True, default=None, help_text='If not None, build a vocabulary that only consider the top max_features ordered by term frequency across the corpus.  This parameter is ignored if vocabulary is not None.', null=True, verbose_name='BoW Maximum Features')),
                ('bow_vocabulary', models.TextField(blank=True, default=None, help_text='Either a Mapping (e.g., a dict) where keys are terms and values are indices in the feature matrix, or an iterable over terms. If not given, a vocabulary is determined from the input documents. Indices in the mapping should not be repeated and should not have any gap between 0 and the largest index.', null=True, verbose_name='BoW Vocabulary')),
                ('bow_binary', models.BooleanField(default=False, help_text='If True, all non zero counts are set to 1. This is useful for discrete probabilistic models that model binary events rather than integer counts.', verbose_name='BoW Binary')),
            ],
            options={
                'verbose_name': 'Spam Filter',
                'verbose_name_plural': 'Spam Filters',
            },
        ),
    ]
