CIP (Computational Intelligence Packages for Mathematica 9 or higher) is an open-source high-level function library for (non-linear) curve fitting and data smoothing (with cubic splines), clustering (k-medoids, ART-2a) and machine learning (multiple linear/polynomial regression, 3-layer feedforward perceptron-type neural networks and support vector machines). In addition it provides several heuristics for the selection of training and test data or methods to estimate the relevance of data input components. CIP is built on top of the commercial computing platform Mathematica to exploits its algorithmic and graphical capabilities.
The structure of CIP calculations follows an intuitive and unified Get-Fit-Show/Calculate scheme: With Get methods data are retrieved/simulated (e.g. with the CIP ExperimentalData/CalculatedData package or retrieved elsewhere) that are then submitted to a Fit method (of the CIP CurveFit, Cluster, MLR, MPR, SVM or Perceptron package). The result of the latter is a comprehensive info data structure (curveFitInfo, clusterInfo, mlrInfo, mprInfo, svmInfo or perceptronInfo) that can be passed to corresponding Show methods for multiple evaluation purposes like visual inspection of the goodness of fit or to Calculate methods for model related calculations. Similar operations of different packages are denoted in a similar manner to ease method changes. Method signatures contain only structural hyper-parameters where technical control parameters may be changed via options if necessary.
The CIP design goals were neither maximum speed nor minimum memory consumption but the sketched intuitive, unified and robust access to high-level functions.
Since CIP is LGPL open-source (see download section below) the library may be used as a starting point for customized and tailored extensions.
CI packages
Additional information
From the reviews of the 1st edition: 'From curve fitting to machine learning' is ... a useful book. ... It contains the basic formulas of curve fitting and related subjects and throws in, what is missing in so many books, the code to reproduce the results. ... All in all this is an interesting and useful book both for novice as well as expert readers. For the novice it is a good introductory book and the expert will appreciate the many examples and working code. (Leslie A. Piegl, Zentralblatt MATH, Zbl 1236.68004)
CIP 2.0 is used for all examples and applications outlined in the book.
Download complete CIP 2.0 textbook examples and applications: ZIP file with Mathematica/CIP 2.0 code
(CIP 1.0 was used for all examples and applications outlined in the 1st edition of the book. Download complete CIP 1.0 textbook examples and applications: ZIP file with Mathematica/CIP 1.0 code).
Discussion of document-centered data analysis workflows with CIP 1.2: PDF / Mathematica Notebook of discussed Example
Overview and examples of CIP 1.2 functions for scientific data analysis: PDF / Mathematica Notebook
Tutorials:
Citation
Achim Zielesny, Computational Intelligence Packages (CIP), Version 2.0, GNWI mbH, Oer-Erkenschwick, Germany, 2016.
Download
CIP 2.0 (for Mathematica 9 or higher): Adds parallelized calculation support and minor improvements (see "About.txt")
CIP 1.2 (for Mathematica 7 or higher): Adds minor improvements (see "About.txt")
CIP 1.1 (for Mathematica 7 or higher): Adds MPR and several improvements (see "About.txt")
CIP 1.0 (for Mathematica 7 or higher): Basic operational release