Class: SVMKit::Preprocessing::LabelEncoder
- Inherits:
-
Object
- Object
- SVMKit::Preprocessing::LabelEncoder
- Includes:
- Base::BaseEstimator, Base::Transformer
- Defined in:
- lib/svmkit/preprocessing/label_encoder.rb
Overview
Encode labels to values between 0 and n_classes - 1.
Instance Attribute Summary collapse
-
#classes ⇒ Array
readonly
Return the class labels.
Attributes included from Base::BaseEstimator
Instance Method Summary collapse
-
#fit(x) ⇒ LabelEncoder
Fit label-encoder to labels.
-
#fit_transform(x) ⇒ Numo::Int32
Fit label-encoder to labels, then return encoded labels.
-
#initialize ⇒ LabelEncoder
constructor
Create a new encoder for encoding labels to values between 0 and n_classes - 1.
-
#inverse_transform(x) ⇒ Array
Decode encoded labels.
-
#marshal_dump ⇒ Hash
Dump marshal data.
-
#marshal_load(obj) ⇒ nil
Load marshal data.
-
#transform(x) ⇒ Numo::Int32
Encode labels.
Constructor Details
#initialize ⇒ LabelEncoder
Create a new encoder for encoding labels to values between 0 and n_classes - 1.
30 31 32 33 |
# File 'lib/svmkit/preprocessing/label_encoder.rb', line 30 def initialize @params = {} @classes = nil end |
Instance Attribute Details
#classes ⇒ Array (readonly)
Return the class labels.
27 28 29 |
# File 'lib/svmkit/preprocessing/label_encoder.rb', line 27 def classes @classes end |
Instance Method Details
#fit(x) ⇒ LabelEncoder
Fit label-encoder to labels.
41 42 43 44 45 46 |
# File 'lib/svmkit/preprocessing/label_encoder.rb', line 41 def fit(x, _y = nil) x = x.to_a if x.is_a?(Numo::NArray) SVMKit::Validation.check_params_type(Array, x: x) @classes = x.sort.uniq self end |
#fit_transform(x) ⇒ Numo::Int32
Fit label-encoder to labels, then return encoded labels.
54 55 56 57 58 |
# File 'lib/svmkit/preprocessing/label_encoder.rb', line 54 def fit_transform(x, _y = nil) x = x.to_a if x.is_a?(Numo::NArray) SVMKit::Validation.check_params_type(Array, x: x) fit(x).transform(x) end |
#inverse_transform(x) ⇒ Array
Decode encoded labels.
74 75 76 77 |
# File 'lib/svmkit/preprocessing/label_encoder.rb', line 74 def inverse_transform(x) SVMKit::Validation.check_label_array(x) x.to_a.map { |n| @classes[n] } end |
#marshal_dump ⇒ Hash
Dump marshal data.
81 82 83 84 |
# File 'lib/svmkit/preprocessing/label_encoder.rb', line 81 def marshal_dump { params: @params, classes: @classes } end |
#marshal_load(obj) ⇒ nil
Load marshal data.
88 89 90 91 92 |
# File 'lib/svmkit/preprocessing/label_encoder.rb', line 88 def marshal_load(obj) @params = obj[:params] @classes = obj[:classes] nil end |
#transform(x) ⇒ Numo::Int32
Encode labels.
64 65 66 67 68 |
# File 'lib/svmkit/preprocessing/label_encoder.rb', line 64 def transform(x) x = x.to_a if x.is_a?(Numo::NArray) SVMKit::Validation.check_params_type(Array, x: x) Numo::Int32[*(x.map { |v| @classes.index(v) })] end |