Kullback–Leibler Importance Estimation Procedure to Improve Gas Quantification in an Electronic Nose
Abstract
:1. Introduction
2. Materials and Methods
2.1. Dataset
- Ammonia;
- Acetaldehyde;
- Acetone;
- Ethylene;
- Ethanol;
- Toluene.
2.2. Kullback–Leibler Importance Estimation Procedure (KLIEP)
2.3. Methodology for Regressor Selection
- Determine the regressor: For this research, three regressors were implemented: extreme gradient boosting (XGBoost), simple linear regression and AdaBoost.
- Import batch data to study: The dataset had ten batches, as described in Table 3. To choose and define which is the best regressor, it was decided to work with batch 1 by taking the first samples obtained in the research by Vergara et al., where the electronic nose sensor array takes the first defined data.
- Assignment of variables to recognize each gas: It was necessary to assign a variable for each gas that allows the system to validate the behavior of the regressor for each gas.
- Implementation of the regression function: The comparison of the chosen R2 error with the different parameters of the regressor model algorithm allowed determining if the value was close to the model, validating the selection of the regressor function.
- Replacing the values in the regressor function: Once the corresponding error for each parameter was known, they were substituted in the applied regressor function, and in this way, the error was obtained for each gas in the dataset for the regressor.
- Evaluation of the errors: Steps 4 and 5 were repeated for each gas in the dataset using the same model to determine the regression error for each gas according to the dataset.
- Minimum error applied to each regressor: the objective was to evaluate the error applied to each regressor for the six gases to obtain the average error for the evaluated regressor.
- Selection of the regressor: Steps 1 to 7 were carried out for all the regressors to compare the minimum average error to select the regressor that best fit the dataset.
2.4. Extreme Gradient Boosting (XGBoost) Regressor
2.5. AdaBoost Regressor
2.6. Simple Linear Regression
2.7. Best Regressor for the Dataset
3. Results
3.1. First Experiment: n Batch Training and n + 1 Batch Testing
3.2. Second Experiment: Training Batches 1–5 and Testing Batches 6–9
3.3. Third Experiment: Training Batches 6–9 and Testing Batch 10
3.4. Fourth Experiment: Training Batch 1 and Testing the Other Batches
3.5. Discussion
- From the previous tables, it can be added that the problem of the negative values is caused because of underfitting.
- In some cases, the results improved for some batches, but in other cases, the error increased. This variation is due to the number of samples evaluated in which a lower number of samples represents a lower presicion for the proposed model.
- This experiment verifies the AdaBoost regressor’s performance on the dataset. In the end, it shows good monitoring and improvement of the results based on the R2 error for the entire dataset.
4. AdaBoost Regressor with KLIEP Domain Adaptation Methodology
- Feature-based containment methods that perform feature transformation;
- The instance-based methods with the implementation of reweighting techniques;
- Parameter-based proposal methods for adapting pre-trained models to novel observations.
4.1. n Batch Training and n + 1 Batch Testing with DA
4.2. Training Batches 1–5 and Testing Batches 6–9 with DA
4.3. Training Batches 6–9 and Testing Batch 10 with DA
- From the first experiment using DA, it can be seen that there are no negative errors, as shown in Table 12 and Table 8. Several errors of 1% were obtained, which is the best-calculated error, with only six errors less than 88%. This percentage demonstrates the proper functioning of the applied domain adaptation KLIEP algorithm. This behavior was constant among the batches.
- The validation of the correct functioning of the second experiment with AD was carried out directly by comparing Table 13 with Table 9. There was an improvement in the errors calculated with the regressor. In Table 9, the average error was 56.3%, but Table 13 shows an average error of 86.5%. These results show how the instancebased domain adaptation model helped improve the accuracy of the AdaBoost regressor.
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
KLIEP | Kullback–Leibler importance estimation procedure |
PPM | Parts per million |
LCV | Likelihood cross validation |
DA | Domain adaptation |
XGBoost | Extreme gradient boosting |
References
- Leon-Medina, J.X.; Parés, N.; Anaya, M.; Tibaduiza, D.A.; Pozo, F. Data Classification Methodology for Electronic Noses Using Uniform Manifold Approximation and Projection and Extreme Learning Machine. Mathematics 2021, 10, 29. [Google Scholar]
- Rodriguez-Lujan, I.; Fonollosa, J.; Vergara, A.; Homer, M.; Huerta, R. On the calibration of sensor arrays for pattern recognition using the minimal number of experiments. Chemom. Intell. Lab. Syst. 2014, 130, 123–134. [Google Scholar]
- Del Valle, M. Sensor arrays and electronic tongue systems. Int. J. Electrochem. 2012, 2012, 986025. [Google Scholar]
- Ye, Z.; Liu, Y.; Li, Q. Recent progress in smart electronic nose technologies enabled with machine learning methods. Sensors 2021, 21, 7620. [Google Scholar] [CrossRef]
- Zhang, L.; Zhang, D. Domain adaptation extreme learning machines for drift compensation in E-nose systems. IEEE Trans. Instrum. Meas. 2014, 64, 1790–1801. [Google Scholar]
- Vergara, A.; Vembu, S.; Ayhan, T.; Ryan, M.A.; Homer, M.L.; Huerta, R. Chemical gas sensor drift compensation using classifier ensembles. Sens. Actuators B Chem. 2012, 166, 320–329. [Google Scholar]
- Dadkhah, M.; Tulliani, J.M. Nanostructured Metal Oxide Semiconductors towards Greenhouse Gas Detection. Chemosensors 2022, 10, 57. [Google Scholar]
- Leon-Medina, J.X.; Pineda-Muñoz, W.A.; Burgos, D.A.T. Joint distribution adaptation for drift correction in electronic nose type sensor arrays. IEEE Access 2020, 8, 134413–134421. [Google Scholar]
- Dong, W.; Zhao, J.; Hu, R.; Dong, Y.; Tan, L. Differentiation of Chinese robusta coffees according to species, using a combined electronic nose and tongue, with the aid of chemometrics. Food Chem. 2017, 229, 743–751. [Google Scholar]
- Gu, D.C.; Liu, W.; Yan, Y.; Wei, W.; Gan, J.h.; Lu, Y.; Jiang, Z.L.; Wang, X.C.; Xu, C.H. A novel method for rapid quantitative evaluating formaldehyde in squid based on electronic nose. LWT 2019, 101, 382–388. [Google Scholar]
- Blanco-Rodríguez, A.; Camara, V.F.; Campo, F.; Becherán, L.; Durán, A.; Vieira, V.D.; de Melo, H.; Garcia-Ramirez, A.R. Development of an electronic nose to characterize odours emitted from different stages in a wastewater treatment plant. Water Res. 2018, 134, 92–100. [Google Scholar]
- Kiani, S.; Minaei, S.; Ghasemi-Varnamkhasti, M.; Ayyari, M. An original approach for the quantitative characterization of saffron aroma strength using electronic nose. Int. J. Food Prop. 2017, 20, S673–S683. [Google Scholar]
- Viejo, C.G.; Fuentes, S.; Godbole, A.; Widdicombe, B.; Unnithan, R.R. Development of a low-cost e-nose to assess aroma profiles: An artificial intelligence application to assess beer quality. Sens. Actuators B Chem. 2020, 308, 127688. [Google Scholar]
- Han, F.; Huang, X.; Teye, E.; Gu, F.; Gu, H. Nondestructive detection of fish freshness during its preservation by combining electronic nose and electronic tongue techniques in conjunction with chemometric analysis. Anal. Methods 2014, 6, 529–536. [Google Scholar]
- Xu, M.; Wang, J.; Zhu, L. The qualitative and quantitative assessment of tea quality based on E-nose, E-tongue and E-eye combined with chemometrics. Food Chem. 2019, 289, 482–489. [Google Scholar]
- Du, D.; Wang, J.; Wang, B.; Zhu, L.; Hong, X. Ripeness prediction of postharvest kiwifruit using a MOS e-nose combined with chemometrics. Sensors 2019, 19, 419. [Google Scholar]
- Liu, H.; Li, Q.; Gu, Y. A multi-task learning framework for gas detection and concentration estimation. Neurocomputing 2020, 416, 28–37. [Google Scholar] [CrossRef]
- Bakiler, H.; Güney, S. Estimation of Concentration Values of Different Gases Based on Long Short-Term Memory by Using Electronic Nose. Biomed. Signal Process. Control 2021, 69, 102908. [Google Scholar] [CrossRef]
- Fonollosa, J.; Sheik, S.; Huerta, R.; Marco, S. Reservoir computing compensates slow response of chemosensor arrays exposed to fast varying gas concentrations in continuous monitoring. Sens. Actuators B Chem. 2015, 215, 618–629. [Google Scholar] [CrossRef]
- Monroy, J.G.; Lilienthal, A.J.; Blanco, J.L.; Gonzalez-Jimenez, J.; Trincavelli, M. Probabilistic gas quantification with MOX sensors in Open Sampling Systems - A Gaussian Process approach. Sens. Actuators B Chem. 2013, 188, 298–312. [Google Scholar] [CrossRef] [Green Version]
- Fonollosa, J.; Fernandez, L.; Gutiérrez-Gálvez, A.; Huerta, R.; Marco, S. Calibration transfer and drift counteraction in chemical sensor arrays using Direct Standardization. Sens. Actuators B Chem. 2016, 236, 1044–1053. [Google Scholar]
- Cho, J.H.; Kim, Y.W.; Na, K.J.; Jeon, G.J. Wireless electronic nose system for real-time quantitative analysis of gas mixtures using micro-gas sensor array and neuro-fuzzy network. Sens. Actuators B Chem. 2008, 134, 104–111. [Google Scholar]
- Zhang, L.; Tian, F. Performance study of multilayer perceptrons in a low-cost electronic nose. IEEE Trans. Instrum. Meas. 2014, 63, 1670–1679. [Google Scholar]
- Zhang, D.; Liu, J.; Jiang, C.; Liu, A.; Xia, B. Quantitative detection of formaldehyde and ammonia gas via metal oxide-modified graphene-based sensor array combining with neural network model. Sens. Actuators B Chem. 2017, 240, 55–65. [Google Scholar]
- Sugiyama, M.; Nakajima, S.; Kashima, H.; Buenau, P.; Kawanabe, M. Direct importance estimation with model selection and its application to covariate shift adaptation. Adv. Neural Inf. Process. Syst. 2007, 20, 1–8. [Google Scholar]
- Weiss, K.; Khoshgoftaar, T.M.; Wang, D. A survey of transfer learning. J. Big Data 2016, 3, 1–40. [Google Scholar]
- Pan, S.J.; Tsang, I.W.; Kwok, J.T.; Yang, Q. Domain adaptation via transfer component analysis. IEEE Trans. Neural Netw. 2010, 22, 199–210. [Google Scholar]
- Pan, S.J.; Yang, Q. A survey on transfer learning. IEEE Trans. Knowl. Data Eng. 2009, 22, 1345–1359. [Google Scholar]
- Xu, F.; Yu, J.; Xia, R. Instance-based domain adaptation via multiclustering logistic approximation. IEEE Intell. Syst. 2018, 33, 78–88. [Google Scholar]
- UCI-Machine-Learning-Repository. Gas Sensor Array Drift Dataset at Different Concentrations Data Set. 2013. Available online: https://archive.ics.uci.edu/ml/datasets/Gas+Sensor+Array+Drift+Dataset+at+Different+Concentrations (accessed on 5 October 2022).
- de Mathelin, A.; Deheeger, F.; Richard, G.; Mougeot, M.; Vayatis, N. Adapt Instance Based KLIEP. 2020. Available online: https://adapt-python.github.io/adapt/generated/adapt.instance_based.KLIEP.html (accessed on 5 October 2022).
- Pedregosa, F.; Varoquaux, G.; Gramfort, A.; Michel, V.; Thirion, B.; Grisel, O.; Blondel, M.; Prettenhofer, P.; Weiss, R.; Dubourg, V.; et al. Scikit-learn: Machine Learning in Python. J. Mach. Learn. Res. 2011, 12, 2825–2830. [Google Scholar]
- McKinney, W. Data Structures for Statistical Computing in Python. In Proceedings of the 9th Python in Science Conference, Austin, TX, USA, 28 June–3 July 2010; pp. 56–61. [Google Scholar] [CrossRef] [Green Version]
- Hunter, J.D. Matplotlib: A 2D graphics environment. Comput. Sci. Eng. 2007, 9, 90–95. [Google Scholar] [CrossRef]
- de Mathelin, A.; Deheeger, F.; Richard, G.; Mougeot, M.; Vayatis, N. Adapt: Awesome domain adaptation python toolbox. arXiv 2021, arXiv:2107.03049. [Google Scholar]
- Kumar, A. Mean Squared Error or r-Squared. 2022. Available online: https://vitalflux.com/mean-square-error-r-squared-which-one-to-use/ (accessed on 5 October 2022).
Analytes | Concentrations in ppm |
---|---|
Ammonia | 50, 60, 70, 75, 80, 90, 100, 110, 120, 125, 130, 150, 160, 170, 175, 180, 190, 200, 210, 220, 225, 230, 240, 250, 260, 270, 275, 280, 290, 300, 350, 400, 450, 500, 600, 700, 750, 800, 900, 950, 1000 |
Acetaldehyde | 5, 10, 13, 20, 25, 30, 35, 40, 45, 50, 60, 70, 75, 80, 90, 100, 120, 125, 130, 140, 150, 160, 170, 175, 180, 190, 200, 210, 220, 225, 230, 240, 250, 275, 300, 500 |
Acetone | 12, 25, 38, 50, 60, 62, 70, 75, 80, 88, 90, 100, 110, 120, 125, 130, 140, 150, 170, 175, 180, 190, 200, 210, 220, 225, 230, 240, 250, 260, 270, 275, 280, 290, 300, 350, 400, 450, 500, 1000 |
Ethylene | 10, 20, 25, 30, 35, 40, 50, 60, 70, 75, 90, 100, 110, 120, 125, 130, 140, 150, 160, 170, 175, 180, 190, 200, 210, 220, 225, 230, 240, 250, 275, 300 |
Ethanol | 10, 20, 25, 30, 40, 50, 60, 70, 75, 80, 90, 100, 110, 120, 125, 130, 140, 150, 160, 170, 175, 180, 190, 200, 210, 220, 225, 230, 240, 250, 275, 500, 600 |
Toluene | 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100 |
Samples Taken Month by Month | |||||||
---|---|---|---|---|---|---|---|
Identification | Ammonia | Acetaldehyde | Acetone | Ethylene | Ethanol | Toluene | Total |
month1 | 76 | 0 | 0 | 88 | 84 | 0 | 248 |
month2 | 7 | 30 | 70 | 10 | 6 | 74 | 197 |
month3 | 0 | 0 | 7 | 140 | 70 | 0 | 217 |
month4 | 0 | 4 | 0 | 170 | 82 | 5 | 261 |
month8 | 0 | 0 | 0 | 20 | 0 | 0 | 20 |
month9 | 0 | 0 | 0 | 4 | 11 | 0 | 15 |
month10 | 100 | 105 | 525 | 0 | 1 | 0 | 731 |
month11 | 0 | 0 | 0 | 146 | 360 | 0 | 506 |
month12 | 0 | 192 | 0 | 334 | 0 | 0 | 526 |
month13 | 216 | 48 | 275 | 10 | 5 | 0 | 554 |
month14 | 0 | 18 | 0 | 43 | 52 | 0 | 113 |
month15 | 12 | 12 | 12 | 0 | 12 | 0 | 48 |
month16 | 20 | 46 | 63 | 40 | 28 | 0 | 197 |
month17 | 0 | 0 | 0 | 20 | 0 | 0 | 20 |
month18 | 0 | 0 | 0 | 3 | 0 | 0 | 3 |
month19 | 110 | 29 | 140 | 100 | 264 | 9 | 652 |
month20 | 0 | 0 | 466 | 451 | 250 | 458 | 1625 |
month21 | 360 | 744 | 630 | 662 | 649 | 568 | 3613 |
month22 | 25 | 15 | 123 | 0 | 0 | 0 | 163 |
month23 | 15 | 18 | 20 | 30 | 30 | 18 | 131 |
month24 | 0 | 25 | 28 | 0 | 0 | 1 | 54 |
month30 | 100 | 50 | 50 | 55 | 61 | 100 | 416 |
month36 | 600 | 600 | 600 | 600 | 600 | 600 | 3600 |
Samples Taken Batch by Batch | ||||||||
---|---|---|---|---|---|---|---|---|
Batch ID | Month | Acetaldehyde | Ethanol | Toluene | Ammonia | Ethylene | Acetone | Total |
Batch 1 | 1,2 | 98 | 83 | 74 | 70 | 30 | 90 | 445 |
Batch 2 | 3,4,8,9,10 | 334 | 100 | 5 | 532 | 109 | 164 | 1244 |
Batch 3 | 11,12,13 | 490 | 216 | 0 | 275 | 240 | 365 | 1586 |
Batch 4 | 14,15 | 43 | 12 | 0 | 12 | 30 | 64 | 161 |
Batch 5 | 16 | 40 | 20 | 0 | 63 | 46 | 28 | 197 |
Batch 6 | 17,18,19,20 | 574 | 110 | 467 | 606 | 29 | 514 | 2300 |
Batch 7 | 21 | 662 | 360 | 568 | 630 | 744 | 649 | 3613 |
Batch 8 | 22,23 | 30 | 40 | 18 | 143 | 33 | 30 | 294 |
Batch 9 | 24,30 | 55 | 100 | 101 | 78 | 75 | 61 | 470 |
Batch 10 | 36 | 600 | 600 | 600 | 600 | 600 | 600 | 3600 |
Gases/Regressor | XGBoost |
---|---|
Acetone | 0.662757 |
Acetaldehyde | 0.960751 |
Ethanol | 0.467232 |
Ethylene | 0.9824 |
Ammonia | 0.988174 |
Toluene | 0.994229 |
Gases/Regressor | AdaBoost |
---|---|
Acetone | 0.703059 |
Acetaldehyde | 0.985634 |
Ethanol | 0.680716 |
Ethylene | 0.955653 |
Ammonia | 0.984298 |
Toluene | 0.992297 |
Gases/Regressor | Simple Linear Regressor |
---|---|
Acetone | 0.722352 |
Acetaldehyde | 0.982838 |
Ethanol | 0.11206 |
Ethylene | 0.9362 |
Ammonia | 0.874889 |
Toluene | 0.938725 |
Best Regressor for the Dataset | |||
---|---|---|---|
Gases/Regressor | XGBoost | Simple Linear Regression | AdaBoost |
Acetone | 0.662757 | 0.722352 | 0.703059 |
Acetaldehyde | 0.960751 | 0.982838 | 0.985634 |
Ethanol | 0.467232 | 0.11206 | 0.680716 |
Ethylene | 0.9824 | 0.9362 | 0.955653 |
Ammonia | 0.988174 | 0.874889 | 0.984298 |
Toluene | 0.994229 | 0.938725 | 992297 |
Average | 0.842590 | 0.761177 | 0.883609 |
AdaBoost | |||||||||
---|---|---|---|---|---|---|---|---|---|
Gases/Batch | 1 → 2 | 2 → 3 | 3 → 4 | 4 → 5 | 5 → 6 | 6 → 7 | 7 → 8 | 8 → 9 | 9 → 10 |
Acetone | −0.130729 | 0.150858 | −0.506272 | 0.983796 | −0.486567 | 0.939646 | 0 | 1 | −1.92532 |
Acetaldehyde | 0.842822 | 0.686795 | 0 | −0.183673 | 0.57755 | 0.507228 | 0 | 1 | −1.97581 |
Ethanol | 0.1675 | 0.563065 | 0 | 1 | −0.061294 | 0.0813233 | −5.45995 | −46.0663 | −1.44975 |
Ethylene | 0.63787 | 0.775758 | 0.395175 | −4.4625 | −0.0845528 | 0.617038 | −11.141 | 0 | −0.103226 |
Ammonia | 0.837509 | 0.91124 | 0 | −0.495356 | −0.823205 | 0.795848 | 0.495545 | 0 | −1.53419 |
Toluene | 0 | - | - | - | - | 0.319257 | 0 | 1 | −1.40275 |
EXPERIMENT #2 | |
---|---|
Gases | AdaBoost |
Acetone | 0.782454 |
Acetaldehyde | 0.670189 |
Ethanol | 0.423060 |
Ethylene | 0.570609 |
Ammonia | 0.768746 |
Toluene | 0.165012 |
Average | 0.563345 |
EXPERIMENT #3 | |
---|---|
Gases | AdaBoost |
Acetone | 0.794446 |
Acetaldehyde | 0.183383 |
Ethanol | −0.703551 |
Ethylene | 0.235817 |
Ammonia | −0.586564 |
Toluene | 0.099474 |
Average | 0.003834 |
EXPERIMENT #4 | |||||||||
---|---|---|---|---|---|---|---|---|---|
Gases/Batch | 1 → 2 | 1 → 3 | 1 → 4 | 1 → 5 | 1 → 6 | 1 → 7 | 1 → 8 | 1 → 9 | 1 → 10 |
Acetone | −0.130729 | 0.246876 | −0.122286 | −0.377315 | −2.66535 | 0.170476 | 0 | 0 | 0.572529 |
Acetaldehyde | 0.842822 | −0.294713 | 0 | 0.7813 | −0.098906 | 0.508916 | 0 | 0 | 0.583842 |
Ethanol | 0.1675 | −4.76936 | 0 | 0 | −15.835 | −2.12151 | −24.41040 | −2145.3 | 0.635629 |
Ethylene | 0.63787 | 0.606361 | 0.402112 | −3.3788 | 0.554814 | 0.745456 | −2.81817 | 0 | −0.127318 |
Ammonia | 0.837509 | 0.814116 | 0 | 0.596261 | 0.686284 | 0.698325 | 0.108429 | 0 | −0.150167 |
Toluene | 0 | - | - | - | 0.54694 | 0.258964 | 0 | 0 | 0.521434 |
DOMAIN ADAPTATION EXPERIMENT 1 | |||||||||
---|---|---|---|---|---|---|---|---|---|
Gases/Batch | 1→ 2 | 2→ 3 | 3→ 4 | 4→ 5 | 5→ 6 | 6→ 7 | 7→ 8 | 8→ 9 | 9→ 10 |
Acetone | 0.998806 | 0.955239 | 0.918737 | 1 | 0.856410 | 0.968663 | 0.956009 | 1 | 1 |
Acetaldehyde | 0.970722 | 0.910951 | 0.926854 | 1 | 1 | 0.908055 | 0.747359 | 1 | 1 |
Ethanol | 0.997943 | 1 | 0.991445 | 1 | 1 | 0.942600 | 0.340262 | 0.971570 | 1 |
Ethylene | 0.995803 | 1 | 0.998587 | 1 | 1 | 1 | 0.872420 | 1 | 1 |
Ammonia | 0.986907 | 0.999214 | 0.991036 | 1 | 1 | 0.948215 | 0.947587 | 0.457177 | 1 |
Toluene | 0.954738 | - | - | - | - | 0.978532 | 0.040563 | 1 | 1 |
DOMAIN ADAPTATION EXPERIMENT 2 | |
---|---|
Gases | AdaBoost/DA |
Acetone | 0.466610 |
Acetaldehyde | 0.922668 |
Ethanol | 0.980563 |
Ethylene | 0.974383 |
Ammonia | 0.892407 |
Toluene | 0.956007 |
Average | 0.865440 |
DOMAIN ADAPTATION EXPERIMENT 3 | |
---|---|
Gases | AdaBoost/DA |
Acetone | 0.968071 |
Acetaldehyde | 0.821917 |
Ethanol | 0.528604 |
Ethylene | 0.907779 |
Ammonia | 0.905870 |
Toluene | 0.632908 |
Average | 0.794192 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Piracoca Gordillo, D.A.; Cardenas Castellanos, M.C.; Torres Barrera, D.N.; Escobar Gomez, J.A.; Nieto Sanchez, J.F.; Leon-Medina, J.X. Kullback–Leibler Importance Estimation Procedure to Improve Gas Quantification in an Electronic Nose. Chemosensors 2022, 10, 538. https://doi.org/10.3390/chemosensors10120538
Piracoca Gordillo DA, Cardenas Castellanos MC, Torres Barrera DN, Escobar Gomez JA, Nieto Sanchez JF, Leon-Medina JX. Kullback–Leibler Importance Estimation Procedure to Improve Gas Quantification in an Electronic Nose. Chemosensors. 2022; 10(12):538. https://doi.org/10.3390/chemosensors10120538
Chicago/Turabian StylePiracoca Gordillo, Daniel Alejandro, Maria Camila Cardenas Castellanos, David Nicolás Torres Barrera, Jaime Alberto Escobar Gomez, Juan Felipe Nieto Sanchez, and Jersson X. Leon-Medina. 2022. "Kullback–Leibler Importance Estimation Procedure to Improve Gas Quantification in an Electronic Nose" Chemosensors 10, no. 12: 538. https://doi.org/10.3390/chemosensors10120538
APA StylePiracoca Gordillo, D. A., Cardenas Castellanos, M. C., Torres Barrera, D. N., Escobar Gomez, J. A., Nieto Sanchez, J. F., & Leon-Medina, J. X. (2022). Kullback–Leibler Importance Estimation Procedure to Improve Gas Quantification in an Electronic Nose. Chemosensors, 10(12), 538. https://doi.org/10.3390/chemosensors10120538