{"id":50125346,"url":"https://github.com/18520339/uts-intro-ci","last_synced_at":"2026-05-23T19:36:33.900Z","repository":{"id":354206567,"uuid":"1113250413","full_name":"18520339/uts-intro-ci","owner":"18520339","description":"Abalone Age classification using Self-constructing Neuro-Fuzzy Inference System (SONFIN)","archived":false,"fork":false,"pushed_at":"2025-12-09T19:03:27.000Z","size":11193,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-23T19:36:04.168Z","etag":null,"topics":["computational-intelligence","fuzzy-logic","fuzzy-neural-network"],"latest_commit_sha":null,"homepage":"https://www.youtube.com/watch?v=Puiqhh0VhxQ","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/18520339.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-09T18:12:14.000Z","updated_at":"2025-12-09T19:04:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/18520339/uts-intro-ci","commit_stats":null,"previous_names":["18520339/uts-intro-ci"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/18520339/uts-intro-ci","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/18520339%2Futs-intro-ci","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/18520339%2Futs-intro-ci/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/18520339%2Futs-intro-ci/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/18520339%2Futs-intro-ci/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/18520339","download_url":"https://codeload.github.com/18520339/uts-intro-ci/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/18520339%2Futs-intro-ci/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33410344,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T18:09:33.147Z","status":"ssl_error","status_checked_at":"2026-05-23T18:09:31.380Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["computational-intelligence","fuzzy-logic","fuzzy-neural-network"],"created_at":"2026-05-23T19:36:33.320Z","updated_at":"2026-05-23T19:36:33.894Z","avatar_url":"https://github.com/18520339.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Abalone Age Classification using SONFIN\n\nThis repository contains my work for 2 major assessments of the **Introduction to Computational Intelligence** (CI) subject at the **University of Technology Sydney** (UTS) taught by [Dr. YK Wang](https://profiles.uts.edu.au/YuKai.Wang). Each assessment contains a `notebook` and a `pdf`, which includes a detailed explanation of the concepts and implementations involved, helping me achieve a perfect grade of **100/100** for the subject.\n\nThis project aims to classify [Abalone Age](https://www.kaggle.com/datasets/rodolfomendes/abalone-dataset) using [Self-constructing Neuro-Fuzzy Inference System](https://ieeexplore.ieee.org/document/660805) (SONFIN), which is a hybrid CI technique that combines neural networks and fuzzy logic principles, developed by [Distinguished Professor Chin-Teng Lin](https://profiles.uts.edu.au/Chin-Teng.Lin), a leading expert in CI and the coordinator of this subject.\n\n## Part 1 - Data Exploration\n\nEach dataset's entry/sample includes 8 features and 1 label, where the classes are ordered and not balanced. Below are the dataset's attribute heading descriptions I found from [UCI](http://archive.ics.uci.edu/ml/datasets/Abalone):\n\n| Variable Name  | Role    | Type        | Description                 | Units |\n| -------------- | ------- | ----------- | --------------------------- | ----- |\n| Sex            | Feature | Categorical | M, F, and I (infant)        |       |\n| Length         | Feature | Continuous  | Longest shell measurement   | mm    |\n| Diameter       | Feature | Continuous  | Perpendicular to length     | mm    |\n| Height         | Feature | Continuous  | With meat in shell          | mm    |\n| Whole_weight   | Feature | Continuous  | Whole abalone               | grams |\n| Shucked_weight | Feature | Continuous  | Weight of meat              | grams |\n| Viscera_weight | Feature | Continuous  | Gut weight (after bleeding) | grams |\n| Shell_weight   | Feature | Continuous  | After being dried           | grams |\n| Rings          | Target  | Integer     | +1.5 gives the age in years |       |\n\nHere, I will demonstrate my understanding of the dataset and leverage the data visualization technique to explore the insight of the dataset:\n\n-   Introduce the dataset, including its history, number of samples, data type, size, value range, labels, etc.\n-   Identify the attribute type (qualitative, discreet/continuous quantitative, nominal, ordinal, interval, ratio) of each attribute in the dataset. Deliver this into a comprehensive table.\n-   Present relevant graphs/tables/figures to visualize the data with clear interpretations is crucial.\n\n👉 Check the [part1_exploration.ipynb](./part1_exploration.ipynb) notebook and the [part1_exploration.pdf](./part1_exploration.pdf) report for more details.\n\n## Part 2 - SONFIN Implementation and Experiments\n\nHere, I will conduct experiments using [SONFIN](https://ieeexplore.ieee.org/document/660805) to classify the [Abalone Age dataset](https://www.kaggle.com/datasets/rodolfomendes/abalone-dataset) and present a comprehensive report of my findings:\n\n1.  Methodology (all tech details including but not limited to algorithms, parameters, data processing, feature extraction, training/testing, performance comparisons, statistic tests, etc.).\n2.  Evaluation (discuss and compare all findings).\n3.  Conclusion (Summarise your project, include future improvements).\n\nBelow are the results I got from 3 different settings of hyperparameters for SONFIN:\n\n-   Summary table:\n\n| Metric                 | Setting 1 (2.538 min)  | Setting 2 (2.517 min)  | Setting 3 (2.211 min)  |\n| ---------------------- | ---------------------- | ---------------------- | ---------------------- |\n| Training Accuracy      | 0.6646                 | **0.7779**             | 0.7419                 |\n| Testing Accuracy       | 0.6296                 | **0.7326**             | 0.7101                 |\n| Final Loss             | 0.5072                 | **0.3268**             | 0.4138                 |\n| Best Loss              | 0.5034                 | **0.3214**             | 0.4138                 |\n| Number of Rules        | 50                     | 75                     | **34**                 |\n| Precision (G1, G2, G3) | 0.3235, 0.9682, 0.1660 | 0.3811, 0.9672, 0.2258 | 0.3849, 0.9686, 0.2010 |\n| Recall (G1, G2, G3)    | 0.9483, 0.5884, 0.7358 | 0.9397, 0.7130, 0.6604 | 0.9224, 0.6850, 0.7358 |\n| F1-Score (G1, G2, G3)  | 0.4825, 0.7320, 0.2708 | 0.5423, 0.8209, 0.3365 | 0.5431, 0.8025, 0.3158 |\n| Support (G1, G2, G3)   | 116, 1035, 53          | 116, 1035, 53          | 116, 1035, 53          |\n\n-   Confusion matrix:\n\n| True \\ Predicted | Setting | 0            | 1            | 2            |\n| ---------------- | ------- | ------------ | ------------ | ------------ |\n| 0                | 1       | 110 (9.14%)  | 6 (0.50%)    | 0 (0.00%)    |\n|                  | 2       | 109 (9.05%)  | 7 (0.58%)    | 0 (0.00%)    |\n|                  | 3       | 107 (8.89%)  | 9 (0.75%)    | 0 (0.00%)    |\n| 1                | 1       | 230 (19.10%) | 609 (50.58%) | 196 (16.28%) |\n|                  | 2       | 177 (14.70%) | 738 (61.30%) | 120 (9.97%)  |\n|                  | 3       | 171 (14.20%) | 709 (58.89%) | 155 (12.87%) |\n| 2                | 1       | 0 (0.00%)    | 14 (1.16%)   | 39 (3.24%)   |\n|                  | 2       | 0 (0.00%)    | 18 (1.50%)   | 35 (2.91%)   |\n|                  | 3       | 0 (0.00%)    | 14 (1.16%)   | 39 (3.24%)   |\n\n👉 Check the [part2_implementation.ipynb](./part2_implementation.ipynb) notebook and the [part2_implementation.pdf](./part2_implementation.pdf) report for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F18520339%2Futs-intro-ci","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F18520339%2Futs-intro-ci","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F18520339%2Futs-intro-ci/lists"}