ml_feature_encoder 0.1.0

SDKdartflutter
Platformandroidioswindowslinuxmacosweb

A Dart package for encoding categorical variables using Label Encoding and One-Hot Encoding techniques. Ideal for machine learning preprocessing.

🧠 ml_feature_encoder

A lightweight and pure Dart library for encoding categorical variables using Label Encoding and One-Hot Encoding – essential for machine learning data preprocessing.


✨ Features

  • ✅ Label Encoding for string/categorical data
  • ✅ One-Hot Encoding with inverse transform
  • handleUnknown support for unseen values
  • ✅ Clean API: fit(), transform(), inverseTransform()
  • ✅ Inspired by scikit-learn
  • ✅ Fully tested and documented

🚀 Installation

Add the following to your pubspec.yaml:

dependencies:
  ml_feature_encoder: ^0.1.0

Then run:

dart pub get

📦 Usage

import 'package:ml_feature_encoder/encoders/label_encoder.dart';
import 'package:ml_feature_encoder/encoders/one_hot_encoder.dart';

void main() {
  // LabelEncoder example
  final labelEncoder = LabelEncoder();
  labelEncoder.fit(['cat', 'dog', 'fish']);
  final encoded = labelEncoder.transform(['dog', 'cat']);
  final decoded = labelEncoder.inverseTransform(encoded);
  print('Encoded: $encoded');
  print('Decoded: $decoded');

  // OneHotEncoder example
  final oneHotEncoder = OneHotEncoder(handleUnknown: true);
  oneHotEncoder.fit(['red', 'green', 'blue']);
  final oneHot = oneHotEncoder.transform(['green', 'yellow']);
  print('One-hot: $oneHot');
}

✅ Example Output

Encoded: [1, 0]
Decoded: [dog, cat]

One-hot: [
  [0, 1, 0],
  [0, 0, 0]  // unknown 'yellow'
]

📂 Directory Structure

lib/
  ├── encoders/
  │   ├── label_encoder.dart
  │   └── one_hot_encoder.dart
  └── ml_feature_encoder.dart

test/
  ├── label_encoder_test.dart
  └── one_hot_encoder_test.dart

example/
  └── main.dart

🛡 License

MIT © Mehmet Çelik


📣 Contributions

Issues, suggestions, and PRs are welcome! Feel free to improve this library or report a bug.