Skip to content

A lightweight ML.NET regression model predicting fishing outcomes based on environmental features. Includes sample CSV training data, model pipeline, evaluation metrics, and prediction examples.

Notifications You must be signed in to change notification settings

Maxtheflash/FishingPredictor-MLNET

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 

Repository files navigation

🎣 FishingPredictor-MLNET

FishingPredictor-MLNET is a lightweight ML.NET console application that uses a small fishing dataset to predict fishing patterns/outcomes based on environmental conditions.

The goal of the project is to demonstrate how to:

  • Load data from CSV
  • Define an ML.NET data model
  • Build and train an ML pipeline
  • Evaluate the model
  • Make predictions from new input values

It’s a compact, easy-to-read example of using ML.NET in C# on a real-world themed problem (fishing).


πŸš€ Features

  • βœ… ML.NET regression / prediction model for fishing-related data
  • βœ… Reads training data from simple_data.csv
  • βœ… Strongly-typed input model (FishingLiteData)
  • βœ… Builds an ML pipeline, trains, and evaluates the model
  • βœ… Console output showing predictions for sample scenarios
  • βœ… Clean, minimal code suitable for teaching or portfolio use

(If you later change the task to classification or a different label, you can easily tweak this section.)


πŸ“Š Data & Features

The sample dataset simple_data.csv is a small synthetic dataset representing fishing trips.

Examples of features you might include:

  • Time of day
  • Weather / cloud cover
  • Water temperature
  • Lure / bait type
  • Location or depth category
  • Recent catch activity

The target value might be:

  • A catch score (0–10)
  • Number of fish caught
  • Probability of success

You can expand the CSV to include more features and records over time.


🧠 ML.NET Pipeline Overview

A typical ML.NET pipeline in this project looks like:

  1. Load data from simple_data.csv
  2. Map CSV columns to the FishingLiteData C# class
  3. Process features (e.g., handle numeric and categorical data)
  4. Train a model using an ML.NET trainer (e.g., regression)
  5. Evaluate the model on a test split
  6. Use the model to make predictions for new fishing conditions

The core logic for this lives in:

  • Program.cs – app entry point, training, evaluation, prediction
  • FishingLiteData.cs – model that defines the input schema

πŸ“‚ Project Structure

FishingPredictor/
β”‚
β”œβ”€β”€ FishingPredictor.sln          # Solution file
β”œβ”€β”€ FishingPredictor.csproj       # Project file
β”œβ”€β”€ Program.cs                    # Main console app (training + prediction)
β”œβ”€β”€ FishingLiteData.cs            # ML.NET input model class
└── simple_data.csv               # Sample fishing dataset (training data)

Getting Started

Prerequisites .NET 6+ SDK Visual Studio 2022 or dotnet CLI ML.NET packages (added via NuGet in the project)

Run the app Clone the repository and run:

git clone https://github.com/Maxtheflash/FishingPredictor-MLNET.git cd FishingPredictor-MLNET dotnet run

You should see console output for: Training / evaluation results Sample prediction(s) based on hard-coded input in Program.cs

Future Enhancements

  • Replace the small CSV with a larger real-world fishing log
  • Add more features (moon phase, pressure, water clarity, season)
  • Save and load the trained model to/from disk
  • Build a small API or UI on top of the model
  • Integrate with Catch Keeper as a β€œsuggested pattern” engine

Author

Branden Maxwell Software Developer (.NET | ML.NET | SQL) GitHub: @Maxtheflash

About

A lightweight ML.NET regression model predicting fishing outcomes based on environmental features. Includes sample CSV training data, model pipeline, evaluation metrics, and prediction examples.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages