<reponame>ice-melt/python-lib
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
@Author     : <EMAIL>
@File       : nlp-6-1-sex_identification_errorlist.py
@Time       : 2019/4/23 17:38
@Version    : 1.0  
@Desc       : None
"""
from nltk.corpus import names
import random
import nltk

# 定义一个特征提取器,同时准备一些例子和与其对应的类标签
names = ([(name, 'male') for name in names.words('male.txt')] +
         [(name, 'female') for name in names.words('female.txt')])
random.shuffle(names)

train_names = names[1500:]  # 训练模型
devtest_names = names[500:1500]  # 执行错误分析
test_names = names[:500]  # 系统的最终评估


# 函数返回的字典-特征集
def gender_features(word):
    # return {'suffix1': word[-1:]}
    return {'suffix1': word[-1:],
            'suffix2': word[-2:]}


train_set = [(gender_features(n), g) for (n, g) in train_names]
devtest_set = [(gender_features(n), g) for (n, g) in devtest_names]
test_set = [(gender_features(n), g) for (n, g) in test_names]
classifier = nltk.NaiveBayesClassifier.train(train_set)


# 评估
def evaluation(clsfir, tst_set):
    acc = nltk.classify.accuracy(clsfir, tst_set)
    print('测试集的精度为%4f' % acc)
    return acc


evaluation(classifier, devtest_set)

# 使用开发测试集生成分类器在预测名字性别时出现的错误列表
errors = []
for (name, tag) in devtest_names:
    guess = classifier.classify(gender_features(name))
    if guess != tag:
        errors.append((tag, guess, name))
for (tag, guess, name) in sorted(errors):
    print('correct=%-8s guess=%-8s name=%-30s' % (tag, guess, name))


# ======================= output111 ==================================
# ===================== 特征集中使用2个的特征进行训练,结果如下:
# 测试集的精度为0.758000
# correct=female   guess=male     name=Aeriell
# correct=female   guess=male     name=Allyson
# correct=female   guess=male     name=Ambur
# correct=female   guess=male     name=Ardeen
# correct=female   guess=male     name=Ardys
# correct=female   guess=male     name=Ariel
# correct=female   guess=male     name=Arlen
# correct=female   guess=male     name=Arlyn
# correct=female   guess=male     name=Astrix
# correct=female   guess=male     name=Averil
# correct=female   guess=male     name=Ayn
# correct=female   guess=male     name=Beau
# correct=female   guess=male     name=Bel
# correct=female   guess=male     name=Brett
# correct=female   guess=male     name=Brier
# correct=female   guess=male     name=Brigit
# correct=female   guess=male     name=Brooks
# correct=female   guess=male     name=Caitlin
# correct=female   guess=male     name=Carolynn
# correct=female   guess=male     name=Ceil
# correct=female   guess=male     name=Charil
# correct=female   guess=male     name=Charlot
# correct=female   guess=male     name=Chloris
# correct=female   guess=male     name=Ciel
# correct=female   guess=male     name=Coriss
# correct=female   guess=male     name=Cris
# correct=female   guess=male     name=Cristal
# correct=female   guess=male     name=Cybil
# correct=female   guess=male     name=Darell
# correct=female   guess=male     name=Debor
# correct=female   guess=male     name=Delores
# correct=female   guess=male     name=Deloris
# correct=female   guess=male     name=Dot
# correct=female   guess=male     name=Drew
# correct=female   guess=male     name=Emmalyn
# correct=female   guess=male     name=Erinn
# correct=female   guess=male     name=Ethel
# correct=female   guess=male     name=Ethelin
# correct=female   guess=male     name=Ethyl
# correct=female   guess=male     name=Fawn
# correct=female   guess=male     name=Gabriel
# correct=female   guess=male     name=Gen
# correct=female   guess=male     name=Germain
# correct=female   guess=male     name=Gill
# correct=female   guess=male     name=Glynnis
# correct=female   guess=male     name=Gretchen
# correct=female   guess=male     name=Harriet
# correct=female   guess=male     name=Harriott
# correct=female   guess=male     name=Imogen
# correct=female   guess=male     name=Imojean
# correct=female   guess=male     name=Ingaborg
# correct=female   guess=male     name=Inger
# correct=female   guess=male     name=Isador
# correct=female   guess=male     name=Iseabal
# correct=female   guess=male     name=Izabel
# correct=female   guess=male     name=Jacquelyn
# correct=female   guess=male     name=Jessamyn
# correct=female   guess=male     name=Jo
# correct=female   guess=male     name=Jourdan
# correct=female   guess=male     name=Juliet
# correct=female   guess=male     name=Kara-Lynn
# correct=female   guess=male     name=Karel
# correct=female   guess=male     name=Kass
# correct=female   guess=male     name=Katalin
# correct=female   guess=male     name=Katheleen
# correct=female   guess=male     name=Katheryn
# correct=female   guess=male     name=Kerrill
# correct=female   guess=male     name=Kimberlyn
# correct=female   guess=male     name=Koren
# correct=female   guess=male     name=Kristel
# correct=female   guess=male     name=Laurel
# correct=female   guess=male     name=Leanor
# correct=female   guess=male     name=Lilian
# correct=female   guess=male     name=Lust
# correct=female   guess=male     name=Madelon
# correct=female   guess=male     name=Margo
# correct=female   guess=male     name=Marieann
# correct=female   guess=male     name=Marigold
# correct=female   guess=male     name=Marin
# correct=female   guess=male     name=Maryangelyn
# correct=female   guess=male     name=Maryann
# correct=female   guess=male     name=Megan
# correct=female   guess=male     name=Mercedes
# correct=female   guess=male     name=Miriam
# correct=female   guess=male     name=Morgen
# correct=female   guess=male     name=Muffin
# correct=female   guess=male     name=Myriam
# correct=female   guess=male     name=Nell
# correct=female   guess=male     name=Ninon
# correct=female   guess=male     name=Persis
# correct=female   guess=male     name=Quentin
# correct=female   guess=male     name=Rachael
# correct=female   guess=male     name=Rachel
# correct=female   guess=male     name=Rakel
# correct=female   guess=male     name=Raychel
# correct=female   guess=male     name=Rayshell
# correct=female   guess=male     name=Riannon
# correct=female   guess=male     name=Rosamund
# correct=female   guess=male     name=Roselin
# correct=female   guess=male     name=Sal
# correct=female   guess=male     name=Sallyann
# correct=female   guess=male     name=Sam
# correct=female   guess=male     name=Shell
# correct=female   guess=male     name=Sherilyn
# correct=female   guess=male     name=Shirleen
# correct=female   guess=male     name=Sibeal
# correct=female   guess=male     name=Sigrid
# correct=female   guess=male     name=Susan
# correct=female   guess=male     name=Susann
# correct=female   guess=male     name=Thomasin
# correct=female   guess=male     name=Wandis
# correct=male     guess=female   name=Ajay
# correct=male     guess=female   name=Allah
# correct=male     guess=female   name=Alley
# correct=male     guess=female   name=Amery
# correct=male     guess=female   name=Anatole
# correct=male     guess=female   name=Andy
# correct=male     guess=female   name=Arne
# correct=male     guess=female   name=Arvie
# correct=male     guess=female   name=Ashby
# correct=male     guess=female   name=Ashish
# correct=male     guess=female   name=Augie
# correct=male     guess=female   name=Ave
# correct=male     guess=female   name=Barry
# correct=male     guess=female   name=Barty
# correct=male     guess=female   name=Benji
# correct=male     guess=female   name=Berkley
# correct=male     guess=female   name=Bertie
# correct=male     guess=female   name=Brandy
# correct=male     guess=female   name=Broddie
# correct=male     guess=female   name=Brody
# correct=male     guess=female   name=Cary
# correct=male     guess=female   name=Chase
# correct=male     guess=female   name=Che
# correct=male     guess=female   name=Clarance
# correct=male     guess=female   name=Cody
# correct=male     guess=female   name=Cole
# correct=male     guess=female   name=Cy
# correct=male     guess=female   name=Dana
# correct=male     guess=female   name=Danie
# correct=male     guess=female   name=Dickey
# correct=male     guess=female   name=Dickie
# correct=male     guess=female   name=Dougie
# correct=male     guess=female   name=Edie
# correct=male     guess=female   name=Elroy
# correct=male     guess=female   name=Emory
# correct=male     guess=female   name=Ernie
# correct=male     guess=female   name=Farley
# correct=male     guess=female   name=Finley
# correct=male     guess=female   name=Franky
# correct=male     guess=female   name=Frederich
# correct=male     guess=female   name=Gale
# correct=male     guess=female   name=Garvey
# correct=male     guess=female   name=Gary
# correct=male     guess=female   name=Gayle
# correct=male     guess=female   name=Georgia
# correct=male     guess=female   name=Grace
# correct=male     guess=female   name=Graeme
# correct=male     guess=female   name=Guthry
# correct=male     guess=female   name=Hadley
# correct=male     guess=female   name=Harry
# correct=male     guess=female   name=Hasty
# correct=male     guess=female   name=Henry
# correct=male     guess=female   name=Hersh
# correct=male     guess=female   name=Howie
# correct=male     guess=female   name=Hugh
# correct=male     guess=female   name=Ignace
# correct=male     guess=female   name=Isidore
# correct=male     guess=female   name=Jaime
# correct=male     guess=female   name=Jerrie
# correct=male     guess=female   name=Jessie
# correct=male     guess=female   name=Jimmie
# correct=male     guess=female   name=Jose
# correct=male     guess=female   name=Joseph
# correct=male     guess=female   name=Juanita
# correct=male     guess=female   name=Jude
# correct=male     guess=female   name=Lawrence
# correct=male     guess=female   name=Lay
# correct=male     guess=female   name=Lesley
# correct=male     guess=female   name=Leslie
# correct=male     guess=female   name=Levi
# correct=male     guess=female   name=Lonnie
# correct=male     guess=female   name=Mahesh
# correct=male     guess=female   name=Manny
# correct=male     guess=female   name=Marlowe
# correct=male     guess=female   name=Martie
# correct=male     guess=female   name=Merle
# correct=male     guess=female   name=Moise
# correct=male     guess=female   name=Mose
# correct=male     guess=female   name=Munroe
# correct=male     guess=female   name=Nate
# correct=male     guess=female   name=Olle
# correct=male     guess=female   name=Ozzy
# correct=male     guess=female   name=Pattie
# correct=male     guess=female   name=Pearce
# correct=male     guess=female   name=Pembroke
# correct=male     guess=female   name=Pepe
# correct=male     guess=female   name=Percy
# correct=male     guess=female   name=Pierre
# correct=male     guess=female   name=Piggy
# correct=male     guess=female   name=Prentice
# correct=male     guess=female   name=Quincey
# correct=male     guess=female   name=Raleigh
# correct=male     guess=female   name=Ramsey
# correct=male     guess=female   name=Randy
# correct=male     guess=female   name=Ray
# correct=male     guess=female   name=Rich
# correct=male     guess=female   name=Rickey
# correct=male     guess=female   name=Ripley
# correct=male     guess=female   name=Roddie
# correct=male     guess=female   name=Rolfe
# correct=male     guess=female   name=Roscoe
# correct=male     guess=female   name=Samuele
# correct=male     guess=female   name=Scottie
# correct=male     guess=female   name=Shayne
# correct=male     guess=female   name=Sheffy
# correct=male     guess=female   name=Shurlocke
# correct=male     guess=female   name=Sinclare
# correct=male     guess=female   name=Solly
# correct=male     guess=female   name=Stanly
# correct=male     guess=female   name=Temple
# correct=male     guess=female   name=Theodore
# correct=male     guess=female   name=Toddy
# correct=male     guess=female   name=Tracy
# correct=male     guess=female   name=Tre
# correct=male     guess=female   name=Tremayne
# correct=male     guess=female   name=Tuckie
# correct=male     guess=female   name=Verney
# correct=male     guess=female   name=Vinnie
# correct=male     guess=female   name=Walsh
# correct=male     guess=female   name=Ware
# correct=male     guess=female   name=Wesley
# correct=male     guess=female   name=Westleigh
# correct=male     guess=female   name=Willy
# correct=male     guess=female   name=Zach
# correct=male     guess=female   name=Zachary
# correct=male     guess=female   name=Zackariah
# correct=male     guess=female   name=Zary
# correct=male     guess=female   name=Zebedee
# correct=male     guess=female   name=Zechariah
# correct=male     guess=female   name=Zeke
# correct=male     guess=female   name=Zippy
# over!


# ===================== 特征集中使用2个的特征进行训练,结果如下:
# 测试集的精度为0.799000
# correct=female   guess=male     name=Adel
# correct=female   guess=male     name=Adrien
# correct=female   guess=male     name=Ambur
# correct=female   guess=male     name=Anet
# correct=female   guess=male     name=Ansley
# correct=female   guess=male     name=Ardeen
# correct=female   guess=male     name=Ardelis
# correct=female   guess=male     name=Ariel
# correct=female   guess=male     name=Arleen
# correct=female   guess=male     name=Ashleigh
# correct=female   guess=male     name=Ashley
# correct=female   guess=male     name=Aubrey
# correct=female   guess=male     name=Audry
# correct=female   guess=male     name=Babs
# correct=female   guess=male     name=Birgit
# correct=female   guess=male     name=Brandais
# correct=female   guess=male     name=Bridgett
# correct=female   guess=male     name=Brooke
# correct=female   guess=male     name=Caitrin
# correct=female   guess=male     name=Candis
# correct=female   guess=male     name=Chris
# correct=female   guess=male     name=Clem
# correct=female   guess=male     name=Cloris
# correct=female   guess=male     name=Consuelo
# correct=female   guess=male     name=Corabel
# correct=female   guess=male     name=Corliss
# correct=female   guess=male     name=Cris
# correct=female   guess=male     name=Cybill
# correct=female   guess=male     name=Daffy
# correct=female   guess=male     name=Danell
# correct=female   guess=male     name=Daniel
# correct=female   guess=male     name=Darcey
# correct=female   guess=male     name=Dian
# correct=female   guess=male     name=Doralin
# correct=female   guess=male     name=Elizabet
# correct=female   guess=male     name=Elke
# correct=female   guess=male     name=Ethelin
# correct=female   guess=male     name=Evy
# correct=female   guess=male     name=Fan
# correct=female   guess=male     name=Fawn
# correct=female   guess=male     name=Frances
# correct=female   guess=male     name=Francesmary
# correct=female   guess=male     name=Gabey
# correct=female   guess=male     name=Gabriel
# correct=female   guess=male     name=Gail
# correct=female   guess=male     name=Gayleen
# correct=female   guess=male     name=Grethel
# correct=female   guess=male     name=Haleigh
# correct=female   guess=male     name=Harley
# correct=female   guess=male     name=Hazel
# correct=female   guess=male     name=Hildagard
# correct=female   guess=male     name=Hilliary
# correct=female   guess=male     name=Honey
# correct=female   guess=male     name=Ikey
# correct=female   guess=male     name=Iseabal
# correct=female   guess=male     name=Jaleh
# correct=female   guess=male     name=Jerry
# correct=female   guess=male     name=Joey
# correct=female   guess=male     name=Joleen
# correct=female   guess=male     name=Jordain
# correct=female   guess=male     name=Jorry
# correct=female   guess=male     name=Karol
# correct=female   guess=male     name=Kathy
# correct=female   guess=male     name=Kerrin
# correct=female   guess=male     name=Kiley
# correct=female   guess=male     name=Kimberley
# correct=female   guess=male     name=Koo
# correct=female   guess=male     name=Krystal
# correct=female   guess=male     name=Kyrstin
# correct=female   guess=male     name=Laney
# correct=female   guess=male     name=Libby
# correct=female   guess=male     name=Lilyan
# correct=female   guess=male     name=Lind
# correct=female   guess=male     name=Linet
# correct=female   guess=male     name=Loren
# correct=female   guess=male     name=Lucky
# correct=female   guess=male     name=Lurleen
# correct=female   guess=male     name=Madlin
# correct=female   guess=male     name=Magdalen
# correct=female   guess=male     name=Maisey
# correct=female   guess=male     name=Marabel
# correct=female   guess=male     name=Marion
# correct=female   guess=male     name=Megan
# correct=female   guess=male     name=Meghan
# correct=female   guess=male     name=Mel
# correct=female   guess=male     name=Melisent
# correct=female   guess=male     name=Mellisent
# correct=female   guess=male     name=Michel
# correct=female   guess=male     name=Norean
# correct=female   guess=male     name=Oliy
# correct=female   guess=male     name=Pat
# correct=female   guess=male     name=Pegeen
# correct=female   guess=male     name=Persis
# correct=female   guess=male     name=Pet
# correct=female   guess=male     name=Philis
# correct=female   guess=male     name=Phillis
# correct=female   guess=male     name=Phylis
# correct=female   guess=male     name=Pooh
# correct=female   guess=male     name=Pris
# correct=female   guess=male     name=Raf
# correct=female   guess=male     name=Rakel
# correct=female   guess=male     name=Rey
# correct=female   guess=male     name=Robin
# correct=female   guess=male     name=Rosamond
# correct=female   guess=male     name=Rosario
# correct=female   guess=male     name=Scarlet
# correct=female   guess=male     name=Sean
# correct=female   guess=male     name=Shamit
# correct=female   guess=male     name=Shannen
# correct=female   guess=male     name=Shaun
# correct=female   guess=male     name=Sheelagh
# correct=female   guess=male     name=Shel
# correct=female   guess=male     name=Shelagh
# correct=female   guess=male     name=Sherry
# correct=female   guess=male     name=Shir
# correct=female   guess=male     name=Shirley
# correct=female   guess=male     name=Sibel
# correct=female   guess=male     name=Sydney
# correct=female   guess=male     name=Tamar
# correct=female   guess=male     name=Tuesday
# correct=female   guess=male     name=Ulrike
# correct=female   guess=male     name=Val
# correct=female   guess=male     name=Vikky
# correct=female   guess=male     name=Winnifred
# correct=female   guess=male     name=Yoko
# correct=female   guess=male     name=Zoe
# correct=male     guess=female   name=Alfonse
# correct=male     guess=female   name=Anatole
# correct=male     guess=female   name=Andrea
# correct=male     guess=female   name=Angie
# correct=male     guess=female   name=Archie
# correct=male     guess=female   name=Ari
# correct=male     guess=female   name=Augie
# correct=male     guess=female   name=Ave
# correct=male     guess=female   name=Avi
# correct=male     guess=female   name=Barnie
# correct=male     guess=female   name=Barth
# correct=male     guess=female   name=Caryl
# correct=male     guess=female   name=Chaddie
# correct=male     guess=female   name=Chaddy
# correct=male     guess=female   name=Clayborne
# correct=male     guess=female   name=Dale
# correct=male     guess=female   name=Demetre
# correct=male     guess=female   name=Donny
# correct=male     guess=female   name=Elijah
# correct=male     guess=female   name=Etienne
# correct=male     guess=female   name=Felix
# correct=male     guess=female   name=Frankie
# correct=male     guess=female   name=Franklyn
# correct=male     guess=female   name=Freddie
# correct=male     guess=female   name=Garcia
# correct=male     guess=female   name=Georg
# correct=male     guess=female   name=Georgia
# correct=male     guess=female   name=Gere
# correct=male     guess=female   name=Giffie
# correct=male     guess=female   name=Grace
# correct=male     guess=female   name=Guthrie
# correct=male     guess=female   name=Hari
# correct=male     guess=female   name=Henrie
# correct=male     guess=female   name=Herve
# correct=male     guess=female   name=Hodge
# correct=male     guess=female   name=Jamie
# correct=male     guess=female   name=Kenny
# correct=male     guess=female   name=Kingsly
# correct=male     guess=female   name=Kyle
# correct=male     guess=female   name=Laurance
# correct=male     guess=female   name=Lemmy
# correct=male     guess=female   name=Llewellyn
# correct=male     guess=female   name=Lorne
# correct=male     guess=female   name=Lorrie
# correct=male     guess=female   name=Maurise
# correct=male     guess=female   name=Meredith
# correct=male     guess=female   name=Montague
# correct=male     guess=female   name=Morlee
# correct=male     guess=female   name=Nevile
# correct=male     guess=female   name=Niki
# correct=male     guess=female   name=Ole
# correct=male     guess=female   name=Pace
# correct=male     guess=female   name=Paige
# correct=male     guess=female   name=Pryce
# correct=male     guess=female   name=Rabbi
# correct=male     guess=female   name=Reggy
# correct=male     guess=female   name=Roddy
# correct=male     guess=female   name=Roth
# correct=male     guess=female   name=Rudy
# correct=male     guess=female   name=Scotti
# correct=male     guess=female   name=See
# correct=male     guess=female   name=Sergei
# correct=male     guess=female   name=Slade
# correct=male     guess=female   name=Tally
# correct=male     guess=female   name=Tanny
# correct=male     guess=female   name=Tommy
# correct=male     guess=female   name=Torrance
# correct=male     guess=female   name=Towny
# correct=male     guess=female   name=Tracy
# correct=male     guess=female   name=Tyrone
# correct=male     guess=female   name=Vite
# correct=male     guess=female   name=Waine
# correct=male     guess=female   name=Waite
# correct=male     guess=female   name=Wayne
# correct=male     guess=female   name=Zechariah

print("over!")

#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
@Author     : <EMAIL>
@File       : nlp-6-1-sex_identification_errorlist.py
@Time       : 2019/4/23 17:38
@Version    : 1.0  
@Desc       : None
"""
from nltk.corpus import names
import random
import nltk

# 定义一个特征提取器,同时准备一些例子和与其对应的类标签
names = ([(name, 'male') for name in names.words('male.txt')] +
         [(name, 'female') for name in names.words('female.txt')])
random.shuffle(names)

train_names = names[1500:]  # 训练模型
devtest_names = names[500:1500]  # 执行错误分析
test_names = names[:500]  # 系统的最终评估


# 函数返回的字典-特征集
def gender_features(word):
    # return {'suffix1': word[-1:]}
    return {'suffix1': word[-1:],
            'suffix2': word[-2:]}


train_set = [(gender_features(n), g) for (n, g) in train_names]
devtest_set = [(gender_features(n), g) for (n, g) in devtest_names]
test_set = [(gender_features(n), g) for (n, g) in test_names]
classifier = nltk.NaiveBayesClassifier.train(train_set)


# 评估
def evaluation(clsfir, tst_set):
    acc = nltk.classify.accuracy(clsfir, tst_set)
    print('测试集的精度为%4f' % acc)
    return acc


evaluation(classifier, devtest_set)

# 使用开发测试集生成分类器在预测名字性别时出现的错误列表
errors = []
for (name, tag) in devtest_names:
    guess = classifier.classify(gender_features(name))
    if guess != tag:
        errors.append((tag, guess, name))
for (tag, guess, name) in sorted(errors):
    print('correct=%-8s guess=%-8s name=%-30s' % (tag, guess, name))


# ======================= output111 ==================================
# ===================== 特征集中使用2个的特征进行训练,结果如下:
# 测试集的精度为0.758000
# correct=female   guess=male     name=Aeriell
# correct=female   guess=male     name=Allyson
# correct=female   guess=male     name=Ambur
# correct=female   guess=male     name=Ardeen
# correct=female   guess=male     name=Ardys
# correct=female   guess=male     name=Ariel
# correct=female   guess=male     name=Arlen
# correct=female   guess=male     name=Arlyn
# correct=female   guess=male     name=Astrix
# correct=female   guess=male     name=Averil
# correct=female   guess=male     name=Ayn
# correct=female   guess=male     name=Beau
# correct=female   guess=male     name=Bel
# correct=female   guess=male     name=Brett
# correct=female   guess=male     name=Brier
# correct=female   guess=male     name=Brigit
# correct=female   guess=male     name=Brooks
# correct=female   guess=male     name=Caitlin
# correct=female   guess=male     name=Carolynn
# correct=female   guess=male     name=Ceil
# correct=female   guess=male     name=Charil
# correct=female   guess=male     name=Charlot
# correct=female   guess=male     name=Chloris
# correct=female   guess=male     name=Ciel
# correct=female   guess=male     name=Coriss
# correct=female   guess=male     name=Cris
# correct=female   guess=male     name=Cristal
# correct=female   guess=male     name=Cybil
# correct=female   guess=male     name=Darell
# correct=female   guess=male     name=Debor
# correct=female   guess=male     name=Delores
# correct=female   guess=male     name=Deloris
# correct=female   guess=male     name=Dot
# correct=female   guess=male     name=Drew
# correct=female   guess=male     name=Emmalyn
# correct=female   guess=male     name=Erinn
# correct=female   guess=male     name=Ethel
# correct=female   guess=male     name=Ethelin
# correct=female   guess=male     name=Ethyl
# correct=female   guess=male     name=Fawn
# correct=female   guess=male     name=Gabriel
# correct=female   guess=male     name=Gen
# correct=female   guess=male     name=Germain
# correct=female   guess=male     name=Gill
# correct=female   guess=male     name=Glynnis
# correct=female   guess=male     name=Gretchen
# correct=female   guess=male     name=Harriet
# correct=female   guess=male     name=Harriott
# correct=female   guess=male     name=Imogen
# correct=female   guess=male     name=Imojean
# correct=female   guess=male     name=Ingaborg
# correct=female   guess=male     name=Inger
# correct=female   guess=male     name=Isador
# correct=female   guess=male     name=Iseabal
# correct=female   guess=male     name=Izabel
# correct=female   guess=male     name=Jacquelyn
# correct=female   guess=male     name=Jessamyn
# correct=female   guess=male     name=Jo
# correct=female   guess=male     name=Jourdan
# correct=female   guess=male     name=Juliet
# correct=female   guess=male     name=Kara-Lynn
# correct=female   guess=male     name=Karel
# correct=female   guess=male     name=Kass
# correct=female   guess=male     name=Katalin
# correct=female   guess=male     name=Katheleen
# correct=female   guess=male     name=Katheryn
# correct=female   guess=male     name=Kerrill
# correct=female   guess=male     name=Kimberlyn
# correct=female   guess=male     name=Koren
# correct=female   guess=male     name=Kristel
# correct=female   guess=male     name=Laurel
# correct=female   guess=male     name=Leanor
# correct=female   guess=male     name=Lilian
# correct=female   guess=male     name=Lust
# correct=female   guess=male     name=Madelon
# correct=female   guess=male     name=Margo
# correct=female   guess=male     name=Marieann
# correct=female   guess=male     name=Marigold
# correct=female   guess=male     name=Marin
# correct=female   guess=male     name=Maryangelyn
# correct=female   guess=male     name=Maryann
# correct=female   guess=male     name=Megan
# correct=female   guess=male     name=Mercedes
# correct=female   guess=male     name=Miriam
# correct=female   guess=male     name=Morgen
# correct=female   guess=male     name=Muffin
# correct=female   guess=male     name=Myriam
# correct=female   guess=male     name=Nell
# correct=female   guess=male     name=Ninon
# correct=female   guess=male     name=Persis
# correct=female   guess=male     name=Quentin
# correct=female   guess=male     name=Rachael
# correct=female   guess=male     name=Rachel
# correct=female   guess=male     name=Rakel
# correct=female   guess=male     name=Raychel
# correct=female   guess=male     name=Rayshell
# correct=female   guess=male     name=Riannon
# correct=female   guess=male     name=Rosamund
# correct=female   guess=male     name=Roselin
# correct=female   guess=male     name=Sal
# correct=female   guess=male     name=Sallyann
# correct=female   guess=male     name=Sam
# correct=female   guess=male     name=Shell
# correct=female   guess=male     name=Sherilyn
# correct=female   guess=male     name=Shirleen
# correct=female   guess=male     name=Sibeal
# correct=female   guess=male     name=Sigrid
# correct=female   guess=male     name=Susan
# correct=female   guess=male     name=Susann
# correct=female   guess=male     name=Thomasin
# correct=female   guess=male     name=Wandis
# correct=male     guess=female   name=Ajay
# correct=male     guess=female   name=Allah
# correct=male     guess=female   name=Alley
# correct=male     guess=female   name=Amery
# correct=male     guess=female   name=Anatole
# correct=male     guess=female   name=Andy
# correct=male     guess=female   name=Arne
# correct=male     guess=female   name=Arvie
# correct=male     guess=female   name=Ashby
# correct=male     guess=female   name=Ashish
# correct=male     guess=female   name=Augie
# correct=male     guess=female   name=Ave
# correct=male     guess=female   name=Barry
# correct=male     guess=female   name=Barty
# correct=male     guess=female   name=Benji
# correct=male     guess=female   name=Berkley
# correct=male     guess=female   name=Bertie
# correct=male     guess=female   name=Brandy
# correct=male     guess=female   name=Broddie
# correct=male     guess=female   name=Brody
# correct=male     guess=female   name=Cary
# correct=male     guess=female   name=Chase
# correct=male     guess=female   name=Che
# correct=male     guess=female   name=Clarance
# correct=male     guess=female   name=Cody
# correct=male     guess=female   name=Cole
# correct=male     guess=female   name=Cy
# correct=male     guess=female   name=Dana
# correct=male     guess=female   name=Danie
# correct=male     guess=female   name=Dickey
# correct=male     guess=female   name=Dickie
# correct=male     guess=female   name=Dougie
# correct=male     guess=female   name=Edie
# correct=male     guess=female   name=Elroy
# correct=male     guess=female   name=Emory
# correct=male     guess=female   name=Ernie
# correct=male     guess=female   name=Farley
# correct=male     guess=female   name=Finley
# correct=male     guess=female   name=Franky
# correct=male     guess=female   name=Frederich
# correct=male     guess=female   name=Gale
# correct=male     guess=female   name=Garvey
# correct=male     guess=female   name=Gary
# correct=male     guess=female   name=Gayle
# correct=male     guess=female   name=Georgia
# correct=male     guess=female   name=Grace
# correct=male     guess=female   name=Graeme
# correct=male     guess=female   name=Guthry
# correct=male     guess=female   name=Hadley
# correct=male     guess=female   name=Harry
# correct=male     guess=female   name=Hasty
# correct=male     guess=female   name=Henry
# correct=male     guess=female   name=Hersh
# correct=male     guess=female   name=Howie
# correct=male     guess=female   name=Hugh
# correct=male     guess=female   name=Ignace
# correct=male     guess=female   name=Isidore
# correct=male     guess=female   name=Jaime
# correct=male     guess=female   name=Jerrie
# correct=male     guess=female   name=Jessie
# correct=male     guess=female   name=Jimmie
# correct=male     guess=female   name=Jose
# correct=male     guess=female   name=Joseph
# correct=male     guess=female   name=Juanita
# correct=male     guess=female   name=Jude
# correct=male     guess=female   name=Lawrence
# correct=male     guess=female   name=Lay
# correct=male     guess=female   name=Lesley
# correct=male     guess=female   name=Leslie
# correct=male     guess=female   name=Levi
# correct=male     guess=female   name=Lonnie
# correct=male     guess=female   name=Mahesh
# correct=male     guess=female   name=Manny
# correct=male     guess=female   name=Marlowe
# correct=male     guess=female   name=Martie
# correct=male     guess=female   name=Merle
# correct=male     guess=female   name=Moise
# correct=male     guess=female   name=Mose
# correct=male     guess=female   name=Munroe
# correct=male     guess=female   name=Nate
# correct=male     guess=female   name=Olle
# correct=male     guess=female   name=Ozzy
# correct=male     guess=female   name=Pattie
# correct=male     guess=female   name=Pearce
# correct=male     guess=female   name=Pembroke
# correct=male     guess=female   name=Pepe
# correct=male     guess=female   name=Percy
# correct=male     guess=female   name=Pierre
# correct=male     guess=female   name=Piggy
# correct=male     guess=female   name=Prentice
# correct=male     guess=female   name=Quincey
# correct=male     guess=female   name=Raleigh
# correct=male     guess=female   name=Ramsey
# correct=male     guess=female   name=Randy
# correct=male     guess=female   name=Ray
# correct=male     guess=female   name=Rich
# correct=male     guess=female   name=Rickey
# correct=male     guess=female   name=Ripley
# correct=male     guess=female   name=Roddie
# correct=male     guess=female   name=Rolfe
# correct=male     guess=female   name=Roscoe
# correct=male     guess=female   name=Samuele
# correct=male     guess=female   name=Scottie
# correct=male     guess=female   name=Shayne
# correct=male     guess=female   name=Sheffy
# correct=male     guess=female   name=Shurlocke
# correct=male     guess=female   name=Sinclare
# correct=male     guess=female   name=Solly
# correct=male     guess=female   name=Stanly
# correct=male     guess=female   name=Temple
# correct=male     guess=female   name=Theodore
# correct=male     guess=female   name=Toddy
# correct=male     guess=female   name=Tracy
# correct=male     guess=female   name=Tre
# correct=male     guess=female   name=Tremayne
# correct=male     guess=female   name=Tuckie
# correct=male     guess=female   name=Verney
# correct=male     guess=female   name=Vinnie
# correct=male     guess=female   name=Walsh
# correct=male     guess=female   name=Ware
# correct=male     guess=female   name=Wesley
# correct=male     guess=female   name=Westleigh
# correct=male     guess=female   name=Willy
# correct=male     guess=female   name=Zach
# correct=male     guess=female   name=Zachary
# correct=male     guess=female   name=Zackariah
# correct=male     guess=female   name=Zary
# correct=male     guess=female   name=Zebedee
# correct=male     guess=female   name=Zechariah
# correct=male     guess=female   name=Zeke
# correct=male     guess=female   name=Zippy
# over!


# ===================== 特征集中使用2个的特征进行训练,结果如下:
# 测试集的精度为0.799000
# correct=female   guess=male     name=Adel
# correct=female   guess=male     name=Adrien
# correct=female   guess=male     name=Ambur
# correct=female   guess=male     name=Anet
# correct=female   guess=male     name=Ansley
# correct=female   guess=male     name=Ardeen
# correct=female   guess=male     name=Ardelis
# correct=female   guess=male     name=Ariel
# correct=female   guess=male     name=Arleen
# correct=female   guess=male     name=Ashleigh
# correct=female   guess=male     name=Ashley
# correct=female   guess=male     name=Aubrey
# correct=female   guess=male     name=Audry
# correct=female   guess=male     name=Babs
# correct=female   guess=male     name=Birgit
# correct=female   guess=male     name=Brandais
# correct=female   guess=male     name=Bridgett
# correct=female   guess=male     name=Brooke
# correct=female   guess=male     name=Caitrin
# correct=female   guess=male     name=Candis
# correct=female   guess=male     name=Chris
# correct=female   guess=male     name=Clem
# correct=female   guess=male     name=Cloris
# correct=female   guess=male     name=Consuelo
# correct=female   guess=male     name=Corabel
# correct=female   guess=male     name=Corliss
# correct=female   guess=male     name=Cris
# correct=female   guess=male     name=Cybill
# correct=female   guess=male     name=Daffy
# correct=female   guess=male     name=Danell
# correct=female   guess=male     name=Daniel
# correct=female   guess=male     name=Darcey
# correct=female   guess=male     name=Dian
# correct=female   guess=male     name=Doralin
# correct=female   guess=male     name=Elizabet
# correct=female   guess=male     name=Elke
# correct=female   guess=male     name=Ethelin
# correct=female   guess=male     name=Evy
# correct=female   guess=male     name=Fan
# correct=female   guess=male     name=Fawn
# correct=female   guess=male     name=Frances
# correct=female   guess=male     name=Francesmary
# correct=female   guess=male     name=Gabey
# correct=female   guess=male     name=Gabriel
# correct=female   guess=male     name=Gail
# correct=female   guess=male     name=Gayleen
# correct=female   guess=male     name=Grethel
# correct=female   guess=male     name=Haleigh
# correct=female   guess=male     name=Harley
# correct=female   guess=male     name=Hazel
# correct=female   guess=male     name=Hildagard
# correct=female   guess=male     name=Hilliary
# correct=female   guess=male     name=Honey
# correct=female   guess=male     name=Ikey
# correct=female   guess=male     name=Iseabal
# correct=female   guess=male     name=Jaleh
# correct=female   guess=male     name=Jerry
# correct=female   guess=male     name=Joey
# correct=female   guess=male     name=Joleen
# correct=female   guess=male     name=Jordain
# correct=female   guess=male     name=Jorry
# correct=female   guess=male     name=Karol
# correct=female   guess=male     name=Kathy
# correct=female   guess=male     name=Kerrin
# correct=female   guess=male     name=Kiley
# correct=female   guess=male     name=Kimberley
# correct=female   guess=male     name=Koo
# correct=female   guess=male     name=Krystal
# correct=female   guess=male     name=Kyrstin
# correct=female   guess=male     name=Laney
# correct=female   guess=male     name=Libby
# correct=female   guess=male     name=Lilyan
# correct=female   guess=male     name=Lind
# correct=female   guess=male     name=Linet
# correct=female   guess=male     name=Loren
# correct=female   guess=male     name=Lucky
# correct=female   guess=male     name=Lurleen
# correct=female   guess=male     name=Madlin
# correct=female   guess=male     name=Magdalen
# correct=female   guess=male     name=Maisey
# correct=female   guess=male     name=Marabel
# correct=female   guess=male     name=Marion
# correct=female   guess=male     name=Megan
# correct=female   guess=male     name=Meghan
# correct=female   guess=male     name=Mel
# correct=female   guess=male     name=Melisent
# correct=female   guess=male     name=Mellisent
# correct=female   guess=male     name=Michel
# correct=female   guess=male     name=Norean
# correct=female   guess=male     name=Oliy
# correct=female   guess=male     name=Pat
# correct=female   guess=male     name=Pegeen
# correct=female   guess=male     name=Persis
# correct=female   guess=male     name=Pet
# correct=female   guess=male     name=Philis
# correct=female   guess=male     name=Phillis
# correct=female   guess=male     name=Phylis
# correct=female   guess=male     name=Pooh
# correct=female   guess=male     name=Pris
# correct=female   guess=male     name=Raf
# correct=female   guess=male     name=Rakel
# correct=female   guess=male     name=Rey
# correct=female   guess=male     name=Robin
# correct=female   guess=male     name=Rosamond
# correct=female   guess=male     name=Rosario
# correct=female   guess=male     name=Scarlet
# correct=female   guess=male     name=Sean
# correct=female   guess=male     name=Shamit
# correct=female   guess=male     name=Shannen
# correct=female   guess=male     name=Shaun
# correct=female   guess=male     name=Sheelagh
# correct=female   guess=male     name=Shel
# correct=female   guess=male     name=Shelagh
# correct=female   guess=male     name=Sherry
# correct=female   guess=male     name=Shir
# correct=female   guess=male     name=Shirley
# correct=female   guess=male     name=Sibel
# correct=female   guess=male     name=Sydney
# correct=female   guess=male     name=Tamar
# correct=female   guess=male     name=Tuesday
# correct=female   guess=male     name=Ulrike
# correct=female   guess=male     name=Val
# correct=female   guess=male     name=Vikky
# correct=female   guess=male     name=Winnifred
# correct=female   guess=male     name=Yoko
# correct=female   guess=male     name=Zoe
# correct=male     guess=female   name=Alfonse
# correct=male     guess=female   name=Anatole
# correct=male     guess=female   name=Andrea
# correct=male     guess=female   name=Angie
# correct=male     guess=female   name=Archie
# correct=male     guess=female   name=Ari
# correct=male     guess=female   name=Augie
# correct=male     guess=female   name=Ave
# correct=male     guess=female   name=Avi
# correct=male     guess=female   name=Barnie
# correct=male     guess=female   name=Barth
# correct=male     guess=female   name=Caryl
# correct=male     guess=female   name=Chaddie
# correct=male     guess=female   name=Chaddy
# correct=male     guess=female   name=Clayborne
# correct=male     guess=female   name=Dale
# correct=male     guess=female   name=Demetre
# correct=male     guess=female   name=Donny
# correct=male     guess=female   name=Elijah
# correct=male     guess=female   name=Etienne
# correct=male     guess=female   name=Felix
# correct=male     guess=female   name=Frankie
# correct=male     guess=female   name=Franklyn
# correct=male     guess=female   name=Freddie
# correct=male     guess=female   name=Garcia
# correct=male     guess=female   name=Georg
# correct=male     guess=female   name=Georgia
# correct=male     guess=female   name=Gere
# correct=male     guess=female   name=Giffie
# correct=male     guess=female   name=Grace
# correct=male     guess=female   name=Guthrie
# correct=male     guess=female   name=Hari
# correct=male     guess=female   name=Henrie
# correct=male     guess=female   name=Herve
# correct=male     guess=female   name=Hodge
# correct=male     guess=female   name=Jamie
# correct=male     guess=female   name=Kenny
# correct=male     guess=female   name=Kingsly
# correct=male     guess=female   name=Kyle
# correct=male     guess=female   name=Laurance
# correct=male     guess=female   name=Lemmy
# correct=male     guess=female   name=Llewellyn
# correct=male     guess=female   name=Lorne
# correct=male     guess=female   name=Lorrie
# correct=male     guess=female   name=Maurise
# correct=male     guess=female   name=Meredith
# correct=male     guess=female   name=Montague
# correct=male     guess=female   name=Morlee
# correct=male     guess=female   name=Nevile
# correct=male     guess=female   name=Niki
# correct=male     guess=female   name=Ole
# correct=male     guess=female   name=Pace
# correct=male     guess=female   name=Paige
# correct=male     guess=female   name=Pryce
# correct=male     guess=female   name=Rabbi
# correct=male     guess=female   name=Reggy
# correct=male     guess=female   name=Roddy
# correct=male     guess=female   name=Roth
# correct=male     guess=female   name=Rudy
# correct=male     guess=female   name=Scotti
# correct=male     guess=female   name=See
# correct=male     guess=female   name=Sergei
# correct=male     guess=female   name=Slade
# correct=male     guess=female   name=Tally
# correct=male     guess=female   name=Tanny
# correct=male     guess=female   name=Tommy
# correct=male     guess=female   name=Torrance
# correct=male     guess=female   name=Towny
# correct=male     guess=female   name=Tracy
# correct=male     guess=female   name=Tyrone
# correct=male     guess=female   name=Vite
# correct=male     guess=female   name=Waine
# correct=male     guess=female   name=Waite
# correct=male     guess=female   name=Wayne
# correct=male     guess=female   name=Zechariah

print("over!")
#!/usr/bin/env python # -*- coding:utf-8 -*- @Author     : <EMAIL> @File       : nlp-6-1-sex_identification_errorlist.py @Time       : 2019/4/23 17:38 @Version    : 1.0   @Desc       : None # 定义一个特征提取器,同时准备一些例子和与其对应的类标签 # 训练模型 # 执行错误分析 # 系统的最终评估 # 函数返回的字典-特征集 # return {'suffix1': word[-1:]} # 评估 # 使用开发测试集生成分类器在预测名字性别时出现的错误列表 # ======================= output111 ================================== # ===================== 特征集中使用2个的特征进行训练,结果如下: # 测试集的精度为0.758000 # correct=female   guess=male     name=Aeriell # correct=female   guess=male     name=Allyson # correct=female   guess=male     name=Ambur # correct=female   guess=male     name=Ardeen # correct=female   guess=male     name=Ardys # correct=female   guess=male     name=Ariel # correct=female   guess=male     name=Arlen # correct=female   guess=male     name=Arlyn # correct=female   guess=male     name=Astrix # correct=female   guess=male     name=Averil # correct=female   guess=male     name=Ayn # correct=female   guess=male     name=Beau # correct=female   guess=male     name=Bel # correct=female   guess=male     name=Brett # correct=female   guess=male     name=Brier # correct=female   guess=male     name=Brigit # correct=female   guess=male     name=Brooks # correct=female   guess=male     name=Caitlin # correct=female   guess=male     name=Carolynn # correct=female   guess=male     name=Ceil # correct=female   guess=male     name=Charil # correct=female   guess=male     name=Charlot # correct=female   guess=male     name=Chloris # correct=female   guess=male     name=Ciel # correct=female   guess=male     name=Coriss # correct=female   guess=male     name=Cris # correct=female   guess=male     name=Cristal # correct=female   guess=male     name=Cybil # correct=female   guess=male     name=Darell # correct=female   guess=male     name=Debor # correct=female   guess=male     name=Delores # correct=female   guess=male     name=Deloris # correct=female   guess=male     name=Dot # correct=female   guess=male     name=Drew # correct=female   guess=male     name=Emmalyn # correct=female   guess=male     name=Erinn # correct=female   guess=male     name=Ethel # correct=female   guess=male     name=Ethelin # correct=female   guess=male     name=Ethyl # correct=female   guess=male     name=Fawn # correct=female   guess=male     name=Gabriel # correct=female   guess=male     name=Gen # correct=female   guess=male     name=Germain # correct=female   guess=male     name=Gill # correct=female   guess=male     name=Glynnis # correct=female   guess=male     name=Gretchen # correct=female   guess=male     name=Harriet # correct=female   guess=male     name=Harriott # correct=female   guess=male     name=Imogen # correct=female   guess=male     name=Imojean # correct=female   guess=male     name=Ingaborg # correct=female   guess=male     name=Inger # correct=female   guess=male     name=Isador # correct=female   guess=male     name=Iseabal # correct=female   guess=male     name=Izabel # correct=female   guess=male     name=Jacquelyn # correct=female   guess=male     name=Jessamyn # correct=female   guess=male     name=Jo # correct=female   guess=male     name=Jourdan # correct=female   guess=male     name=Juliet # correct=female   guess=male     name=Kara-Lynn # correct=female   guess=male     name=Karel # correct=female   guess=male     name=Kass # correct=female   guess=male     name=Katalin # correct=female   guess=male     name=Katheleen # correct=female   guess=male     name=Katheryn # correct=female   guess=male     name=Kerrill # correct=female   guess=male     name=Kimberlyn # correct=female   guess=male     name=Koren # correct=female   guess=male     name=Kristel # correct=female   guess=male     name=Laurel # correct=female   guess=male     name=Leanor # correct=female   guess=male     name=Lilian # correct=female   guess=male     name=Lust # correct=female   guess=male     name=Madelon # correct=female   guess=male     name=Margo # correct=female   guess=male     name=Marieann # correct=female   guess=male     name=Marigold # correct=female   guess=male     name=Marin # correct=female   guess=male     name=Maryangelyn # correct=female   guess=male     name=Maryann # correct=female   guess=male     name=Megan # correct=female   guess=male     name=Mercedes # correct=female   guess=male     name=Miriam # correct=female   guess=male     name=Morgen # correct=female   guess=male     name=Muffin # correct=female   guess=male     name=Myriam # correct=female   guess=male     name=Nell # correct=female   guess=male     name=Ninon # correct=female   guess=male     name=Persis # correct=female   guess=male     name=Quentin # correct=female   guess=male     name=Rachael # correct=female   guess=male     name=Rachel # correct=female   guess=male     name=Rakel # correct=female   guess=male     name=Raychel # correct=female   guess=male     name=Rayshell # correct=female   guess=male     name=Riannon # correct=female   guess=male     name=Rosamund # correct=female   guess=male     name=Roselin # correct=female   guess=male     name=Sal # correct=female   guess=male     name=Sallyann # correct=female   guess=male     name=Sam # correct=female   guess=male     name=Shell # correct=female   guess=male     name=Sherilyn # correct=female   guess=male     name=Shirleen # correct=female   guess=male     name=Sibeal # correct=female   guess=male     name=Sigrid # correct=female   guess=male     name=Susan # correct=female   guess=male     name=Susann # correct=female   guess=male     name=Thomasin # correct=female   guess=male     name=Wandis # correct=male     guess=female   name=Ajay # correct=male     guess=female   name=Allah # correct=male     guess=female   name=Alley # correct=male     guess=female   name=Amery # correct=male     guess=female   name=Anatole # correct=male     guess=female   name=Andy # correct=male     guess=female   name=Arne # correct=male     guess=female   name=Arvie # correct=male     guess=female   name=Ashby # correct=male     guess=female   name=Ashish # correct=male     guess=female   name=Augie # correct=male     guess=female   name=Ave # correct=male     guess=female   name=Barry # correct=male     guess=female   name=Barty # correct=male     guess=female   name=Benji # correct=male     guess=female   name=Berkley # correct=male     guess=female   name=Bertie # correct=male     guess=female   name=Brandy # correct=male     guess=female   name=Broddie # correct=male     guess=female   name=Brody # correct=male     guess=female   name=Cary # correct=male     guess=female   name=Chase # correct=male     guess=female   name=Che # correct=male     guess=female   name=Clarance # correct=male     guess=female   name=Cody # correct=male     guess=female   name=Cole # correct=male     guess=female   name=Cy # correct=male     guess=female   name=Dana # correct=male     guess=female   name=Danie # correct=male     guess=female   name=Dickey # correct=male     guess=female   name=Dickie # correct=male     guess=female   name=Dougie # correct=male     guess=female   name=Edie # correct=male     guess=female   name=Elroy # correct=male     guess=female   name=Emory # correct=male     guess=female   name=Ernie # correct=male     guess=female   name=Farley # correct=male     guess=female   name=Finley # correct=male     guess=female   name=Franky # correct=male     guess=female   name=Frederich # correct=male     guess=female   name=Gale # correct=male     guess=female   name=Garvey # correct=male     guess=female   name=Gary # correct=male     guess=female   name=Gayle # correct=male     guess=female   name=Georgia # correct=male     guess=female   name=Grace # correct=male     guess=female   name=Graeme # correct=male     guess=female   name=Guthry # correct=male     guess=female   name=Hadley # correct=male     guess=female   name=Harry # correct=male     guess=female   name=Hasty # correct=male     guess=female   name=Henry # correct=male     guess=female   name=Hersh # correct=male     guess=female   name=Howie # correct=male     guess=female   name=Hugh # correct=male     guess=female   name=Ignace # correct=male     guess=female   name=Isidore # correct=male     guess=female   name=Jaime # correct=male     guess=female   name=Jerrie # correct=male     guess=female   name=Jessie # correct=male     guess=female   name=Jimmie # correct=male     guess=female   name=Jose # correct=male     guess=female   name=Joseph # correct=male     guess=female   name=Juanita # correct=male     guess=female   name=Jude # correct=male     guess=female   name=Lawrence # correct=male     guess=female   name=Lay # correct=male     guess=female   name=Lesley # correct=male     guess=female   name=Leslie # correct=male     guess=female   name=Levi # correct=male     guess=female   name=Lonnie # correct=male     guess=female   name=Mahesh # correct=male     guess=female   name=Manny # correct=male     guess=female   name=Marlowe # correct=male     guess=female   name=Martie # correct=male     guess=female   name=Merle # correct=male     guess=female   name=Moise # correct=male     guess=female   name=Mose # correct=male     guess=female   name=Munroe # correct=male     guess=female   name=Nate # correct=male     guess=female   name=Olle # correct=male     guess=female   name=Ozzy # correct=male     guess=female   name=Pattie # correct=male     guess=female   name=Pearce # correct=male     guess=female   name=Pembroke # correct=male     guess=female   name=Pepe # correct=male     guess=female   name=Percy # correct=male     guess=female   name=Pierre # correct=male     guess=female   name=Piggy # correct=male     guess=female   name=Prentice # correct=male     guess=female   name=Quincey # correct=male     guess=female   name=Raleigh # correct=male     guess=female   name=Ramsey # correct=male     guess=female   name=Randy # correct=male     guess=female   name=Ray # correct=male     guess=female   name=Rich # correct=male     guess=female   name=Rickey # correct=male     guess=female   name=Ripley # correct=male     guess=female   name=Roddie # correct=male     guess=female   name=Rolfe # correct=male     guess=female   name=Roscoe # correct=male     guess=female   name=Samuele # correct=male     guess=female   name=Scottie # correct=male     guess=female   name=Shayne # correct=male     guess=female   name=Sheffy # correct=male     guess=female   name=Shurlocke # correct=male     guess=female   name=Sinclare # correct=male     guess=female   name=Solly # correct=male     guess=female   name=Stanly # correct=male     guess=female   name=Temple # correct=male     guess=female   name=Theodore # correct=male     guess=female   name=Toddy # correct=male     guess=female   name=Tracy # correct=male     guess=female   name=Tre # correct=male     guess=female   name=Tremayne # correct=male     guess=female   name=Tuckie # correct=male     guess=female   name=Verney # correct=male     guess=female   name=Vinnie # correct=male     guess=female   name=Walsh # correct=male     guess=female   name=Ware # correct=male     guess=female   name=Wesley # correct=male     guess=female   name=Westleigh # correct=male     guess=female   name=Willy # correct=male     guess=female   name=Zach # correct=male     guess=female   name=Zachary # correct=male     guess=female   name=Zackariah # correct=male     guess=female   name=Zary # correct=male     guess=female   name=Zebedee # correct=male     guess=female   name=Zechariah # correct=male     guess=female   name=Zeke # correct=male     guess=female   name=Zippy # over! # ===================== 特征集中使用2个的特征进行训练,结果如下: # 测试集的精度为0.799000 # correct=female   guess=male     name=Adel # correct=female   guess=male     name=Adrien # correct=female   guess=male     name=Ambur # correct=female   guess=male     name=Anet # correct=female   guess=male     name=Ansley # correct=female   guess=male     name=Ardeen # correct=female   guess=male     name=Ardelis # correct=female   guess=male     name=Ariel # correct=female   guess=male     name=Arleen # correct=female   guess=male     name=Ashleigh # correct=female   guess=male     name=Ashley # correct=female   guess=male     name=Aubrey # correct=female   guess=male     name=Audry # correct=female   guess=male     name=Babs # correct=female   guess=male     name=Birgit # correct=female   guess=male     name=Brandais # correct=female   guess=male     name=Bridgett # correct=female   guess=male     name=Brooke # correct=female   guess=male     name=Caitrin # correct=female   guess=male     name=Candis # correct=female   guess=male     name=Chris # correct=female   guess=male     name=Clem # correct=female   guess=male     name=Cloris # correct=female   guess=male     name=Consuelo # correct=female   guess=male     name=Corabel # correct=female   guess=male     name=Corliss # correct=female   guess=male     name=Cris # correct=female   guess=male     name=Cybill # correct=female   guess=male     name=Daffy # correct=female   guess=male     name=Danell # correct=female   guess=male     name=Daniel # correct=female   guess=male     name=Darcey # correct=female   guess=male     name=Dian # correct=female   guess=male     name=Doralin # correct=female   guess=male     name=Elizabet # correct=female   guess=male     name=Elke # correct=female   guess=male     name=Ethelin # correct=female   guess=male     name=Evy # correct=female   guess=male     name=Fan # correct=female   guess=male     name=Fawn # correct=female   guess=male     name=Frances # correct=female   guess=male     name=Francesmary # correct=female   guess=male     name=Gabey # correct=female   guess=male     name=Gabriel # correct=female   guess=male     name=Gail # correct=female   guess=male     name=Gayleen # correct=female   guess=male     name=Grethel # correct=female   guess=male     name=Haleigh # correct=female   guess=male     name=Harley # correct=female   guess=male     name=Hazel # correct=female   guess=male     name=Hildagard # correct=female   guess=male     name=Hilliary # correct=female   guess=male     name=Honey # correct=female   guess=male     name=Ikey # correct=female   guess=male     name=Iseabal # correct=female   guess=male     name=Jaleh # correct=female   guess=male     name=Jerry # correct=female   guess=male     name=Joey # correct=female   guess=male     name=Joleen # correct=female   guess=male     name=Jordain # correct=female   guess=male     name=Jorry # correct=female   guess=male     name=Karol # correct=female   guess=male     name=Kathy # correct=female   guess=male     name=Kerrin # correct=female   guess=male     name=Kiley # correct=female   guess=male     name=Kimberley # correct=female   guess=male     name=Koo # correct=female   guess=male     name=Krystal # correct=female   guess=male     name=Kyrstin # correct=female   guess=male     name=Laney # correct=female   guess=male     name=Libby # correct=female   guess=male     name=Lilyan # correct=female   guess=male     name=Lind # correct=female   guess=male     name=Linet # correct=female   guess=male     name=Loren # correct=female   guess=male     name=Lucky # correct=female   guess=male     name=Lurleen # correct=female   guess=male     name=Madlin # correct=female   guess=male     name=Magdalen # correct=female   guess=male     name=Maisey # correct=female   guess=male     name=Marabel # correct=female   guess=male     name=Marion # correct=female   guess=male     name=Megan # correct=female   guess=male     name=Meghan # correct=female   guess=male     name=Mel # correct=female   guess=male     name=Melisent # correct=female   guess=male     name=Mellisent # correct=female   guess=male     name=Michel # correct=female   guess=male     name=Norean # correct=female   guess=male     name=Oliy # correct=female   guess=male     name=Pat # correct=female   guess=male     name=Pegeen # correct=female   guess=male     name=Persis # correct=female   guess=male     name=Pet # correct=female   guess=male     name=Philis # correct=female   guess=male     name=Phillis # correct=female   guess=male     name=Phylis # correct=female   guess=male     name=Pooh # correct=female   guess=male     name=Pris # correct=female   guess=male     name=Raf # correct=female   guess=male     name=Rakel # correct=female   guess=male     name=Rey # correct=female   guess=male     name=Robin # correct=female   guess=male     name=Rosamond # correct=female   guess=male     name=Rosario # correct=female   guess=male     name=Scarlet # correct=female   guess=male     name=Sean # correct=female   guess=male     name=Shamit # correct=female   guess=male     name=Shannen # correct=female   guess=male     name=Shaun # correct=female   guess=male     name=Sheelagh # correct=female   guess=male     name=Shel # correct=female   guess=male     name=Shelagh # correct=female   guess=male     name=Sherry # correct=female   guess=male     name=Shir # correct=female   guess=male     name=Shirley # correct=female   guess=male     name=Sibel # correct=female   guess=male     name=Sydney # correct=female   guess=male     name=Tamar # correct=female   guess=male     name=Tuesday # correct=female   guess=male     name=Ulrike # correct=female   guess=male     name=Val # correct=female   guess=male     name=Vikky # correct=female   guess=male     name=Winnifred # correct=female   guess=male     name=Yoko # correct=female   guess=male     name=Zoe # correct=male     guess=female   name=Alfonse # correct=male     guess=female   name=Anatole # correct=male     guess=female   name=Andrea # correct=male     guess=female   name=Angie # correct=male     guess=female   name=Archie # correct=male     guess=female   name=Ari # correct=male     guess=female   name=Augie # correct=male     guess=female   name=Ave # correct=male     guess=female   name=Avi # correct=male     guess=female   name=Barnie # correct=male     guess=female   name=Barth # correct=male     guess=female   name=Caryl # correct=male     guess=female   name=Chaddie # correct=male     guess=female   name=Chaddy # correct=male     guess=female   name=Clayborne # correct=male     guess=female   name=Dale # correct=male     guess=female   name=Demetre # correct=male     guess=female   name=Donny # correct=male     guess=female   name=Elijah # correct=male     guess=female   name=Etienne # correct=male     guess=female   name=Felix # correct=male     guess=female   name=Frankie # correct=male     guess=female   name=Franklyn # correct=male     guess=female   name=Freddie # correct=male     guess=female   name=Garcia # correct=male     guess=female   name=Georg # correct=male     guess=female   name=Georgia # correct=male     guess=female   name=Gere # correct=male     guess=female   name=Giffie # correct=male     guess=female   name=Grace # correct=male     guess=female   name=Guthrie # correct=male     guess=female   name=Hari # correct=male     guess=female   name=Henrie # correct=male     guess=female   name=Herve # correct=male     guess=female   name=Hodge # correct=male     guess=female   name=Jamie # correct=male     guess=female   name=Kenny # correct=male     guess=female   name=Kingsly # correct=male     guess=female   name=Kyle # correct=male     guess=female   name=Laurance # correct=male     guess=female   name=Lemmy # correct=male     guess=female   name=Llewellyn # correct=male     guess=female   name=Lorne # correct=male     guess=female   name=Lorrie # correct=male     guess=female   name=Maurise # correct=male     guess=female   name=Meredith # correct=male     guess=female   name=Montague # correct=male     guess=female   name=Morlee # correct=male     guess=female   name=Nevile # correct=male     guess=female   name=Niki # correct=male     guess=female   name=Ole # correct=male     guess=female   name=Pace # correct=male     guess=female   name=Paige # correct=male     guess=female   name=Pryce # correct=male     guess=female   name=Rabbi # correct=male     guess=female   name=Reggy # correct=male     guess=female   name=Roddy # correct=male     guess=female   name=Roth # correct=male     guess=female   name=Rudy # correct=male     guess=female   name=Scotti # correct=male     guess=female   name=See # correct=male     guess=female   name=Sergei # correct=male     guess=female   name=Slade # correct=male     guess=female   name=Tally # correct=male     guess=female   name=Tanny # correct=male     guess=female   name=Tommy # correct=male     guess=female   name=Torrance # correct=male     guess=female   name=Towny # correct=male     guess=female   name=Tracy # correct=male     guess=female   name=Tyrone # correct=male     guess=female   name=Vite # correct=male     guess=female   name=Waine # correct=male     guess=female   name=Waite # correct=male     guess=female   name=Wayne # correct=male     guess=female   name=Zechariah