File R-ICompELM.spec of Package R-ICompELM
# Automatically generated by CRAN2OBS
#
# Spec file for package ICompELM
# This file is auto-generated using information in the package source,
# esp. Description and Summary. Improvements in that area should be
# discussed with upstream.
#
# Copyright (c) 2026 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%global packname ICompELM
%global rlibdir %{_libdir}/R/library
Name: R-%{packname}
Version: 0.1.0
Release: 0
Summary: Independent Component Analysis Based Extreme Learning Machine
Group: Development/Libraries/Other
License: GPL-3
URL: http://cran.r-project.org/web/packages/%{packname}
Source: ICompELM_0.1.0.tar.gz
Requires: R-base
Requires: R-tsutils
Requires: R-ica
Requires: R-RColorBrewer
Requires: R-forecast
Requires: R-MAPA
Requires: R-plotrix
Requires: R-colorspace
Requires: R-fracdiff
Requires: R-generics
Requires: R-ggplot2
Requires: R-lmtest
Requires: R-magrittr
Requires: R-Rcpp
Requires: R-timeDate
Requires: R-urca
Requires: R-withr
Requires: R-zoo
Requires: R-RcppArmadillo
Requires: R-smooth
Requires: R-cli
Requires: R-gtable
Requires: R-isoband
Requires: R-lifecycle
Requires: R-rlang
Requires: R-S7
Requires: R-scales
Requires: R-vctrs
Requires: R-greybox
Requires: R-pracma
Requires: R-statmod
Requires: R-nloptr
Requires: R-xtable
Requires: R-texreg
Requires: R-glue
Requires: R-cpp11
Requires: R-farver
Requires: R-labeling
Requires: R-R6
Requires: R-viridisLite
Requires: R-httr
Requires: R-curl
Requires: R-jsonlite
Requires: R-mime
Requires: R-openssl
Requires: R-askpass
Requires: R-sys
# %%if 0%%{?sle_version} > 120400 || 0%%{?is_opensuse}
# # Three others commonly needed
# BuildRequires: tex(ae.sty)
# BuildRequires: tex(fancyvrb.sty)
# BuildRequires: tex(inconsolata.sty)
# BuildRequires: tex(natbib.sty)
# %else
# BuildRequires: texlive
# %endif
# BuildRequires: texinfo
BuildRequires: fdupes
BuildRequires: R-base
BuildRequires: R-tsutils
BuildRequires: R-ica
BuildRequires: R-RColorBrewer
BuildRequires: R-forecast
BuildRequires: R-MAPA
BuildRequires: R-plotrix
BuildRequires: R-colorspace
BuildRequires: R-fracdiff
BuildRequires: R-generics
BuildRequires: R-ggplot2
BuildRequires: R-lmtest
BuildRequires: R-magrittr
BuildRequires: R-Rcpp-devel
BuildRequires: R-timeDate
BuildRequires: R-urca
BuildRequires: R-withr
BuildRequires: R-zoo
BuildRequires: R-RcppArmadillo-devel
BuildRequires: R-smooth
BuildRequires: R-cli
BuildRequires: R-gtable
BuildRequires: R-isoband
BuildRequires: R-lifecycle
BuildRequires: R-rlang
BuildRequires: R-S7
BuildRequires: R-scales
BuildRequires: R-vctrs
BuildRequires: R-greybox
BuildRequires: R-pracma
BuildRequires: R-statmod
BuildRequires: R-nloptr
BuildRequires: R-xtable
BuildRequires: R-texreg
BuildRequires: R-glue
BuildRequires: R-cpp11-devel
BuildRequires: R-farver
BuildRequires: R-labeling
BuildRequires: R-R6
BuildRequires: R-viridisLite
BuildRequires: R-httr
BuildRequires: R-curl
BuildRequires: R-jsonlite
BuildRequires: R-mime
BuildRequires: R-openssl
BuildRequires: R-askpass
BuildRequires: R-sys
Suggests: R-forecast
%description
Single Layer Feed-forward Neural networks (SLFNs) have many
applications in various fields of statistical modelling, especially for
time-series forecasting. However, there are some major disadvantages of
training such networks via the widely accepted 'gradient-based
backpropagation' algorithm, such as convergence to local minima,
dependencies on learning rate and large training time. These concerns
were addressed by Huang et al. (2006)
<doi:10.1016/j.neucom.2005.12.126>, wherein they introduced the Extreme
Learning Machine (ELM), an extremely fast learning algorithm for SLFNs
which randomly chooses the weights connecting input and hidden nodes
and analytically determines the output weights of SLFNs. It shows good
generalized performance, but is still subject to a high degree of
randomness. To mitigate this issue, this package uses a dimensionality
reduction technique given in Hyvarinen (1999) <doi:10.1109/72.761722>,
namely, the Independent Component Analysis (ICA) to determine the
input-hidden connections and thus, remove any sort of randomness from
the algorithm. This leads to a robust, fast and stable ELM model. Using
functions within this package, the proposed model can also be compared
with an existing alternative based on the Principal Component Analysis
(PCA) algorithm given by Pearson (1901)
<doi:10.1080/14786440109462720>, i.e., the PCA based ELM model given by
Castano et al. (2013) <doi:10.1007/s11063-012-9253-x>, from which the
implemented ICA based algorithm is greatly inspired.
%prep
%setup -q -c -n %{packname}
# the next line is needed, because we build without --clean in between two packages
rm -rf ~/.R
%build
%install
mkdir -p %{buildroot}%{rlibdir}
%{_bindir}/R CMD INSTALL -l %{buildroot}%{rlibdir} %{packname}
test -d %{packname}/src && (cd %{packname}/src; rm -f *.o *.so)
rm -f %{buildroot}%{rlibdir}/R.css
%fdupes -s %{buildroot}%{rlibdir}
#%%check
#%%{_bindir}/R CMD check %%{packname}
%files
%dir %{rlibdir}/%{packname}
%doc %{rlibdir}/%{packname}/DESCRIPTION
%{rlibdir}/%{packname}/INDEX
%{rlibdir}/%{packname}/Meta
%{rlibdir}/%{packname}/NAMESPACE
%{rlibdir}/%{packname}/R
%{rlibdir}/%{packname}/data
%doc %{rlibdir}/%{packname}/help
%doc %{rlibdir}/%{packname}/html
%changelog