Sebastian Egli

Boris Thies


  • 6 ECTS credits are awarded for successfully completing this course.

  • Three case studies and three corresponding challenges build the basis of this course.

  • Studienleistung:

    • The course credit consists of the submission of a well-prepared notebook for publication on the course website for one of the three case studies covered.

    • Students are assigned to case studies at the beginning of the semester.

    • In addition, at least one result must be submitted for each challenge before its respective deadline.

  • Prüfungsleistung:

    • The course grade is determined by the evaluation of three well-prepared notebooks, one for each challenge.

    • The deadline for the submission of these three notebooks will be communicated during the semester.

    • Prediction results of the models must be reproducible, so please do always set a random state during model training!

    • Evaluation criteria are:

      • Selection of the ML model: Is the ML model suited to solve the problem stated in the challenge?

      • Programming approach: Has a suitable programming approach been selected?

      • Layout: Is the notebook clearly arranged? Does the layout follow a clear and understandable concept?

      • Code quality: Have redundant code sections been removed from the notebook?

      • Documentation: Has the code been fully and comprehensibly documented?

      • Presentation of training/validation/testing procedures: Are the work packages adequately presented

      • Visualization: Are intermediate steps (where useful for understanding) and model outputs clearly visualized? (title, axis labels, plot size, etc.)

      • Use of Python libraries: Have the Python libraries from the course been used sensibly? (pandas, xarray, matplotlib, sklearn, tensorflow, …)

Software requirements & setup

  • Install Miniconda on your system. Installation instructions can be found here.

  • Download this environment.yml file and use it to create a new conda environment:

    conda env create -f environment.yml

    This installs all packages in a conda environment called “ML_course”, which we will be using throughout this course.

  • Activate the environment via:

    conda activate ML_course

    Now all system variables should be set up correctly and we are good to go.

  • Most of the time, we will be working with JupyterLab. Start it via:

    jupyter lab


The following sources give interesting overviews and insights into the topics covered in this course:

  • Ma, L., Liu, Y., Zhang, X., Ye, Y., Yin, G., & Johnson, B. A. (2019). Deep learning in remote sensing applications: A meta-analysis and review. ISPRS Journal of Photogrammetry and Remote Sensing, 152(March), 166–177. [MLZ+19]

  • Maxwell, A. E., Warner, T. A., & Fang, F. (2018). Implementation of machine-learning classification in remote sensing: an applied review. International Journal of Remote Sensing, 39(9), 2784–2817. [MWF18]