pandas-ml
January 30, 2019 ยท View on GitHub
.. image:: https://img.shields.io/pypi/v/pandas_ml.svg :target: https://pypi.python.org/pypi/pandas_ml/ .. image:: https://readthedocs.org/projects/pandas-ml/badge/?version=latest :target: http://pandas-ml.readthedocs.org/en/latest/ :alt: Latest Docs .. image:: https://travis-ci.org/pandas-ml/pandas-ml.svg?branch=master :target: https://travis-ci.org/pandas-ml/pandas-ml .. image:: https://codecov.io/gh/pandas-ml/pandas-ml/branch/master/graph/badge.svg :target: https://codecov.io/gh/pandas-ml/pandas-ml
Overview
`pandas <http://pandas.pydata.org/>`_, `scikit-learn <http://scikit-learn.org/>`_
and `xgboost <http://xgboost.readthedocs.org/en/latest/index.html>`_ integration.
Installation
.. code-block::
$ pip install pandas_ml
Documentation
http://pandas-ml.readthedocs.org/en/stable/
Example
~~~~~~~
.. code-block:: python
>>> import pandas_ml as pdml
>>> import sklearn.datasets as datasets
# create ModelFrame instance from sklearn.datasets
>>> df = pdml.ModelFrame(datasets.load_digits())
>>> type(df)
<class 'pandas_ml.core.frame.ModelFrame'>
# binarize data (features), not touching target
>>> df.data = df.data.preprocessing.binarize()
>>> df.head()
.target 0 1 2 3 4 5 6 7 8 ... 54 55 56 57 58 59 60 61 62 63
0 0 0 0 1 1 1 1 0 0 0 ... 0 0 0 0 1 1 1 0 0 0
1 1 0 0 0 1 1 1 0 0 0 ... 0 0 0 0 0 1 1 1 0 0
2 2 0 0 0 1 1 1 0 0 0 ... 1 0 0 0 0 1 1 1 1 0
3 3 0 0 1 1 1 1 0 0 0 ... 1 0 0 0 1 1 1 1 0 0
4 4 0 0 0 1 1 0 0 0 0 ... 0 0 0 0 0 1 1 1 0 0
[5 rows x 65 columns]
# split to training and test data
>>> train_df, test_df = df.model_selection.train_test_split()
# create estimator (accessor is mapped to sklearn namespace)
>>> estimator = df.svm.LinearSVC()
# fit to training data
>>> train_df.fit(estimator)
# predict test data
>>> test_df.predict(estimator)
0 4
1 2
2 7
...
448 5
449 8
Length: 450, dtype: int64
# Evaluate the result
>>> test_df.metrics.confusion_matrix()
Predicted 0 1 2 3 4 5 6 7 8 9
Target
0 52 0 0 0 0 0 0 0 0 0
1 0 37 1 0 0 1 0 0 3 3
2 0 2 48 1 0 0 0 1 1 0
3 1 1 0 44 0 1 0 0 3 1
4 1 0 0 0 43 0 1 0 0 0
5 0 1 0 0 0 39 0 0 0 0
6 0 1 0 0 1 0 35 0 0 0
7 0 0 0 0 2 0 0 42 1 0
8 0 2 1 0 1 0 0 0 33 1
9 0 2 1 2 0 0 0 0 1 38
Supported Packages
scikit-learnpatsyxgboost