# \[ANN\] Jchemo.jl - A Julia package for Chemometrics

**URL:** https://discourse.julialang.org/t/ann-jchemo-jl-a-julia-package-for-chemometrics/91714
**Category:** Package Announcements
**Tags:** package, machine-learning, chemistry, spectroscopy
**Created:** [December 15, 2022, 8:42pm UTC](https://discourse.julialang.org/t/ann-jchemo-jl-a-julia-package-for-chemometrics/91714 "2022-12-15T20:42:34Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![matnbo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/matnbo/32/220166_2.png) [@matnbo](https://discourse.julialang.org/u/matnbo)
#### Post date: [December 15, 2022, 8:42pm UTC](https://discourse.julialang.org/t/ann-jchemo-jl-a-julia-package-for-chemometrics/91714/1 "2022-12-15T20:42:34Z")

</div>

I would like to announce a new Julia package for **chemometrics**.

**[Jchemo.jl](https://github.com/mlesnoff/Jchemo.jl)** provides **[functions](https://github.com/mlesnoff/Jchemo.jl/blob/master/docs/src/domains.md)** for **data exploration and predictions** in chemometrics or other domains, with focus on **high dimensional data**.

The package was initially designed about **k-nearest neighbors locally weighted partial least squares regression and discrimination models** (kNN-LWPLSR and kNN-LWPLSDA; e.g. [https://doi.org/10.1002/cem.3209](https://doi.org/10.1002/cem.3209)). It has now been expanded to many other methods for analysing high dimensional data.

Generic functions such as **transform** , **predict** , **coef** and **summary** are available.  
**Tuning the predictive models** is facilitated by functions **gridscore** (validation dataset) and  
**gridcv** (cross-validation). Faster versions are also available for models based on latent variables (LVs)  
( **gridscorelv** and **gridcvlv** ) and ridge regularization ( **gridscorelb** and **gridcvlb** ).

Some of the **Jchemo** functions (in particular those using kNN selections) use multi-threading  
to speed the computations. To take advantage of this, the user has to specify his relevant number  
of threads (e.g. from the setting menu of the VsCode Julia extension and the file settings.json).

**Jchemo** uses **Makie** for plotting. To display the plots, the user has to preliminary install and load one  
of the Makie’s backends (e.g. **CairoMakie** ).

Most of the functions have a **help page** (providing examples), e.g.:

```julia
?savgol

```

See [here](https://github.com/mlesnoff/Jchemo.jl) for more information.

The actual version is v0.1.9 and the package is regurlarly updated. Any feedback will be welcome.
