Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Exemplo do segundo capítulo em Ruby

Converti o exemplo do segundo capítulo para Ruby. Espero que ajude :)

Gemfile:

source 'https://rubygems.org'

gem 'lurn'

accesses.rb:

require 'csv'

def carregar_acessos
  x = []
  y = []
  CSV.read('./acesso.csv').each_with_index do |row, index|
    next if index == 0
    home, como_funciona, contato, comprou = row
    x << [ home.to_i, como_funciona.to_i, contato.to_i ]
    y << comprou.to_i
  end
  return x, y
end

classifies_access.rb:

require 'lurn'

require_relative 'accesses'

x, y = carregar_acessos

treino_dados = x[0..89]
treino_marcacoes = y[0..89]

teste_dados = x[90..99]
teste_marcacoes = y[90..99]

model = Lurn::NaiveBayes::MultinomialNaiveBayes.new
model.fit(treino_dados, treino_marcacoes)

resultado = teste_dados.map { |dados| model.max_class(dados) }

diferencas = resultado.zip(teste_marcacoes).map { |x| x[0] - x[1] }
acertos = diferencas.select{ |diferenca| diferenca == 0 }
total_de_acertos = acertos.count
total_de_elementos = teste_dados.count
taxa_de_acerto = 100.0 * total_de_acertos / total_de_elementos

puts taxa_de_acerto
puts total_de_elementos

Bons estudos pessoal.

Valeu!

1 resposta
solução!

Legal cara, valeu mesmo pela proatividade. Marca a sua resposta como solução para deixarmos o tópico solucionado.