IND320 - Data to decision#
The contents of this Jupyter Book is the basis for the course “Data to decision” codenamed IND320 given at the Norwegian University of Life Sciences for the first time in the autumn of 2023.
Status#
This book is an update to the 2023 version and will be developed further throught the autumn of 2024. Suggestions and contributions from the community are welcome.
Audience#
The main audience will be those who follow IND320 as regular students at NMBU.
Others are free to use the book as is.
Structure#
The structure and organisation of this book means it can be used in several ways:
A compiled static book with text, graphics and Python examples.
Main menu on the left, section menu on the right, notebook controls at the top.
A collection of interactive Jupyter Notebooks adapted for Jupyter Lab.
A collection of presentations (through support for the deck extension).
Technical basis#
Keys and passwords#
Code in the book sometimes refer to the folder “No_sync” which is on the same folder level as D2Dbook (the book). This folder is excluded from the GitHub sync due to containing API keys and passwords plus some exercise solutions. If you want to run examples referring to the folder, please create one on your computer and fill with appropriate keys and passwords for your own licenses.
Software requirements#
Basic functionality requires Python (originally built with version 3.12.4) and packages matplotlib, numpy, json, datetime.
For more advanced plotting: plotly.
For databases:
E.g., docker with Cassandra database having the expected tables.
Python packages cassandra-driver, cql
PySpark has different requirements from platform to platform. See Installation.
For APIs:
Python packages requests, flask
For machine learning:
Python packages pandas, scikit-learn (or quicker/more scalable implementation)
Compiling the full book requires several programs and packages, but all Jupyter Notebooks can be run separately.
Python packages: jupyter-book and all above.
A running Flask server with the flask_API.py active.
Cassandra running locally, e.g., using Docker.
The file requirements.txt contains most of the packages that are needed.
Accounts#
Some free accounts that are useful when following this course/book:
GitHub: for easy syncing of lecture material and storage of projects.
OpenWeatherMap.org: for API access.
Power BI: for projects in deployment.
Google/Microsoft/OpenAI: for Google Gemini/Microsoft Copilot/ChatGPT or other equivalent service.
AI tools#
It is highly recommended to leverage available AI tools when programming and learning. In the process of writing this material, freeware tools were used such as:
-
Free for students and educators through Global Campus
Use the Benefits menu on top of the webpage after logging in to access free accounts.
Includes chat for those who sign up plus beta projects
Google Gemini (requires Google account)
ChatGPT (requires OpenAI account)
Microsoft Copilot (Bing chat) (requires Microsoft account)
Note! None of these are compulsory to use as they may breach GDPR and require sharing of personal information with a 3rd party. However, student emails typically have a Microsoft account attached, i.e., give you access to Bing chat with minimum effort.
See also
Resources Some basics that are assumed known in advance or just useful: