Henrike-Schwenn / Predicting_bike_rental_demand

My first ai project as part of my take on the amazing online course "Introduction to Machine Learning for Coders" taught by Jeremy Howard. I will be contributing to the Kaggle competition "Bike Sharing Demand", aiming to predict bike rental demand depending on the weather.
3 stars 0 forks source link

Get Code Reviews #27

Closed Henrike-Schwenn closed 2 years ago

Henrike-Schwenn commented 2 years ago

To Do

Henrike-Schwenn commented 2 years ago

Enlisted code reviewers

Henrike-Schwenn commented 2 years ago

How to review code

Sources

Criteria for code

Henrike-Schwenn commented 2 years ago

Sam

Henrike-Schwenn commented 2 years ago

Eike

Manageability: Easy to read

In Zeile 14 benutzt du einen irrsinnig langen absoluten Pfad, besser wäre, den relativ anzugeben, das wäre auch viel kürzer: train_path = "../Datasets/train.csv" dfFirstCycle = pandas.read_csv(train_path, low_memory=False, parse_dates=["datetime"])

Am besten bleibst du immer und zwar wirklich konsequent unter 80 Zeichen pro Zeile Man kann eigentlich 100% der Statements auf mehrere Zeilen strecken, das macht keinen Unterschied in der Laufzeit, macht aber den Code leserlicher

Dann wechselst du zwischen camelCase und snake_case für die Variablennamen und in einigen Fällen mischst du sogar Das ist etwas irritierend

Architecture: Uniform design

Du benutzt wechselnd string-comments, also '''blabla''' und hash-comments, also # blablabla Das ist etwas irritierend, wenn es nicht passiert um tatsächlich eine Unterscheidung vorzunehmen Bspw. ist es typisch string-comments für die Dokumentation einer Funktion oder Klasse zu verwenden und #-comments um den Programmfluss zu kommentieren

Dann wechselst du zwischen camelCase und snake_case für die Variablennamen und in einigen Fällen mischst du sogar Das ist etwas irritierend

Maintainability: Easy to maintain

Das Projektverzeichnis ist etwas unordentlich und könnte aufgeräumt werden Zb. könnten die pdfs und Tabellen in ein Unterverzeichnis ausgelagert werden Es gibt außerdem sowohl den Ordner "Datasets", als auch "CsvDatasets", in beiden befinden sich csv-Daten, es ist nicht ersichtlich, wieso welches wo ist

Correctness: Always produces correct results

Invalid input/states: Can the code take in all necessary input?

Usability: Easy to use

Du hast die venv komplett mit eingecheckt, das ist etwas awkward, weil die keiner außer dir verwenden kann

Reusability: No unnecessary elements

Du hast in der Train.py mehrere imports die nicht bebraucht werden Das sind

  • os
  • matplotlib.pyplot
  • fastai
  • make_regression
  • mean_squared_error
  • plotly.express

-Unused imports