Skip to main content

Implementation of various algorithms for feature selection for text features based on filter method

Project description

What is it?

TextFeatureSelection is a Python package providing feature selection for text tokens through filter method of feature selection and we can set a threshold to decide which words to be included. There are 4 methods for helping feature selection.

  • Chi-square It measures the lack of independence between term(t) and class(c). It has a natural value of zero if t and c are independent. If it is higher, then term is dependent. It is not reliable for low-frequency terms

  • Mutual information Rare terms will have a higher score than common terms. For multi-class categories, we will calculate MI value for all categories and will take the Max(MI) value across all categories at the word level.

  • Proportional difference How close two numbers are from becoming equal. It helps find unigrams that occur mostly in one class of documents or the other.

  • Information gain It gives discriminatory power of the word.

Input parameters

  • target list object which has categories of labels. for more than one category, no need to dummy code and instead provide label encoded values as list object.
  • input_doc_list List object which has text. each element of list is text corpus. No need to tokenize, as text will be tokenized in the module while processing. target and input_doc_list should have same length.
  • stop_words Words for which you will not want to have metric values calculated. Default is blank
  • metric_list List object which has the metric to be calculated. There are 4 metric which are being computed as 'MI','CHI','PD','IG'. you can specify one or more than one as a list object. Default is ['MI','CHI','PD','IG']. Chi-square(CHI), Mutual information(MI), Proportional difference(PD) and Information gain(IG) are 4 metric which are calculated for each tokenized word from the corpus to aid the user for feature selection.

How to use is it?

from TextFeatureSelection import TextFeatureSelection

#Multiclass classification problem
input_doc_list=['i am very happy','i just had an awesome weekend','this is a very difficult terrain to trek. i wish i stayed back at home.','i just had lunch','Do you want chips?']
target=['Positive','Positive','Negative','Neutral','Neutral']
fsOBJ=TextFeatureSelection(target=target,input_doc_list=input_doc_list)
result_df=fsOBJ.getScore()
print(result_df)


#Binary classification
input_doc_list=['i am content with this location','i am having the time of my life','you cannot learn machine learning without linear algebra','i want to go to mars']
target=[1,1,0,1]
fsOBJ=TextFeatureSelection(target=target,input_doc_list=input_doc_list)
result_df=fsOBJ.getScore()
print(result_df)

Where to get it?

pip install TextFeatureSelection

Dependencies

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

TextFeatureSelection-0.0.2.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

TextFeatureSelection-0.0.2-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file TextFeatureSelection-0.0.2.tar.gz.

File metadata

  • Download URL: TextFeatureSelection-0.0.2.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.9

File hashes

Hashes for TextFeatureSelection-0.0.2.tar.gz
Algorithm Hash digest
SHA256 601412fba809eefbdb6cb0e28994d896e9c4f5e0c54eef7e46f6e46148f4cbe5
MD5 ce9dd9362728f7fc0ff47261cac79e06
BLAKE2b-256 1015ecb0447e876ac4829ea6f7a9bc089a4fb0a788d125d55dc9044fed55c417

See more details on using hashes here.

File details

Details for the file TextFeatureSelection-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: TextFeatureSelection-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.9

File hashes

Hashes for TextFeatureSelection-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 886b92774cccef7b3b9f6a64cbfe3b9052df1db8df67b08f5a4923827b2b75fc
MD5 44b9ee218bd1d4e2ee5f673c98f00491
BLAKE2b-256 109a2874e6a78ee9e8a0d694a1229625ba30690b772c24ba6f045b8df8244171

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page