Class: Eps::LightGBM
- Inherits:
-
BaseEstimator
- Object
- BaseEstimator
- Eps::LightGBM
- Includes:
- PmmlGenerators::LightGBM
- Defined in:
- lib/eps/lightgbm.rb
Class Method Summary collapse
Methods inherited from BaseEstimator
#evaluate, extract_text_features, #initialize, #predict, #summary, #to_pmml
Constructor Details
This class inherits a constructor from Eps::BaseEstimator
Class Method Details
.load_pmml(data) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/eps/lightgbm.rb', line 7 def self.load_pmml(data) super do |data| objective = data.css("MiningModel").first.attribute("functionName").value if objective == "classification" labels = data.css("RegressionModel OutputField").map { |n| n.attribute("value").value } objective = labels.size > 2 ? "multiclass" : "binary" end features = {} text_features, derived_fields = extract_text_features(data, features) node = data.css("DataDictionary").first node.css("DataField")[1..-1].to_a.each do |node| features[node.attribute("name").value] = if node.attribute("optype").value == "categorical" "categorical" else "numeric" end end trees = [] data.css("Segmentation TreeModel").each do |tree| node = find_nodes(tree.css("Node").first, derived_fields) trees << node end Evaluators::LightGBM.new(trees: trees, objective: objective, labels: labels, features: features, text_features: text_features) end end |