Skip to content

A naive Bayes classifier for first name binary gender prediction. Easily extended and implemented.

License

Notifications You must be signed in to change notification settings

cacko/gender-predictor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gender_predictor

This package is a Python 3 port of Stephen Holiday's genderPredictor nltk.NaiveBayesClassifier wrapper. It has been rewritten mostly for personal use and is now used in a variety of unreleased classification projects of mine. More details to come on how I have used it...

Data was downloaded from the U.S. Social Security website portal for Beyond the Top 100 Names. Names included are U.S. nationwide baby names from 2015 with at least five occurences.

To install this package:

pip install git+git:https://github.com/clintval/gender_predictor.git

Usage is simple. For first time the class is instantiated in the current working directory, the raw data will need to be downloaded and pickled. Only the file names.pickle is needed.

>>> from gender_predictor import GenderPredictor

>>> gp = GenderPredictor()
>>> gp.train_and_test()

"names.pickle does not exist... creating"
"names.zip does not exist... downloading"
"names.pickle saved"
"32,031 male names"
"56,347 female names"
"classifier accuracy: 96.96%"

To classify a name:

>>> gp.classify('Aldo')

"M"
>>> gp.classify('Kaylee')

"F"

To change the directory gender_predictor uses for data storage you may reset gender.predictor.PATH before instantiating the classifier class.

>>> import gender_predictor

>>> print(gender_predictor.PATH)

"./gender_prediction/"

>>> gender_predictor.PATH = '~/data/project01/'
>>> print(gender_predictor.PATH)

"~/data/project01/"

About

A naive Bayes classifier for first name binary gender prediction. Easily extended and implemented.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%