class DynamicTree::Sprout

Train on one example set for eight factors.

Public Class Methods

age_examples() click to toggle source
# File lib/dynamicTree.rb, line 46
def self.age_examples
  input = File.read("data/number/input.txt").strip.to_i

  counter = File.readlines("data/biometrics/ages/ages.txt").size.to_i
  safety_reset = counter - 1

  # Safety Reset
  if input > safety_reset
    input = 0
  end

  training_examples = File.readlines("data/biometrics/ages/ages.txt")

  current_biometric = training_examples[input]

  puts current_biometric
end
attribute_trigger() click to toggle source

Decision tree that uses one biometric in isolation.

# File lib/dynamicTree.rb, line 173
def self.attribute_trigger
  input = File.read("data/number/input.txt").strip.to_i

  # Safety Reset
  if input > 8
    input = 0
  end

  attributes = [
    "Name",      "ID",        "Age",
    "Height",    "Weight",    "Hair Color",
    "Eye Color", "Skin Tone", "Relationship",
  ]

  set_attribute = attributes[input]

  print "#{set_attribute}: "

  if    set_attribute ==         "Name"; DynamicTree::Sprout.name_examples
  elsif set_attribute ==           "ID"; DynamicTree::Sprout.id_examples
  elsif set_attribute ==          "Age"; DynamicTree::Sprout.age_examples
  elsif set_attribute ==       "Height"; DynamicTree::Sprout.height_examples
  elsif set_attribute ==       "Weight"; DynamicTree::Sprout.weight_examples
  elsif set_attribute ==   "Hair Color"; DynamicTree::Sprout.hair_color_examples
  elsif set_attribute ==    "Eye Color"; DynamicTree::Sprout.eye_color_examples
  elsif set_attribute ==    "Skin Tone"; DynamicTree::Sprout.skin_tone_examples
  elsif set_attribute == "Relationship"; DynamicTree::Sprout.relationship_examples
  end
end
eye_color_examples() click to toggle source
# File lib/dynamicTree.rb, line 118
def self.eye_color_examples
  input = File.read("data/number/input.txt").strip.to_i

  counter = File.readlines("data/biometrics/eye_colors/eye_colors.txt").size.to_i
  safety_reset = counter - 1

  # Safety Reset
  if input > safety_reset
    input = 0
  end

  training_examples = File.readlines("data/biometrics/eye_colors/eye_colors.txt")

  current_biometric = training_examples[input]

  puts current_biometric
end
hair_color_examples() click to toggle source
# File lib/dynamicTree.rb, line 100
def self.hair_color_examples
  input = File.read("data/number/input.txt").strip.to_i

  counter = File.readlines("data/biometrics/hair_colors/hair_colors.txt").size.to_i
  safety_reset = counter - 1

  # Safety Reset
  if input > safety_reset
    input = 0
  end

  training_examples = File.readlines("data/biometrics/hair_colors/hair_colors.txt")

  current_biometric = training_examples[input]

  puts current_biometric
end
height_examples() click to toggle source
# File lib/dynamicTree.rb, line 64
def self.height_examples
  input = File.read("data/number/input.txt").strip.to_i

  counter = File.readlines("data/biometrics/heights/heights.txt").size.to_i
  safety_reset = counter - 1

  # Safety Reset
  if input > safety_reset
    input = 0
  end

  training_examples = File.readlines("data/biometrics/heights/heights.txt")

  current_biometric = training_examples[input]

  puts current_biometric
end
id_examples() click to toggle source
# File lib/dynamicTree.rb, line 28
def self.id_examples
  input = File.read("data/number/input.txt").strip.to_i

  counter = File.readlines("data/biometrics/id_numbers/id_numbers.txt").size.to_i
  safety_reset = counter - 1

  # Safety Reset
  if input > safety_reset
    input = 0
  end

  training_examples = File.readlines("data/biometrics/id_numbers/id_numbers.txt")

  current_biometric = training_examples[input]

  puts current_biometric
end
initialize_tree() click to toggle source

Decision tree that uses one biometric in isolation.

# File lib/dynamicTree.rb, line 204
def self.initialize_tree
  puts "__Profile__"
  DynamicTree::Sprout.name_examples
  DynamicTree::Sprout.id_examples
  DynamicTree::Sprout.age_examples
  DynamicTree::Sprout.height_examples
  DynamicTree::Sprout.weight_examples
  DynamicTree::Sprout.hair_color_examples
  DynamicTree::Sprout.eye_color_examples
  DynamicTree::Sprout.skin_tone_examples
  DynamicTree::Sprout.relationship_examples

  DynamicTree::Sprout.attribute_trigger
end
name_examples() click to toggle source

These are the different sets of training examples. In this algorithm, each attribute has different training examples.

# File lib/dynamicTree.rb, line 10
def self.name_examples
  input = File.read("data/number/input.txt").strip.to_i

  counter = File.readlines("data/biometrics/names/names.txt").size.to_i
  safety_reset = counter - 1

  # Safety Reset
  if input > safety_reset
    input = 0
  end

  training_examples = File.readlines("data/biometrics/names/names.txt")

  current_biometric = training_examples[input]

  puts current_biometric
end
relationship_examples() click to toggle source
# File lib/dynamicTree.rb, line 154
def self.relationship_examples
  input = File.read("data/number/input.txt").strip.to_i

  counter = File.readlines("data/biometrics/relationships/relationships.txt").size.to_i
  safety_reset = counter - 1

  # Safety Reset
  if input > safety_reset
    input = 0
  end

  training_examples = File.readlines("data/biometrics/relationships/relationships.txt")

  current_biometric = training_examples[input]

  puts current_biometric
end
skin_tone_examples() click to toggle source
# File lib/dynamicTree.rb, line 136
def self.skin_tone_examples
  input = File.read("data/number/input.txt").strip.to_i

  counter = File.readlines("data/biometrics/skin_tones/skin_tones.txt").size.to_i
  safety_reset = counter - 1

  # Safety Reset
  if input > safety_reset
    input = 0
  end

  training_examples = File.readlines("data/biometrics/skin_tones/skin_tones.txt")

  current_biometric = training_examples[input]

  puts current_biometric
end
weight_examples() click to toggle source
# File lib/dynamicTree.rb, line 82
def self.weight_examples
  input = File.read("data/number/input.txt").strip.to_i

  counter = File.readlines("data/biometrics/weights/weights.txt").size.to_i
  safety_reset = counter - 1

  # Safety Reset
  if input > safety_reset
    input = 0
  end

  training_examples = File.readlines("data/biometrics/weights/weights.txt")

  current_biometric = training_examples[input]

  puts current_biometric
end