diff --git a/Code/MonoMultiViewClassifiers/Monoview/ExecClassifMonoView.py b/Code/MonoMultiViewClassifiers/Monoview/ExecClassifMonoView.py
index 67cb73960fe5f701831eea863e8784cd54b0e084..8aa89473358401a8ec20846bf76ba500fc872511 100644
--- a/Code/MonoMultiViewClassifiers/Monoview/ExecClassifMonoView.py
+++ b/Code/MonoMultiViewClassifiers/Monoview/ExecClassifMonoView.py
@@ -125,9 +125,9 @@ def initConstants(args, X, classificationIndices, labelsNames, name, directory):
     learningRate = float(len(classificationIndices[0])) / (len(classificationIndices[0]) + len(classificationIndices[1]))
     labelsString = "-".join(labelsNames)
     CL_type_string = CL_type
-
-    outputFileName = directory + CL_type_string + "/" + feat + "/" + "Results-" + CL_type_string + "-" + labelsString + \
-                     '-learnRate' + str(learningRate) + '-' + name + "-" + feat + "-"
+    timestr = time.strftime("%Y_%m_%d-%H:%M:%S")
+    outputFileName = directory + CL_type_string + "/" + feat + "/" + timestr + "-Results-" + CL_type_string + "-" + labelsString + \
+                     '-learnRate_{0:.2f}'.format(learningRate) + '-' + name + "-" + feat + "-"
     if not os.path.exists(os.path.dirname(outputFileName)):
         try:
             os.makedirs(os.path.dirname(outputFileName))
diff --git a/Code/MonoMultiViewClassifiers/Multiview/ExecMultiview.py b/Code/MonoMultiViewClassifiers/Multiview/ExecMultiview.py
index 02bb0ec78811f421f0420011e2708f22165c37e2..bf929a2fce7fbf6458047066b4e5f7fd11cc1bf5 100644
--- a/Code/MonoMultiViewClassifiers/Multiview/ExecMultiview.py
+++ b/Code/MonoMultiViewClassifiers/Multiview/ExecMultiview.py
@@ -40,12 +40,12 @@ def initConstants(kwargs, classificationIndices, metrics, name, nbCores, KFolds,
 def saveResults(LABELS_DICTIONARY, stringAnalysis, views, classifierModule, classificationKWARGS, directory, learningRate, name, imagesAnalysis):
     labelsSet = set(LABELS_DICTIONARY.values())
     logging.info(stringAnalysis)
-    featureString = "-".join(views)
+    viewsString = "-".join(views)
     labelsString = "-".join(labelsSet)
-    timestr = time.strftime("%Y%m%d-%H%M%S")
+    timestr = time.strftime("%Y_%m_%d-%H:%M:%S")
     CL_type_string = classifierModule.genName(classificationKWARGS)
-    outputFileName = directory + "/" + CL_type_string + "/" + timestr + "Results-" + CL_type_string + "-" + featureString + '-' + labelsString + \
-                     '-learnRate' + str(learningRate) + '-' + name
+    outputFileName = directory + "/" + CL_type_string + "/" + timestr + "-Results-" + CL_type_string + "-" + viewsString + '-' + labelsString + \
+                     '-learnRate_{0:.2f}'.format(learningRate) + '-' + name
     if not os.path.exists(os.path.dirname(outputFileName)):
         try:
             os.makedirs(os.path.dirname(outputFileName))
diff --git a/Code/MonoMultiViewClassifiers/Multiview/analyzeResults.py b/Code/MonoMultiViewClassifiers/Multiview/analyzeResults.py
index 48c91ff57e2a846dfb149c1e6699e217c0f17ab8..887e6da3dc8f3d9bde2561e88ccc88ce91b5761a 100644
--- a/Code/MonoMultiViewClassifiers/Multiview/analyzeResults.py
+++ b/Code/MonoMultiViewClassifiers/Multiview/analyzeResults.py
@@ -77,6 +77,6 @@ def execute(classifier, trainLabels,
     metricsScores = getMetricsScores(metrics, trainLabels, testLabels,
                                      validationIndices, learningIndices, labels)
     stringAnalysis += printMetricScore(metricsScores, metrics)
-    stringAnalysis += "\n\n" + classifier.getSpecificAnalysis(classificationKWARGS)
+    stringAnalysis += "\n\n Interpretation : \n\n" + classifier.getSpecificAnalysis(classificationKWARGS)
     imagesAnalysis = {}
     return stringAnalysis, imagesAnalysis, metricsScores
\ No newline at end of file
diff --git a/Code/MonoMultiViewClassifiers/MultiviewClassifiers/FatSCMLateFusion/FatSCMLateFusionModule.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/FatSCMLateFusion/FatSCMLateFusionModule.py
index 6037b54b7b0a6823e5942d6f37b8299bf7a18952..8bdf0060ba3c9c7e1c7b8c2cf562b6487ea021ad 100644
--- a/Code/MonoMultiViewClassifiers/MultiviewClassifiers/FatSCMLateFusion/FatSCMLateFusionModule.py
+++ b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/FatSCMLateFusion/FatSCMLateFusionModule.py
@@ -87,7 +87,7 @@ class FatSCMLateFusionClass:
         return "p : "+str(self.p)+", max_aributes : "+str(self.max_attributes)+", model : "+self.model
 
     def getSpecificAnalysis(self, classificationKWARGS):
-        stringAnalysis = ''
+        stringAnalysis = 'Rules used : ' + str(self.SCMClassifier.clf.model_)
         return stringAnalysis
 
 
diff --git a/Code/MonoMultiViewClassifiers/ResultAnalysis.py b/Code/MonoMultiViewClassifiers/ResultAnalysis.py
index 45d935f9cde8948e140cfb7d60d6035c1d9b8182..30cbe64323a31995977bf40d40a8902ab7587d1a 100644
--- a/Code/MonoMultiViewClassifiers/ResultAnalysis.py
+++ b/Code/MonoMultiViewClassifiers/ResultAnalysis.py
@@ -126,7 +126,7 @@ def publishMetricsGraphs(metricsScores, directory, databaseName, labelsNames):
         testScores = metricScores["testScores"]
         names = metricScores["classifiersNames"]
         nbResults = len(testScores)
-        fileName = directory + databaseName +"-"+"vs".join(labelsNames)+ "-" + metricName + ".png"
+        fileName = directory + time.strftime("%Y%m%d-%H%M%S") + databaseName +"-"+"_vs_".join(labelsNames)+ "-" + metricName + ".png"
         plotMetricOneIter(trainScores, testScores, names, nbResults, metricName, fileName)
         logging.debug("Done:\t Biclass score graph generation for " + metricName)
 
@@ -167,20 +167,20 @@ def publishExampleErrors(exampleErrors, directory, databaseName, labelsNames, mi
                borderaxespad=0,
                ncol=3)
     fig.tight_layout()
-    fig.savefig(directory + databaseName +"-"+"vs".join(labelsNames)+ "-error_analysis.png", bbox_inches="tight")
+    fig.savefig(directory + time.strftime("%Y%m%d-%H%M%S") + databaseName +"-"+"_vs_".join(labelsNames)+ "-error_analysis.png", bbox_inches="tight")
     plt.close()
     logging.debug("Done:\t Biclass Label analysis figure generation")
 
     logging.debug("Start:\t Biclass Error by example figure generation")
     errorOnExamples = -1*np.sum(data, axis=1)/nbIter+nbClassifiers
-    np.savetxt(directory + "-clf_errors_doubled.csv", data, delimiter=",")
-    np.savetxt(directory + "-example_errors.csv", temp_data, delimiter=",")
+    np.savetxt(directory + "clf_errors_doubled.csv", data, delimiter=",")
+    np.savetxt(directory + "example_errors.csv", temp_data, delimiter=",")
     fig, ax = plt.subplots()
     x = np.arange(nbExamples)
     plt.bar(x, errorOnExamples)
     plt.ylim([0,nbClassifiers])
     plt.title("Number of classifiers that failed to classify each example")
-    fig.savefig(directory + databaseName +"-"+"vs".join(labelsNames)+ "-example_errors.png")
+    fig.savefig(directory + time.strftime("%Y%m%d-%H%M%S") + databaseName +"-"+"_vs_".join(labelsNames)+ "-example_errors.png")
     plt.close()
     logging.debug("Done:\t Biclass Error by example figure generation")
 
@@ -326,20 +326,20 @@ def publishMulticlassExmapleErrors(multiclassResults, directories, databaseName,
         green_patch = mpatches.Patch(color='green', label='Classifier succeded')
         plt.legend(handles=[red_patch, green_patch], bbox_to_anchor=(0,1.02,1,0.2), loc="lower left",mode="expand", borderaxespad=0, ncol=2)
         fig.tight_layout()
-        fig.savefig(directory + time.strftime("%Y%m%d-%H%M%S") + "-" + databaseName +"-error_analysis.png", bbox_inches="tight")
+        fig.savefig(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-" + databaseName +"-error_analysis.png", bbox_inches="tight")
         plt.close()
         logging.debug("Done:\t Label analysis figure generation")
 
         logging.debug("Start:\t Error by example figure generation")
         errorOnExamples = -1*np.sum(data, axis=1)/nbIter+nbClassifiers
-        np.savetxt(directory + time.strftime("%Y%m%d-%H%M%S") + "-clf_errors_doubled.csv", data, delimiter=",")
-        np.savetxt(directory + time.strftime("%Y%m%d-%H%M%S") + "-example_errors.csv", temp_data, delimiter=",")
+        np.savetxt(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-clf_errors_doubled.csv", data, delimiter=",")
+        np.savetxt(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-example_errors.csv", temp_data, delimiter=",")
         fig, ax = plt.subplots()
         x = np.arange(nbExamples)
         plt.bar(x, errorOnExamples)
         plt.ylim([0,nbClassifiers])
         plt.title("Number of classifiers that failed to classify each example")
-        fig.savefig(directory + time.strftime("%Y%m%d-%H%M%S") + "-" + databaseName +"-example_errors.png")
+        fig.savefig(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-" + databaseName +"-example_errors.png")
         plt.close()
         logging.debug("Done:\t Error by example figure generation")
 
@@ -451,7 +451,7 @@ def publishIterBiclassMetricsScores(iterResults, directory, labelsDictionary, cl
             ax.set_xticks(np.arange(nbResults) + barWidth)
             ax.set_xticklabels(names, rotation="vertical")
             f.tight_layout()
-            f.savefig(currentDirectory + time.strftime("%Y%m%d-%H%M%S") + "-" + dataBaseName + "-Mean_on_"
+            f.savefig(currentDirectory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-" + dataBaseName + "-Mean_on_"
                       + str(statsIter) + "_iter-" + metricName + ".png")
             plt.close()
 
@@ -491,7 +491,7 @@ def publishIterBiclassExampleErrors(iterResults, directory, labelsDictionary, cl
         cbar = fig.colorbar(cax, ticks=[-100*statsIter/2, 0, statsIter])
         cbar.ax.set_yticklabels(['Unseen', 'Always Wrong', 'Always Right'])
         fig.tight_layout()
-        fig.savefig(currentDirectory + time.strftime("%Y%m%d-%H%M%S") + "-error_analysis.png")
+        fig.savefig(currentDirectory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-error_analysis.png")
         plt.close()
         logging.debug("Done:\t Global label analysis figure generation")
 
@@ -542,7 +542,7 @@ def publishIterMulticlassMetricsScores(iterMulticlassResults, classifiersNames,
         ax.set_xticks(np.arange(nbResults) + barWidth)
         ax.set_xticklabels(names, rotation="vertical")
         f.tight_layout()
-        f.savefig(directory + time.strftime("%Y%m%d-%H%M%S") + "-" + dataBaseName + "-Mean_on_"
+        f.savefig(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-" + dataBaseName + "-Mean_on_"
                   + str(statsIter) + "_iter-" + metricName + ".png")
         plt.close()
 
@@ -570,14 +570,14 @@ def publishIterMulticlassExampleErrors(iterMulticlassResults, directory, classif
 
     logging.debug("Start:\t Global error by example figure generation")
     errorOnExamples = -1 * np.sum(data, axis=1) + (nbClassifiers*statsIter)
-    np.savetxt(directory + time.strftime("%Y%m%d-%H%M%S") + "-clf_errors.csv", data, delimiter=",")
-    np.savetxt(directory + time.strftime("%Y%m%d-%H%M%S") + "-example_errors.csv", errorOnExamples, delimiter=",")
+    np.savetxt(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-clf_errors.csv", data, delimiter=",")
+    np.savetxt(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-example_errors.csv", errorOnExamples, delimiter=",")
     fig, ax = plt.subplots()
     x = np.arange(nbExamples)
     plt.bar(x, errorOnExamples)
     plt.ylim([0,nbClassifiers*statsIter])
     plt.title("Number of classifiers that failed to classify each example")
-    fig.savefig(directory + time.strftime("%Y%m%d-%H%M%S") + "-example_errors.png")
+    fig.savefig(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-example_errors.png")
     plt.close()
     logging.debug("Done:\t Global error by example figure generation")
 
diff --git a/Code/MonoMultiViewClassifiers/utils/Interpret.py b/Code/MonoMultiViewClassifiers/utils/Interpret.py
index 03bf3c7d38ce7cb1a60da8ad1af4d36ba7817bce..dc816ac35d50a330fdaf5835106f3da814470a4d 100644
--- a/Code/MonoMultiViewClassifiers/utils/Interpret.py
+++ b/Code/MonoMultiViewClassifiers/utils/Interpret.py
@@ -21,12 +21,12 @@ def getFeatureImportance(classifier, directory, interpretString=""):
     ax.yaxis.set_major_formatter(formatter)
     plt.bar(x, featureImportancesSorted)
     plt.title("Importance depending on feature")
-    fig.savefig(directory + "-feature_importances.png")
+    fig.savefig(directory + "feature_importances.png")
     plt.close()
     featuresImportancesDict = dict((featureIndex, featureImportance)
                                    for featureIndex, featureImportance in enumerate(featureImportances)
                                    if featureImportance != 0)
-    with open(directory+'-feature_importances.pickle', 'wb') as handle:
+    with open(directory+'feature_importances.pickle', 'wb') as handle:
         pickle.dump(featuresImportancesDict, handle)
     interpretString += "Feature importances : \n"
     for featureIndex, featureImportance in zip(featureIndicesSorted, featureImportancesSorted):