Coder Social home page Coder Social logo

sassoftware / python-pipefitter Goto Github PK

View Code? Open in Web Editor NEW
12.0 13.0 7.0 1.36 MB

The SAS pipefitter package provides a Python API for developing pipelines for data transformation and model fitting as stages of a repeatable machine learning workflow in either SAS v9 or SAS Viya.

License: Apache License 2.0

Python 100.00%
sas-quest

python-pipefitter's Introduction

SAS Pipefitter

The SAS Pipefitter project provides a Python API for developing machine learning pipelines. The pipelines are built from stages that perform variable transformation, parameter estimation, and hyperparameter tuning.

A key feature of pipefitter is that the pipelines can run with a SAS 9.4 platform as well as with SAS Cloud Analytic Services (CAS) in the SAS Viya platform.

This package builds on the SASPy and SAS SWAT packages. Those packages enable Python to work with SAS 9.4 and SAS Viya, respectively.

Installation

SAS pipefitter can be installed as follows with `pip`:

pip install pipefitter

Alternatively, you can install a specific release as follows:

pip install https://github.com/sassoftware/python-pipefitter/releases/download/vX.X.X/pipefitter-X.X.X.tar.gz

Dependencies

The package is a pure Python package and works with Python 2.7 or 3.4+.

However, the packages that enable Python to work with the different SAS platforms introduce dependencies of their own.

Package SAS Platfom Python Support
SASPy 2.x SAS 9.4 or higher Python 3.x
SWAT v1.1.0+ SAS Viya Python 2.7 or 3.4+

Resources

Pipefitter documentation

SASPy

SAS SWAT for Python

Python

python-pipefitter's People

Contributors

jld23 avatar sahbic avatar tomweber-sas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

python-pipefitter's Issues

Hyperparameter tuning fails because of .ix

hyperparameter tuning fails in the provided example

hpt = HyperParameterTuning(
          estimator=DecisionTree(target='label', 
              inputs=['a'+str(i) for i in range(50)]),
          param_grid=param_grid, 
          cv=3)

hpt.gridsearch(casdata)

with the following error

'SASDataFrame' object has no attribute 'ix' error

the reason seems to be that .ix is deprecated

score method cannot be used in another CAS session

Issue

The score method fails when used in a CAS session that is different from the CAS session used for fit

image

Possible explanation:

The model table has a session scope.

Desired behavior

Be able to fit the model and score it in two different sessions.

The score method does not output predictions

Issue

The score method of models and pipeline does not output the actual predicted values

Actual behavior

score method returns a Series of metric results:

image

Suggestions:

Option 1:

Change the score method to output a table of the results.
For CAS backend, it can be the name of the casout table as an additional value in the results table

Option 2:

Keep the behavior of score method as is, and add a predict method (similar to sklearn syntax) that outputs a table of the results

AttributeError when using gridsearch hyperparameter tuning.

I'm following the example from the documentation here: link

Get the following error message when trying to run the gridsearch:
AttributeError: 'SASDataFrame' object has no attribute 'ix'

The "train_ct" table is in fact a CASTable and has the attribute 'ix'. As there are no other arguments, I don't know wether this is user error or a bug.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.