Frage

Ich arbeite an einem Problem, bei dem ich einige Datensätze über einige Stromerzeugungseinheiten habe. Jede dieser Einheiten wurde aktiviert, um in der Vergangenheit zu laufen, und während der Aktivierung wurden einige Einheiten in einige Probleme geraten. Ich habe jetzt all diese Daten und möchte eine Art Ranking für diese generierenden Einheiten finden. Die Kriterien für die Rangliste wären anfangs ziemlich einfach. Sie sind:

  1. Die maximale Häufigkeit, mit der eine bestimmte Erzeugungseinheit aktiviert wurde
  2. Wie oft stieß die Erzeugungseinheit während der Aktivierung auf Probleme?

Später würde ich diesen Ranking -Algorithmus erweitern, indem ich weitere Kriterien hinzufügte. Ich werde die Apache Spark MLIB -Bibliothek verwenden und kann bereits sehen, dass bereits einige Algorithmen vorhanden sind.

http://spark.apache.org/docs/latest/mllib-guide.html

Ich bin mir einfach nicht sicher, welcher Algorithmus zu meinem Zweck passt. Irgendwelche Vorschläge?

War es hilfreich?

Lösung

Sie können einen Clustering-Algorithmus wie K-Means verwenden, um die Generatoren in Gruppen zu teilen. Sie wissen nie, welche Art von Gruppen Sie bekommen werden, bis Sie es versuchen. Versuchen Sie, den Charakter jeder Generatorengruppe zu bewerten, wenn Sie die Anzahl der Cluster erhöhen. Irgendwann sollten Sie eine sinnvolle Aufteilung der Generatoren finden. Die Eingaben für Ihren K-Means-Algorithmus sind die Kriterien, die Sie in Ihrem Beitrag erwähnt haben: Die Häufigkeit, mit der es aktiviert wurde, die Anzahl der Aktivierungsprobleme usw. Wenn Sie fertig sind, gehört der Generator der Gruppe, zu dem ein Generator gehört, der Rang. Diese Methode generiert kein Ranking von 1-1000, wenn Sie 1000 Generatoren haben. Vielmehr werden Sie beispielsweise mit K = 3: einer Gruppe von 243 herausragenden Generatoren, 320 durchschnittlichen Generatoren und 446 schrecklichen Generatoren erhalten.

Andere Tipps

Mit wenigen Ausnahmen können Sie jeden Algorithmus für maschinelles Lernen für Ihr Modell so ziemlich verwenden. Das Schöne an den meisten maschinellen Lernpaketen ist, dass die Schnittstelle für jedes Modell meistens gleich ist (obwohl sich die Tuning -Parameter unterscheiden) und nur einige Codezeilen benötigt, um jedes Modell auszuprobieren. Es gibt keinen Grund, warum Sie sich künstlich darauf einschränken sollten, bestimmte Modelle auszuprobieren.

Einige Ausnahmen zu dieser Regel sind Algorithmen, die möglicherweise nur zur Klassifizierung oder nur zur Regression arbeiten. Es hört sich so an, als würden Sie versuchen, eine kontinuierliche Zielvariable vorherzusagen, die Sie dann für das Ranking verwenden werden. Wenn dies der Fall ist, können Sie keinen Algorithmus namens Naive Bayes verwenden, da er nur Wahrscheinlichkeiten ausgeben kann. In anderen seltenen Fällen wie Deep Learning -Modellen kann die Laufzeit sehr lang sein (Stunden oder Tage) und in diesen Fällen möchten Sie keinen solchen Algorithmus verwenden, es sei denn, Sie hätten einen guten Grund dafür (z. B. Gesichtserkennung in Bildern). Sie sollten in der Lage sein, fast jeden Algorithmus in MLLIB zu verwenden: Gradientenverstärkung, zufällige Wälder usw.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top