Ejemplo n.º 1
0
 def setIndex(self, cb, index):
     if (cb.currentText() == "Charger mon fichier ..."):
         fileName, _ = QFileDialog.getOpenFileName(
             self, "Ouvrir un fichier", "../Classifier/TimeSeriesFiles",
             "Text files (*.txt)")
         if fileName:
             QApplication.setOverrideCursor(Qt.WaitCursor)
             App.fileNameTS = fileName
             App.X_train, _ = importTS.fileImportTS(App.fileNameTS)
             index.setMaximum(len(App.X_train))
             QApplication.restoreOverrideCursor()
             index.setEnabled(True)
     else:
         QApplication.setOverrideCursor(Qt.WaitCursor)
         App.X_train, _, _, _ = importTS.dataImport(cb.currentText())
         index.setMaximum(len(App.X_train))
         QApplication.restoreOverrideCursor()
         index.setEnabled(True)
Ejemplo n.º 2
0
 def saveClassifier(self):
     fileName, _ = QFileDialog.getSaveFileName(
         self, "Sauvegarder un fichier",
         "../Classifier/SaveClassifierFiles", "Saved classifiers (*.sav)")
     if fileName:
         QApplication.setOverrideCursor(Qt.WaitCursor)
         if self.cb_Classifier_SelectTS.currentText(
         ) == "Charger mon fichier ...":
             X_train, Y_train = importTS.fileImportTS(App.fileNameTS)
             if self.cb_Classifier.currentText() == "Learning Shapelet":
                 classifier = LearningClassifier.learningShapeletClassifier(
                     X_train, Y_train)
                 LearningClassifier.saveClassifierLS(classifier, fileName)
             elif self.cb_Classifier.currentText() == "1NN-DTW":
                 classifier = LearningClassifier.NN1_DTWClassifier(
                     X_train, Y_train)
                 LearningClassifier.saveClassifier1NN(classifier, fileName)
             else:
                 classifier = LearningClassifier.NN1_Classifier(
                     X_train, Y_train)
                 LearningClassifier.saveClassifier1NN(classifier, fileName)
         else:
             X_train, Y_train, _, _ = importTS.dataImport(
                 self.cb_Classifier_SelectTS.currentText())
             if self.cb_Classifier.currentText() == "Learning Shapelet":
                 classifier = LearningClassifier.learningShapeletClassifier(
                     X_train, Y_train)
                 LearningClassifier.saveClassifierLS(classifier, fileName)
             elif self.cb_Classifier.currentText() == "1NN-DTW":
                 classifier = LearningClassifier.NN1_DTWClassifier(
                     X_train, Y_train)
                 LearningClassifier.saveClassifier1NN(classifier, fileName)
             else:
                 classifier = LearningClassifier.NN1_Classifier(
                     X_train, Y_train)
                 LearningClassifier.saveClassifier1NN(classifier, fileName)
         QApplication.restoreOverrideCursor()
         QMessageBox.information(self, 'Classifieur sauvegardé !',
                                 "Le classifieur a été sauvegardé !",
                                 QMessageBox.Ok)
Ejemplo n.º 3
0
import sys
sys.path.insert(0, "../Classifier")
import importTS
import LearningClassifier
import lime_timeseries
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
import pandas as pd
from sklearn.neighbors import KNeighborsClassifier as KNN
import matplotlib.pyplot as plt
import math


"""Importation de la ST Trace
X_train et Y_train servent à l'entrainement du classifieur. Les ST non étiqueté sont dans X_test."""
X_train, Y_train, X_test, Y_test = importTS.dataImport("Trace")

for i in range(30):
    s = "b"
    if(Y_train[i]==4):
        s="r"
    if(Y_train[i]==1):
        s="g"
    if(Y_train[i]==2):
        s="c"
    if(Y_train[i]==3):
        s="y"
    plt.plot(X_train[i].ravel(),s)
plt.show()


"""Construction classifieur 1NN-DTW. En vrai, on va le loader"""
Ejemplo n.º 4
0
    "--local",
    type=str,
    help="indicate that the TS file <input_file> is on the computer")
# default = pas dans la ligne de commande
# const = dans la ligne mais pas renseigné

args = parser.parse_args()
#print(args)

import importTS
import LearningClassifier

if args.local:
    X_train, Y_train = importTS.fileImportTS(args.local)
else:
    X_train, Y_train, _, _ = importTS.dataImport(args.input_file)

fileName = "./SaveClassifierFiles/"
if args.output:
    fileName += args.output
else:
    fileName += args.input_file
fileName += ".sav"

if args.classifier_type == "LS":
    classifier = LearningClassifier.learningShapeletClassifier(
        X_train, Y_train)
    LearningClassifier.saveClassifierLS(classifier, fileName)
elif args.classifier_type == "1NN-DTW":
    classifier = LearningClassifier.NN1_DTWClassifier(X_train, Y_train)
    LearningClassifier.saveClassifier1NN(classifier, fileName)
Ejemplo n.º 5
0
import LearningClassifier
import lime_timeseries
import pandas as pd
from sklearn.neighbors import KNeighborsClassifier as KNN
import matplotlib.pyplot as plt
import math
import re
import ExplanationWindow
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
"""if args.perso:
    X_train, Y_train = importTS.fileImportTS(args.perso)
else:
    X_train, Y_train, X_test, Y_test= importTS.dataImport(args.input_file)
"""

X_train, Y_train, X_test, Y_test = importTS.dataImport(args.input_file)

if args.features == 0:
    args.features = args.cuts

cltype = args.classifier[len(args.classifier) - 8:]
#print(cltype)
if cltype == "_1NN.sav":
    cl = LearningClassifier.loadClassifieur1NN(args.classifier)
else:
    cl = LearningClassifier.loadClassifieurLS(args.classifier)

myTs = X_test[args.index].ravel()
myTSexp = lime_timeseries.TSExplainer()
exp = myTSexp.explain_instance(myTs, cl, X_train, args.cuts, args.features,
                               args.samples)
import importTS
import LearningClassifier
import numpy as np
import pandas as pd
from sklearn.metrics import accuracy_score
from tslearn.preprocessing import TimeSeriesScalerMinMax

"Fichier de test"

X_train, Y_train, X_test, Y_test = importTS.dataImport("Beef")
print("Résultat attendu : " + str(Y_test[1]))

"Test LS"

clLS = LearningClassifier.learningShapeletClassifier(X_train, Y_train)
print("Résultat LS : " + str(clLS.predict(X_test)))
predicted_labels = clLS.predict(X_test)
print("Correct classification rate :", accuracy_score(Y_test,
                                                      predicted_labels))

LearningClassifier.saveClassifierLS(clLS, "LS")

loadclLS, labelsave = LearningClassifier.loadClassifieurLS("_LS_.sav")
newlabel = loadclLS.predict(X_test)
print(newlabel)
print("Résulat classifieur LS save : " +
      str(labelsave.inverse_transform(newlabel)))
print("Correct classification rate :",
      accuracy_score(Y_test, labelsave.inverse_transform(newlabel)))
"""
"Test 1NN-DTW"