Create Machine Learning aus CSV Files

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Create Machine Learning aus CSV Files

    Hallo allerseits! 8o

    ich versuche hier aus einigen CSV files mir ein Machine Learning model zu erstellen. Das scheint zu klappen, aber ob das so richtig gemacht wurde glaube ich nicht so ganz und brauche deswegen hier Hilfe.

    Was habe ich vor:

    Ich möchte Mithilfe von Machine Learning die Position im Raum an Hand Bluetooth Signalen ermitteln können.

    Was habe ich gemacht:

    Ich erstelle ein Fingerprint, an Hand Bluetoothdaten die ich im Raum so empfange.
    Diese Daten werden im CSV-Format abgespeichert.
    Jedes CSV file ist ein Fingerprint von einem festen Ort (Quadrant) im Raum.

    Ich hab jetzt Testhalber 5 Fingerprints von einem Raum gemacht. A.csv, B.csv, C.csv, D.csv. E.csv jeder jeweils in einem eigenen Ordner im TrainingDataSet. Das selbe gilt auch für das TestingDataSet.

    Wie mache ich das nun richtig? ?(

    Ich hab hier folgenden Code geschrieben:

    Python-Quellcode

    1. import Foundation
    2. import CreateML
    3. let trainSetCSV = URL(fileURLWithPath: "/Users/Swiffer/Downloads/Machine_Learning/Data/Training_Data/")
    4. let testSetCSV = URL(fileURLWithPath: "/Users/Swiffer/Downloads/Machine_Learning/Data/Testing_Data/")
    5. let model = try MLTextClassifier(trainingData: .labeledDirectories(at: trainSetCSV))
    6. model.trainingMetrics
    7. let res = model.evaluation(on: .labeledDirectories(at: testSetCSV))
    8. let writeToUrl = URL(fileURLWithPath: "/Users/Swiffer/Downloads/Machine_Learning/Data/Result/")
    9. try model.write(to: writeToUrl)
    Alles anzeigen

    Raus bekomme ich das:

    Quellcode

    1. Skipping automatic creation of validation set; training set has fewer than 50 points.
    2. Tokenizing data and extracting features
    3. Starting MaxEnt training with 5 samples
    4. Iteration 1 training accuracy 0.200000
    5. Iteration 2 training accuracy 0.800000
    6. Iteration 3 training accuracy 1.000000
    7. Finished MaxEnt training in 0.00 seconds
    8. No file name specified for saving the model, using default name 'TextClassifier.mlmodel'
    9. Trained model successfully saved at /Users/Swiffer/Downloads/Machine_Learning/Data/Result/TextClassifier.mlmodel.

    Ist mein Vorhaben so wie ich den model erstellt habe richtig? Denn, ich hab hier die Vermutung, dass hier nicht wirklich in jedes einzelne CSV file eingegangen wird. Außerdem ging mir das sogar zu schnell. 8|

    Ich bin für jede Hilfe dankbar!

    - Swiffer
  • Hallo Swiffer!

    Zugegebenermaßen kann ich nur Vermutungen äußern, aber "5 samples" passt doch zu fünf Dateien.
    Wenn in den Dateien jeweils nur wenige Kilobyte Daten drin stecken, sind die super schnell gelesen und
    vermutlich auch superschnell verarbeitet. TestingData wird gar nicht verwendet.

    CreateML weist auch schon darauf hin, dass es sehr wenig Daten bekommt. Falls die Dateien selbst
    doch größer sind, vermute ich, dass der gewählte initializer nicht der richtige ist.

    Wieviele Zeilen stehen denn jeweils in den CSV-Dateien?

    Grüße
    Marco