Skip to content

Latest commit

Β 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 

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

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages