{"id":22204100,"url":"https://github.com/dlt3/odor-data-analysis","last_synced_at":"2025-09-23T10:36:02.587Z","repository":{"id":142401473,"uuid":"541981461","full_name":"dlt3/Odor-data-analysis","owner":"dlt3","description":"Complex odor analysis and interpretation","archived":false,"fork":false,"pushed_at":"2023-03-20T07:13:22.000Z","size":16671,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T02:44:02.504Z","etag":null,"topics":["explainable-ai","machine-learning","partial-dependence-plot"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dlt3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-27T08:30:43.000Z","updated_at":"2023-03-07T05:25:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"da5ed45b-9b41-44d9-8002-50d891e0d936","html_url":"https://github.com/dlt3/Odor-data-analysis","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dlt3/Odor-data-analysis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlt3%2FOdor-data-analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlt3%2FOdor-data-analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlt3%2FOdor-data-analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlt3%2FOdor-data-analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dlt3","download_url":"https://codeload.github.com/dlt3/Odor-data-analysis/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlt3%2FOdor-data-analysis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276562396,"owners_count":25664429,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-23T02:00:09.130Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["explainable-ai","machine-learning","partial-dependence-plot"],"created_at":"2024-12-02T17:15:57.164Z","updated_at":"2025-09-23T10:36:02.574Z","avatar_url":"https://github.com/dlt3.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Odor data analysis\nThis study focus on develop a odor predict model and interpret the model's classification result by using explainable AI method.\n\n#### Reference\n- https://doi.org/10.3390/app12062826\n- https://doi.org/10.3390/app122412943\n\n### Research purpose\n- Prevention of odor in pig barns by managing chemical substances (odor substances) that affect odor generation\n- Creation of an optimal prediction model for complex odors using 15 odorous substances\n- Identification of the influence of odorous substances on complex odors and the interaction effect between odorous substances\n- Creation of a complex odor classification prediction model using 15 odorous substances and measurement-related variables\n- Prevention of bad smell in pig houses by managing chemical substances (odor substances) that affect odor generation\n\n### Data information\n- explanatory variable : Complex odor\n- response variable : 15 odorous substances\n    - Ammonia\n    - Sulfur compounds: Hydrogen Sulfide, Methyl mercaptan, Dimethyl sulfide, Dimethyl disulfide\n    - Volatile Organic compounds: Acetic acid , Propionic acid, Butyric acid, Iso-Butyric acid, Valeric acid, Iso-Valeric aic, Phenol, para-Cresol, Indole, Skatole\n \n![image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F09917d0a-ca2e-473c-b6bc-378e49272f47%2FUntitled.png?id=583d2a3b-3e0d-4f0f-a7e2-c1e640b6670e\u0026table=block\u0026spaceId=6cc23a96-8110-4f80-9a0b-4eb515095500\u0026width=2000\u0026userId=e639e6c1-7dd8-4d51-97de-be9ead475dc3\u0026cache=v2\n)\n\n### Analysis process\n\n#### Research 1\n- Compare different analysis processes to find the optimal predictive model\n- Data problems and solutions\n     - High missing rate: Considering the fact that the missing rate may be high considering data collection through sensors in the future, consider the replacement  method rather than the missing value removal method\n     - Small amount of data: Model validation through the Leave-One-Out Cross Validation (LOOCV) method that can be used when there is little data\n- Data pre-processing\n     - Missing imputation: Simple imputation (mean, median), Multivariate imputation (bayesian), Multiple imputation (bayesian ridge, gaussian process regression, KNN)\n     - Feature preprocessing: standardization, Partial Least Square (PLS), Principal Component Analysis (PCA)\n- Prediction models: Regression, SVM, RandomForest, ExtraTree, XGBoost, DNN\n- Model Verification: Using R-square, MAPE through LOOCV\n- Additional Analysis: Correlation Analysis, Principal Component Analysis(PCA), Identification of predictor feature importance\n\n![image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F0d89114d-efcd-4735-98a4-61ec2deece1b%2FUntitled.png?id=e90a3b0d-fe84-4106-8f77-124a8a2adc9e\u0026table=block\u0026spaceId=6cc23a96-8110-4f80-9a0b-4eb515095500\u0026width=2000\u0026userId=e639e6c1-7dd8-4d51-97de-be9ead475dc3\u0026cache=v2)\n\n#### Research 2\n- Features related to measurement: measurement time (year, month, day), measurement location (inside the pig barn, outside the pig barn, site boundary)\n- summary\n     - Perform data preprocessing based on primary research and compare multiple machine learning models\n     - Minimize overfitting by analyzing 30 times and select the optimal model through 8 evaluation indicators\n     - Identification of the influence and interaction effect of odor spray through the XAI method\n- Data pre-processing\n     - Complex odor: Conversion of continuous data into binary classification data in the form of emission possible / non emission in accordance with the domestic odor prevention law\n     - Measurement-related variables: Measurement time variables are converted into seasonal variables, followed by One-Hot Encoding, and measurement location variables One-Hot Encoding\n     - Variable preprocessing: Multivariate imputation (bayesian ridge) \u0026 Standardization\n- Prediction models: k-Nearest Neighbor, SVC, RandomForest, LightGBM, ExtraTree, XGBoost\n- Model validation: F1-score, Accuracy, Sensitivity, Specitiv\n- Identification of influence: XAI - Partial Dependence Plot, variable importance\n- Additional analysis: correlation analysis and VIF (continuous variable), ANOVA (categorical variable)\n\n![image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F59cd098c-2ae7-4cd7-883f-aebe8842bdee%2FUntitled.png?id=6721a0d4-3f73-4d07-b4ac-ccf79205a479\u0026table=block\u0026spaceId=6cc23a96-8110-4f80-9a0b-4eb515095500\u0026width=2000\u0026userId=e639e6c1-7dd8-4d51-97de-be9ead475dc3\u0026cache=v2)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdlt3%2Fodor-data-analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdlt3%2Fodor-data-analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdlt3%2Fodor-data-analysis/lists"}