Skip to main content

Metafeature Extraction for Unstructured Data

Project description

Elemeta: Metafeature Extraction for Unstructured Data

Elemeta is an open-source library in Python for metafeature extraction. With it, you will be able to explore, monitor, and extract features from unstructured data through enriched tabular representations. It provides a straightforward Python API for metafeature extraction from unstructured data like text and images.

Key usage of Elemeta includes:

  • Exploratory Data Analysis (EDA) - extract useful metafeature on unstructured data to analyze, investigate, and summarize the main characteristics and employ data visualization methods.
  • Data and model monitoring - utilize structured ML monitoring techniques in addition to the typical latent embedding visualizations.
  • Feature extraction - engineer alternative features to be utilized in simpler models such as decision trees.

Getting Started

Get started with Elemeta by installing the Python library via pip

pip install elemeta

Once installed, there are a few example dataframes that can be used for testing the library. You can find them in elemeta.dataset.dateset

from elemeta.dataset.dataset import get_imdb_reviews
# Load existing dataframe
reviews = get_imdb_reviews()

After you have a dataset with the text column, you can start using the library with the following Python API:

from elemeta.nlp.runners.metafeature_extractors_runner import MetafeatureExtractorsRunner

metafeature_extractors_runner = MetafeatureExtractorsRunner()
reviews = metafeature_extractors_runner.run_on_dataframe(dataframe=reviews, text_column='review')
reviews.show()

Pandas DataFrames

Elemeta can enrich standard dataframe objects:

from elemeta.nlp.runners.metafeature_extractors_runner import MetafeatureExtractorsRunner
import pandas as pd

df = pd.dataframe({"text": ["Hi I just met you, and this is crazy", "What does the fox say?", "I love robots"})
metafeature_extractors_runner = MetafeatureExtractorsRunner()
df_with_metafeatures = metafeature_extractors_runner.run_on_dataframe(dataframe=reviews, text_column="text")

Strings

Elemeta can enrich specific strings:

from elemeta.nlp.runners.metafeature_extractors_runner import MetafeatureExtractorsRunner

metafeature_extractors_runner = MetafeatureExtractorsRunner()
metafeature_extractors_runner.run("This is a text about how good life is :)")

Documentation

This package aims to help enrich non-tabular data (i.e. text:nlp pictures: image processing and so on). Currently, we only support textual data, and we enrich it by extracting meta features (such as avg word length).

Community

Elemeta is brand new, so we don't have a formal process for contributions just yet. If you have feedback or would like to contribute, just go ahead and post a GitHub issue

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

elemeta-1.3.1.tar.gz (30.4 MB view hashes)

Uploaded Source

Built Distribution

elemeta-1.3.1-py3-none-any.whl (30.4 MB view hashes)

Uploaded Python 3

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