shunk031 / allennlp-dataframe-mapper

AllenNLP integration for sklearn-pandas

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AllenNLP integration for sklearn-pandas

CI Release Python PyPI

allennlp-dataframe-mapper is a Python library that provides AllenNLP integration for sklearn-pandas.

Installation

Installing the library and dependencies is simple using pip.

$ pip install allennlp-dataframe-mapper

Example

This library enables users to specify the in a jsonnet config file. Here is an example of the mapper for a famous iris dataset.

Config

allennlp-dataframe-mapper is specified the transformations of the mapper in jsonnet config file like following mapper_iris.jsonnet:

{
    "type": "default",
    "features": [
        [["sepal length (cm)"], null],
        [["sepal width (cm)"], null],
        [["petal length (cm)"], null],
        [["petal width (cm)"], null],
        [["species"], [{"type": "flatten"}, {"type": "label-encoder"}]],
    ],
    "df_out": true,
}

Mapper

The mapper takes a param of transformations from the config file. We can use the fit_transform shortcut to both fit the mapper and see what transformed data.

from allennlp.common import Params
from allennlp_dataframe_mapper import DataFrameMapper

params = Params.from_file("mapper_iris.jsonnet")
mapper = DataFrameMapper.from_params(params=params)

print(mapper)
# DataFrameMapper(df_out=True,
#                 features=[(['sepal length (cm)'], None, {}),
#                           (['sepal width (cm)'], None, {}),
#                           (['petal length (cm)'], None, {}),
#                           (['petal width (cm)'], None, {}),
#                           (['species'], [FlattenTransformer(), LabelEncoder()], {})])

mapper.fit_transform(df)

License

MIT

About

AllenNLP integration for sklearn-pandas

License:MIT License


Languages

Language:Python 89.9%Language:Jsonnet 8.4%Language:Makefile 1.7%