summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Maunz <andreas@maunz.de>2012-04-05 14:01:55 +0200
committerAndreas Maunz <andreas@maunz.de>2012-04-05 14:01:55 +0200
commitc593a4a5eb4a94e334c546113e6cf19f84707fbe (patch)
tree939ab2e5db68974fe620dd63b7957f11298c139f
parentb649a5755e247ea564b8c3202a9bf09d65d6f229 (diff)
parser.rb modified to allow for several feature types
-rw-r--r--lib/parser.rb29
1 files changed, 19 insertions, 10 deletions
diff --git a/lib/parser.rb b/lib/parser.rb
index b5976ca..7641f14 100644
--- a/lib/parser.rb
+++ b/lib/parser.rb
@@ -395,19 +395,26 @@ module OpenTox
def warnings
- info = ''
+ info = '<br>'
@feature_types.each do |feature,types|
+ @dataset.add_feature_metadata(feature,{RDF.type => []})
if types.uniq.size == 0
- type = "helper#MissingFeature" # TODO: Fit to OT ontology!
- elsif types.uniq.size > 1
- type = OT.NumericFeature
+ @dataset.add_feature_metadata(
+ feature, {RDF.type => ( @dataset.features[feature][RDF.type] << "helper#MissingFeature" ) } # TODO: Fit to OT ontology!
+ )
+ info += "'#{@dataset.feature_name(feature)}' detected as 'MissingFeature'<br>"
else
- type = types.first
+ info += "'#{@dataset.feature_name(feature)}' detected as "
+ types.uniq.each { |t|
+ @dataset.add_feature_metadata(
+ feature, {RDF.type => @dataset.features[feature][RDF.type] << t}
+ )
+ info += "'#{t.split('#').last}', "
+ }
+ info.chop!.chop!
+ info += "<br>"
end
- @dataset.add_feature_metadata(feature,{RDF.type => [type]})
- info += "'#{@dataset.feature_name(feature)}' detected as '#{type.split('#').last}'<br>" if type
end
-
@dataset.metadata[OT.Info] = info
warnings = ''
@@ -469,12 +476,14 @@ module OpenTox
unless @duplicate_feature_indices.include? i
value = row[i]
- #LOGGER.warn "Missing values for #{id}" if value.size == 0 # String is empty
feature = @features[feature_idx]
type = feature_type(value) # May be NIL
- type = OT.NominalFeature unless (type.nil? || regression_features[i])
@feature_types[feature] << type if type
+ # Add nominal type if #distinct values le @max_class_values
+ if type == OT.NumericFeature
+ @feature_types[feature] << OT.NominalFeature unless regression_features[i]
+ end
val = nil
case type