ml_feature_encoder 0.1.0
ml_feature_encoder: ^0.1.0 copied to clipboard
A Dart package for encoding categorical variables using Label Encoding and One-Hot Encoding techniques. Ideal for machine learning preprocessing.
import 'package:ml_feature_encoder/encoders/label_encoder.dart';
import 'package:ml_feature_encoder/encoders/one_hot_encoder.dart';
void main() {
print('--- LabelEncoder Example ---');
// Create and fit a LabelEncoder
final labelEncoder = LabelEncoder();
final fruits = ['apple', 'banana', 'cherry', 'banana', 'apple'];
labelEncoder.fit(fruits);
// Transform to integer labels
final encodedLabels = labelEncoder.transform(fruits);
print('Original: $fruits');
print('Encoded : $encodedLabels');
// Inverse transform to original
final decodedLabels = labelEncoder.inverseTransform(encodedLabels);
print('Decoded : $decodedLabels');
print('\n--- OneHotEncoder Example ---');
// Create and fit a OneHotEncoder
final oneHotEncoder = OneHotEncoder(handleUnknown: true);
final colors = ['red', 'green', 'blue', 'green'];
oneHotEncoder.fit(colors);
// Transform to one-hot vectors
final encodedVectors = oneHotEncoder.transform(colors);
print('Original: $colors');
print('One-Hot :');
for (final vec in encodedVectors) {
print(' $vec');
}
// Inverse transform back to labels
final decodedColors = oneHotEncoder.inverseTransform(encodedVectors);
print('Decoded : $decodedColors');
// Test unknown handling
print('\n--- OneHotEncoder with unknown ---');
final unknownVector = oneHotEncoder.transform(['yellow']);
print('Unknown input: yellow');
print('Encoded : $unknownVector');
final inverseUnknown = oneHotEncoder.inverseTransform(unknownVector);
print('Inverse : $inverseUnknown');
}