LightGBM is a powerful gradient boosting framework.
Requirements
- 
LightGBM (Ruby binding)
- 
lib_lightgbm.so,lib_lightgbm.dylib,lib_lightgbm.dllare included in Gem. 
 - 
 - 
Red Datasets
- MNIST datasets.
 
 
gem install red-datasets
gem install lightgbm
Run
require 'lightgbm'
require 'datasets'
train_mnist = Datasets::MNIST.new(type: :train)
test_mnist  = Datasets::MNIST.new(type: :test)
train_x = train_mnist.map(&:pixels)
train_y = train_mnist.map(&:label)
test_x  = test_mnist.map(&:pixels)
test_y  = test_mnist.map(&:label)
params = {
  task: :train,
  boosting_type: :gbdt,
  objective: :multiclass,
  num_class: 10
}
train_set = LightGBM::Dataset.new(train_x, label: train_y)
booster = LightGBM.train(params, train_set)
result = booster.predict(test_x)
result.map! { |i| i.index(i.max) }
accuracy = test_y.zip(result).count { |i, j| i == j } / test_y.size.to_f
puts accuracy
0.9727
Good! 🌟
    
Top comments (0)