diff options
Diffstat (limited to 'paper/crossvalidation.rb')
-rw-r--r-- | paper/crossvalidation.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/paper/crossvalidation.rb b/paper/crossvalidation.rb new file mode 100644 index 0000000..1f4c023 --- /dev/null +++ b/paper/crossvalidation.rb @@ -0,0 +1,23 @@ +require_relative 'include.rb' + +name = File.basename ARGV[0], ".csv" +file = File.join DATA,ARGV[0] +csv_file = File.join(DATA,ARGV[0].sub(/.csv/,'-cv.csv')) +id_file = File.join(DATA,ARGV[0].sub(/.csv/,'-cv.id')) +dataset = Dataset.from_csv_file file +model = Model::LazarRegression.create dataset +cv = RegressionCrossValidation.create model +File.open(id_file,"w+"){|f| f.puts cv.id} + +data = [] +cv.predictions.each do |p| + smi = Compound.find(p[0]).smiles + data << [smi,p[1].median,p[2],p[3]] +end + +data.sort!{|a,b| a[1] <=> b[1]} + +CSV.open(csv_file,"w+") do |csv| + csv << ["SMILES","LOAEL_measured_median","LOAEL_predicted","Confidence"] + data.each{|r| csv << r} +end |