ankane / eps

Machine learning for Ruby
MIT License
643 stars 15 forks source link

RuntimeError: Number of samples must be at least two more than number of features #1

Closed WaqarHassan closed 5 years ago

WaqarHassan commented 5 years ago

I have data-set containing 100 rows When I run

model = Eps::Regressor.new(data, target: :twelve)

I get this error

RuntimeError: Number of samples must be at least two more than number of features

Dataset:

[{"nine"=>"322", "ten"=>"303", "eleven"=>"309", "twelve"=>"317"}, {"nine"=>"476", "ten"=>"417", "eleven"=>"428", "twelve"=>"332"}, {"nine"=>"345", "ten"=>"387", "eleven"=>"461", "twelve"=>"348"}, {"nine"=>"486", "ten"=>"487", "eleven"=>"368", "twelve"=>"445"}, {"nine"=>"360", "ten"=>"311", "eleven"=>"394", "twelve"=>"364"}, {"nine"=>"473", "ten"=>"470", "eleven"=>"307", "twelve"=>"353"}, {"nine"=>"432", "ten"=>"323", "eleven"=>"439", "twelve"=>"360"}, {"nine"=>"403", "ten"=>"318", "eleven"=>"492", "twelve"=>"348"}, {"nine"=>"386", "ten"=>"464", "eleven"=>"404", "twelve"=>"422"}, {"nine"=>"432", "ten"=>"318", "eleven"=>"331", "twelve"=>"382"}, {"nine"=>"374", "ten"=>"499", "eleven"=>"472", "twelve"=>"359"}, {"nine"=>"462", "ten"=>"473", "eleven"=>"364", "twelve"=>"320"}, {"nine"=>"475", "ten"=>"495", "eleven"=>"502", "twelve"=>"395"}, {"nine"=>"381", "ten"=>"332", "eleven"=>"326", "twelve"=>"366"}, {"nine"=>"498", "ten"=>"504", "eleven"=>"446", "twelve"=>"355"}, ... ... ... ] Am I missing something?

ankane commented 5 years ago

The numbers are being passed as strings, so it's creating categorical variables for each of them. Use .to_i to convert the values to integers.

WaqarHassan commented 5 years ago

Thanks. @ankane