Inspiration
One of our team members, Filia, has a deep interest in the bond between humans and animals, and her niche specifically is the relationship humans have with their animal companions/kin/family/animal child/pets. This has led her into a deep dive on the research of the Human-animal bond, including taking a related subject as breadth. From this, she was briefly introduced to the relationship between Aboriginal people and their dogs.
Filia pitched the concept to Kunal and Maanas, and the three of us did more research on parasites/diseases, dog populations, and the relationship between dogs and the community. From this, we found the issues of parasite and overpopulation, as well as the challenge of data availability within these regions.
On top of this, Track 3’s resource pack has information about Seasonal calendars. We thought that this might play a significant role in the life cycle of parasites and disease outbreaks. After consultation with CISSA committee and various mentors, we decided to find a way to incorporate Seasonal Calendars into creating a prediction model that can take rangers’ inputs to improve data collection process and use them with existing data to predict the likelihood of an outbreak.
We decided to create a website that can encompass all the information in one place. However, after being reminded of the time constraints of the hackathon, we decided to simplify our operations to create only an MVP, which is covered in the challenges section.
What it does
Proposal
A website that uses Machine Learning (ML) to aggregate and predict likelihoods of an outbreak based on (1) historical knowledge on (a) historic season conditions, (b) their seasonal indicators, and (3) parasite’s preferred weather/environmental conditions, and (2) inputs from rangers on-ground surrounding dog population conditions and seasonal indicators.
Users
Intended users for the planned solutions are rangers, community workers, veterinary organizations, and government bodies.
However, the MVP and its database are currently designed such that rangers can submit their reports, and veterinary organizations can view the results and actionable insights from the latest community reports input by the users. Currently, the user access level for all users is the same but with more time and as far as a future deployment, we intend to have different user logins and different user access levels.
Currently, for the MVP, we decided that the rangers would be inputting the report data because of the limited access of technology to members of the community and residents of the remote regions.
How we built it
System Architecture/Tech Stack
Frontend Technology:
We have used the following technologies to prepare the frontend of our product:
- HTML
- CSS
- JavaScript
Backend Technology:
We have used the following technologies to prepare the backend of our product:
- annotated-doc==0.0.4
- annotated-types==0.7.0
- anyio==4.13.0
- click==8.3.2
- fastapi==0.135.3
- h11==0.16.0
- idna==3.11
- joblib==1.5.3
- numpy==2.4.4
- pandas==3.0.2
- pydantic==2.12.5
- pydantic_core==2.41.5
- python-dateutil==2.9.0.post0
- scikit-learn==1.8.0
- scipy==1.17.1
- six==1.17.0
- starlette==1.0.0
- threadpoolctl==3.6.0
- typing-inspection==0.4.2
- typing_extensions==4.15.0
- uvicorn==0.44.0
- xgboost==3.2.0 Further, for the database, we have used SQL Lite.
Machine Learning Model
The ML model used is XGBoost (eXtreme Gradient Boosting). It is a boosting algorithm that combines multiple smaller/weaker models (decision trees) into a much more optimized model. It starts with a simple decision tree. It then calculates the error between the predicted and actual value. Afterwards, it uses another tree that corrects that error. This process is continuously repeated. At the end, the sum of all the predictions is taken. XGBoost works mainly through regression, but as our target features are boolean values (1s/0s), the output values are compared to a threshold and are rounded up/down to 1/0 accordingly.
The final output of the model is whether parasite treatments, scabies (specifically) treatments, and follow ups are urgently required in the next 3,6, 9, and 12 months from the prediction generator. Ranger-collected data such as rainfall levels, parasite case counts, other weather conditions, dog counts, road access, seasonal information (according to the Seasonal Calendar), and other factors that may influence parasitic growth, desexing needs, and follow-up visits are taken as input.
This data goes through required preprocessing (such as conversion to numeric data as required by the algorithm), and the training/testing datasets of the mock data are used to train and evaluate the model for each of the output features separately. Final prediction result columns for each output are then combined into a single dataset. Finally, the model is wrapped using joblib to be more easily used in the backend.
The following is the F1 evaluation scores for each output feature when the model is used on the test dataset: view here
The highest mean F1 score is 0.78, and the scores are not very optimal for other features.
The model then predicts the main support needed with the confidence level. Alongside this, it also shows the probability of certain treatments, as well as the reason for the predicted main support needed. In addition, at the bottom, the model will provide recommended action steps to take.
By using Seasonal Calendars along with Machine Learning technology, the model aims to give rangers earlier warnings, thus more time to prepare and protect the local community of dogs, humans, and other animals alike. Using this information, they can plan and estimate resources needed to prevent the outbreak.
Challenges we ran into
To simplify the model within the time constraints of this Hackathon, we have created a demo/MVP.
We have decided to use the Ngurrungurrudjba (Lawson & McKaige, 2016) and the Kunwinjku (Narndal, et al., 2015) Season Calendars, both of which have the same broad seasons, and are close/in West Arnhem, Northern Territory.
We have also decided on parasites, instead of bacterial infections as well, as it can be more easily sighted.
Our main machine learning focus is to create a working ML model for the purpose of this hackathon.
Accomplishments that we're proud of
We are proud of our team for finishing this. This is the first time in a while for one of us, and first time ever for two of us.
We are also really proud of the research we compiled in the PDF attached at the start. We will include the research at the bottom of this submission as it was not specifically asked, but it is in our Project Story Word Document and we would like to present it as well, since it has quite the interesting information. In addition to this, we are proud of our research.
We are incredibly proud of the ML model, as we have managed to complete it within 2 days of coding.
We came into this Hackathon worried because we have never used MERN Stack before, and was worried that we wouldn't be able to build anything without it. However, we managed to finish this project without it.
What we learned
Models learned: SARIMAX (despite not using it), XGBoost.
We learned a lot of new technology, such as FastAPI.
We learned how to build a full stack website.
We also learned the whole process of making a Machine Learning Model.
We also obtained a higher understanding of how to be more culturally sensitive in referring to Aboriginal people, their communities, and their culture.
What's next for The Dreamers' Star Chart
For the following developmental plans, we have ordered them from the shortest to the longest projected development times needed.
Move database from SQL lite to SQL Workbench
Currently, we are using SQL lite instead of SQL Workbench. SQL lite is lightweight and simpler yet holds less data than SQL Workbench. With our minimal data volume, SQL lite is the perfect database engine. In the future, to make this project scalable in anticipation of a larger data volume when used in practice, moving to SQL Workbench is ideal.
Parasite movement anticipation
Global warming is an issue currently plaguing the world. As such, it is within the realm of possibility for season, and subsequently parasites, characteristics from (for example) the north to migrate and/or move with their host to find more suitable weather. Based on trends in weather forecast, parasite data, and carrier movements, one idea is to anticipate parasite movements outside of their known range. Thus, it may be possible to anticipate an outbreak in a community who is likely biologically unprepared to handle the parasite and diseases it carries.
Dynamic predictions
Currently, our model does not take into account dog deaths and births within the community. In practice, dog deaths and births affect the number and subsequently percentage of dogs who are treated against parasites and rabies. In the future, these two factors should be taken into consideration in the ML model’s reporting, so that the graphs generated could be used to properly argue for more funding and support from the government. This would also greatly improve our charts for treatment progression for all 3: parasite treatment, scabies treatment and desexing procedures.
Resource Management Recommendations
Currently, the system recommends the most optimal areas of focus. In the future, we aim for this machine to be able to recommend the specific amount of treatment medicine to order in preparation for a specific outbreak in a specific community with a specific number of dogs. This would help in resource allocation and management for rangers, veterinary organizations, and the government.
Timeline predictions
Instead of having fixed timings (3, 6, 9, 12 months), a continuous time scale could be implemented, which may give a better insight for rangers and veterinary organizations to plan their visits and/or treatment plans.
Further model development
To improve our evaluation scores and create better performing models, we would work extensively and experiment using a variety of other algorithm types and methods in the future. We will examine algorithms just as neural networks (such as CNNs/RNNs) and possibly look at more forms of boosting algorithms and classification algorithms. Although we haven’t done much work with parameter tuning and optimization during this hackathon, we plan to explore further parameter settings and analysis for our models. We also plan to use several models and combine them, or even possible, creating our own algorithm as a combination of existing ones to create models that are much more suitable for the problem definition and the task at hand.
Different User Accounts
We will set up different types of user accounts with different user access levels for rangers, government officials, etc.
Other Seasonal Calendars
The current model is trained based on Kunwinjku/Ngurrungurrdjba Seasonal Calendars. However, these calendars would not be accurate for different regions, especially if they are significantly further away. In the future, we would like to implement a feature to be able to choose which calendars to use
Ranger recommendation metrics
Seasonal calendars are known but not widely used. The potential applications that the calendars have to offer extend to not only biological disease prevention, but also in land management, additional resources needed, and more. As such, an expansion of the current model we have, with the Seasonal Calendars as a foundation, may create a system that can help rangers plan their yearly activities. An important thing to remember is that the system is not intended to replace the rangers, as the system lacks (1) the ability to collect on-ground information, (2) the creativity needed to adapt to solutions, and (3) the knowledge, experience, and insight the rangers already possess. It is, however, a helper that can warn the rangers of things to stockpile in the event of a prediction of an outbreak, for example.
Built With
- annotated-doc
- annotated-types
- anyio
- click
- css
- fastapi
- h11
- html
- idna
- javascript
- joblib
- numpy
- pandas
- pydantic
- pydantic-core
- python-dateutil
- scikit-learn
- scipy
- six
- sqlite
- starlette
- threadpoolctl
- typing-extensions
- typing-inspection
- uvicorn
- xgboost
Log in or sign up for Devpost to join the conversation.