spectrochempy.IRISο
- class IRIS(log_level='WARNING', warm_start=False, *, qpsolver='osqp', reg_par=None)[source]ο
Integral inversion solver for spectroscopic data (IRIS).
IRIS
, a model developed by Stelmachowski et al. [2013], solves integral equation of the first kind of 1 or 2 dimensions, i.e., finds a distribution function \(f(p)\) or \(f(c,p)\) of contributions to univariate data \(a(p)\) or multivariate \(a(c, p)\) data evolving with an external experimental variable \(p\) (time, pressure, temperature, concentration, β¦) according to the integral transform:\[a(c, p) = \int_{min}^{max} k(q, p) f(c, q) dq\]\[a(p) = \int_{min}^{max} k(q, p) f(q) dq\]where the kernel \(k(q, p)\) expresses the functional dependence of a single contribution with respect to the experimental variable \(p\) and βinternalβ physico-chemical variable \(q\) .
Regularization is triggered when
reg_par
is set to an array of two or three values.If
reg_par
has two values [min
,max
], the optimum regularization parameter is searched between \(10^{min}\) and \(10^{max}\). Automatic search of the regularization is made using the Cultrera_Callegaro algorithm (:cite:p:cultrera:2020) which involves the Menger curvature of a circumcircle and the golden section search method.If three values are given ([
min
,max
,num
]), then the inversion will be made fornum
values evenly spaced on a log scale between \(10^{min}\) and \(10^{max}\).- Parameters:
log_level (any of [
"INFO"
,"DEBUG"
,"WARNING"
,"ERROR"
], optional, default:"WARNING"
) β The log level at startup. It can be changed later on using theset_log_level
method or by changing thelog_level
attribute.warm_start (
bool
, optional, default:False
) β When fitting repeatedly on the same dataset, but for multiple parameter values (such as to find the value maximizing performance), it may be possible to reuse previous model learned from the previous parameter value, saving time.When
warm_start
isTrue
, the existing fitted model attributes is used to initialize the new model in a subsequent call tofit
.qpsolver (any value of [
'osqp'
,'quadprog'
], optional, default:'osqp'
) β Quatratic programming solver (osqp
(default) orquadprog
). Note that quadprog is not installed with spectrochempy.reg_par (
list
, optional, default: []) β Regularization parameter (two values [min
,max
] or three values [start
,stop
,num
]. Ifreg_par
is None, no regularization is applied.
See also
EFA
Perform an Evolving Factor Analysis (forward and reverse).
FastICA
Perform Independent Component Analysis with a fast algorithm.
MCRALS
Perform MCR-ALS of a dataset knowing the initial \(C\) or \(S^T\) matrix.
NMF
Non-Negative Matrix Factorization.
PCA
Perform Principal Components Analysis.
SIMPLISMA
SIMPLe to use Interactive Self-modeling Mixture Analysis.
SVD
Perform a Singular Value Decomposition.
Initialize the BaseConfigurable class.
- Parameters:
log_level (int, optional) β The log level at startup. Default is logging.WARNING.
**kwargs (dict) β Additional keyword arguments for configuration.
Attributes Summary
Return the X input dataset (eventually modified by the model).
The
Y
input.NDDataset
with components in feature space (n_components, n_features).traitlets.config.Config
object.Return
log
output.Number of components that were fitted.
Object name
Quatratic programming solver (
osqp
(default) orquadprog
).Regularization parameter (two values [
min
,max
] or three values [start
,stop
,num
].Methods Summary
fit
(X[,Β Y])Fit the model with
X
as input dataset.fit_transform
(X[,Β Y])Fit the model with
X
and apply the dimensionality reduction onX
.get_components
([n_components])Return the component's dataset: (selected n_components, n_features).
Transform data back to the original space.
parameters
([replace,Β removed,Β default])Alias for
params
method.params
([default])Return current or default configuration values.
plotdistribution
([index])Plot the distribution function.
plotlcurve
([scale,Β title])Plot the
L-Curve
.plotmerit
([index])Plot the input dataset, reconstructed dataset and residuals.
reconstruct
([X_transform])Transform data back to its original space.
reduce
([X])Apply dimensionality reduction to
X
.reset
()Reset configuration parameters to their default values.
to_dict
()Return config value in a dict form.
transform
([X])Apply dimensionality reduction to
X
.Attributes Documentation
- Xο
Return the X input dataset (eventually modified by the model).
- componentsο
NDDataset
with components in feature space (n_components, n_features).See also
get_components
Retrieve only the specified number of components.
- configο
traitlets.config.Config
object.
- logο
Return
log
output.
- n_componentsο
Number of components that were fitted.
- nameο
Object name
- qpsolverο
Quatratic programming solver (
osqp
(default) orquadprog
). Note that quadprog is not installed with spectrochempy.
- reg_parο
Regularization parameter (two values [
min
,max
] or three values [start
,stop
,num
]. Ifreg_par
is None, no regularization is applied.
Methods Documentation
- fit(X, Y=None)[source]ο
Fit the model with
X
as input dataset.- Parameters:
X (
NDDataset
or array-like of shape (n_observations, n_features)) β Training data.Y (any) β Depends on the model.
- Returns:
self β The fitted instance itself.
See also
fit_transform
Fit the model with an input dataset
X
and apply the dimensionality reduction onX
.fit_reduce
Alias of
fit_transform
(Deprecated).
- fit_transform(X, Y=None, **kwargs)[source]ο
Fit the model with
X
and apply the dimensionality reduction onX
.- Parameters:
X (
NDDataset
or array-like of shape (n_observations, n_features)) β Training data.Y (any) β Depends on the model.
**kwargs (keyword parameters, optional) β See Other Parameters.
- Returns:
NDDataset
β Dataset with shape (n_observations, n_components).- Other Parameters:
n_components (
int
, optional) β The number of components to use for the reduction. If not given the number of components is eventually the one specified or determined in thefit
process.
- get_components(n_components=None)ο
Return the componentβs dataset: (selected n_components, n_features).
- Parameters:
n_components (
int
, optional, default:None
) β The number of components to keep in the output dataset. IfNone
, all calculated components are returned.- Returns:
NDDataset
β Dataset with shape (n_components, n_features)
- inverse_transform()[source]ο
Transform data back to the original space.
The following matrix operation is performed : \(\hat{X} = K.f[i]\) for each value of the regularization parameter.
- Returns:
NDDataset
β The reconstructed dataset.
- parameters(replace="params", removed="0.8.0") def parameters(self, default=False)[source]ο
Alias for
params
method.Deprecated since version 0.8.0: Use
params
instead.
- plotdistribution(index=None, **kwargs)[source]ο
Plot the distribution function.
This function plots the distribution function f of the
IRIS
object.
- plotmerit(index=None, **kwargs)[source]ο
Plot the input dataset, reconstructed dataset and residuals.
- Parameters:
- Returns:
- Other Parameters:
colors (
tuple
orndarray
of 3 colors, optional) β Colors forX
,X_hat
and residualsE
. in the case of 2D, The default colormap is used forX
. By default, the three colors areNBlue
,NGreen
andNRed
(which are colorblind friendly).offset (
float
, optional, default:None
) β Specify the separation (in percent) between the \(X\) , \(X_hat\) and \(E\).nb_traces (
int
or'all'
, optional) β Number of lines to display. Default is'all'
.**others (Other keywords parameters) β Parameters passed to the internal
plot
method of theX
dataset.
- reconstruct(X_transform=None, **kwargs)[source]ο
Transform data back to its original space.
In other words, return an input
X_original
whose reduce/transform would beX_transform
.- Parameters:
X_transform (array-like of shape (n_observations, n_components), optional) β Reduced
X
data, wheren_observations
is the number of observations andn_components
is the number of components. IfX_transform
is not provided, a transform ofX
provided infit
is performed first.**kwargs (keyword parameters, optional) β See Other Parameters.
- Returns:
NDDataset
β Dataset with shape (n_observations, n_features).- Other Parameters:
n_components (
int
, optional) β The number of components to use for the reduction. If not given the number of components is eventually the one specified or determined in thefit
process.
See also
reconstruct
Alias of inverse_transform (Deprecated).
Notes
Deprecated in version 0.6.
- reduce(X=None, **kwargs)[source]ο
Apply dimensionality reduction to
X
.- Parameters:
X (
NDDataset
or array-like of shape (n_observations, n_features), optional) β New data, where n_observations is the number of observations and n_features is the number of features. if not provided, the input dataset of thefit
method will be used.**kwargs (keyword parameters, optional) β See Other Parameters.
- Returns:
NDDataset
β Dataset with shape (n_observations, n_components).- Other Parameters:
n_components (
int
, optional) β The number of components to use for the reduction. If not given the number of components is eventually the one specified or determined in thefit
process.
Notes
Deprecated in version 0.6.
- transform(X=None, **kwargs)ο
Apply dimensionality reduction to
X
.- Parameters:
X (
NDDataset
or array-like of shape (n_observations, n_features), optional) β New data, where n_observations is the number of observations and n_features is the number of features. if not provided, the input dataset of thefit
method will be used.**kwargs (keyword parameters, optional) β See Other Parameters.
- Returns:
NDDataset
β Dataset with shape (n_observations, n_components).- Other Parameters:
n_components (
int
, optional) β The number of components to use for the reduction. If not given the number of components is eventually the one specified or determined in thefit
process.
Examples using spectrochempy.IRIS