Zuhause Persönliche Finanzen , Wie die Anzahl der Elemente in einem Datenstrom zu finden - Attrappen

, Wie die Anzahl der Elemente in einem Datenstrom zu finden - Attrappen

Video: ESOcast 124: Q&A with ESO's Outgoing Director General Tim de Zeeuw — Thoughts and reflections on ... 2025

Video: ESOcast 124: Q&A with ESO's Outgoing Director General Tim de Zeeuw — Thoughts and reflections on ... 2025
Anonim

Auch wenn ein Bloom-Filter Objekte verfolgen kann, die von einem Stream kommen, kann er nicht feststellen, wie viele Objekte dort vorhanden sind. Ein mit Einsen gefüllter Bitvektor kann (abhängig von der Anzahl der Hashes und der Kollisionswahrscheinlichkeit) die wahre Anzahl der Objekte verschlüsseln, die an der gleichen Adresse gehasht werden.

Die Kenntnis der eindeutigen Anzahl von Objekten ist in verschiedenen Situationen nützlich, z. B. wenn Sie wissen möchten, wie viele verschiedene Benutzer eine bestimmte Website-Seite oder die Anzahl verschiedener Suchmaschinen-Abfragen gesehen haben. Alle Elemente zu speichern und die Duplikate unter ihnen zu finden, kann nicht mit Millionen von Elementen arbeiten, insbesondere wenn sie aus einem Stream kommen. Wenn Sie wissen möchten, wie viele verschiedene Objekte in einem Stream vorhanden sind, müssen Sie sich dennoch auf eine Hash-Funktion verlassen. Bei diesem Ansatz wird jedoch eine numerische Skizze verwendet.

Skizzieren bedeutet, eine Näherung zu nehmen, also einen ungenauen, aber nicht völlig falschen Wert als Antwort. Näherung ist akzeptabel, da der reale Wert nicht zu weit davon entfernt ist. In diesem intelligenten Algorithmus, HyperLogLog,, der auf Wahrscheinlichkeit und Näherung basiert, beobachten Sie die Eigenschaften von Zahlen, die aus dem Datenstrom generiert werden. HyperLogLog leitet sich aus den Studien der Informatiker Nigel Martin und Philippe Flajolet ab. Flajolet verbesserte ihren anfänglichen Algorithmus, Flajolet-Martin (oder der loglog Algorithmus), in die robustere HyperLogLog Version, die wie folgt funktioniert:

  1. Ein Hash konvertiert jedes vom Stream empfangene Element in eine Zahl.
  2. Der Algorithmus konvertiert die Zahl in eine Binärdatei, den numerischen Standard der Basis 2, den Computer verwenden.
  3. Der Algorithmus zählt die Anzahl der Nullen in der Binärzahl und die Anzahl der Spuren, die er sieht, also n.
  4. Der Algorithmus schätzt die Anzahl der einzelnen Elemente, die mit n im Stream übergeben wurden. Die Anzahl der verschiedenen Elemente ist 2 ^ 999 n 999.
    Zum Beispiel ist das erste Element in der Zeichenkette das Wort
Hund.

Der Algorithmus es in einen ganzzahligen Wert Hashes und wandelt sie in binären, mit einem Ergebnis von 01101010. nur eine Null erscheint am Anfang der Zahl, so geht der Algorithmus zeichnet sie als die maximale Anzahl von Nullen gesehen. Der Algorithmus sieht dann die Worte Papagei und Wolf,, deren binären Äquivalente 11101011 und 01101110, n unverändert bleibt. Wenn jedoch das Wort cat verläuft, wird der Ausgang 00101110 ist, so wird n 2 die Anzahl der unterschiedlichen Elemente abzuschätzen, berechnet der Algorithmus 2 ^ n, das heißt, 2 ^ 2 = 4 ist. Die Abbildung zeigt diesen Vorgang. Nur führende Nullen zählen. Der Trick des Algorithmus ist, dass, wenn Ihr Hash zufällige Ergebnisse erzeugt, gleichmäßig verteilt (wie in einem Bloom-Filter), indem Sie die binäre Darstellung betrachten, können Sie die Wahrscheinlichkeit berechnen, dass eine Folge von Nullen erschien. Da die Wahrscheinlichkeit, dass eine einzelne Binärzahl 0 ist, eins zu zwei ist, multiplizieren Sie zum Berechnen der Wahrscheinlichkeit von Folgen von Nullen einfach die 1/2 Wahrscheinlichkeit so oft wie die Länge der Folge von Nullen:

50 Prozent (1/2) Wahrscheinlichkeit für Zahlen, die mit einer Wahrscheinlichkeit von 0

25 Prozent (1/2 * 1/2) beginnen, beginnend mit 00

  • 12. 5 Prozent (1/2 * 1/2 * 1/2) Wahrscheinlichkeit für Zahlen, die mit 000
  • (1/2) beginnen ^ k Wahrscheinlichkeit für Zahlen, die mit k Nullen beginnen (Sie verwenden Kräfte für schnellere Berechnungen von vielen Multiplikationen der gleiche Zahl)
  • Je weniger Zahlen HyperLogLog sieht, desto größer ist die Ungenauigkeit. Die Genauigkeit erhöht sich, wenn Sie die HyperLogLog-Berechnung viele Male mit verschiedenen Hash-Funktionen verwenden und die Antworten aus jeder Berechnung zusammen zählen, aber das Hashing dauert oft und die Datenströme sind schnell. Alternativ können Sie den gleichen Hash verwenden, aber den Stream in Gruppen aufteilen (z. B. durch Trennen der Elemente in Gruppen, wenn diese entsprechend ihrer Ankunftsreihenfolge ankommen), und für jede Gruppe verfolgen Sie die maximale Anzahl von nachgestellten Nullen. Am Ende berechnen Sie die eindeutige Elementschätzung für jede Gruppe und berechnen das arithmetische Mittel aller Schätzungen. Dieser Ansatz ist eine stochastische Mittelwertbildung und liefert präzisere Schätzungen als die Anwendung des Algorithmus auf den gesamten Datenstrom.
, Wie die Anzahl der Elemente in einem Datenstrom zu finden - Attrappen

Die Wahl des Herausgebers

Wie man die Socialcast Mobile App benutzt - dummies

Wie man die Socialcast Mobile App benutzt - dummies

Sogar die stoischste Anwendung wie Microsoft Excel hat ein begleitendes Smartphone-App, natürlich hat Socialcast auch eine. Wenn es so wäre, wäre es nicht wirklich eine Ausrede zu sagen, dass Socialcast nicht sehr sozial wäre, wenn du es nicht mit in die große Welt außerhalb deiner Zelle mitnehmen könntest. Die mobile App ...

Wie man das App Verzeichnis von Yammer benutzt - dummies

Wie man das App Verzeichnis von Yammer benutzt - dummies

Sie haben vielleicht gehört: "Es gibt eine App dafür. "Nun, das ist der Fall bei Yammer, der als einzige Ressource für die Vernetzung am Arbeitsplatz funktioniert. Aber Yammer bietet Ihnen auch eine Menge Apps, mit denen Sie Ihr Arbeitsleben noch einfacher gestalten können. Es gibt zwei Möglichkeiten, auf das App-Verzeichnis zuzugreifen: Option ...

So ​​verwenden Sie die Yammer-Analysetools - Dummies

So ​​verwenden Sie die Yammer-Analysetools - Dummies

Yammer rühmt sich damit als "führendes soziales Unternehmensnetzwerk für Unternehmen" um die Arbeit intelligenter und schneller zu erledigen. "Woher weißt du, ob das wahr ist? Ein guter Weg, um zu sehen, wie es für Sie funktioniert, ist die Analyse von Yammer. Wie greifen Sie auf diese großartigen Tools zu? Es ist einfach. Log ...

Die Wahl des Herausgebers

Die Evolution von Distributed Computing für Big Data - Dummies

Die Evolution von Distributed Computing für Big Data - Dummies

Hinter allen wichtigen Trends des letzten Jahrzehnts, einschließlich Serviceorientierung, Cloud Computing, Virtualisierung und Big Data, ist eine grundlegende Technologie namens Distributed Computing. Einfach gesagt, ohne die Verteilung von Datenverarbeitung wäre keiner dieser Fortschritte möglich. Distributed Computing ist eine Technik, mit der einzelne Computer über geografische Gebiete hinweg miteinander vernetzt werden können, so als ob ...

Drei Anbieter mit Data Mining-Produkten - Dummies

Drei Anbieter mit Data Mining-Produkten - Dummies

Es gibt mehrere Anbieter, die Data-Mining-Produkte verkaufen, die Sie vielleicht in Betracht ziehen möchten. Verwenden Sie mit Ihrem Data Warehouse. Hier sind drei, die eine Überlegung wert sind. Microsoft Microsoft hat das serverseitige Data Mining mit Microsoft SQL Server 2005 eingeführt. Obwohl es nicht so ausgereift und ausgeklügelt wie SAS und SPSS ist, hat Microsoft im Laufe der Zeit seine Fähigkeit bewiesen ...

Grundlagen der Big-Data-Integration - Dummies

Grundlagen der Big-Data-Integration - Dummies

Die fundamentalen Elemente der Big-Data-Plattform verwalten Daten auf neue Weise verglichen mit der traditionellen relationalen Datenbank. Dies liegt daran, dass Skalierbarkeit und hohe Leistung erforderlich sind, um sowohl strukturierte als auch unstrukturierte Daten zu verwalten. Komponenten des Big-Data-Ökosystems von Hadoop bis NoSQL DB, MongoDB, Cassandra, ...

Die Wahl des Herausgebers

So ​​stellen Sie eine Verbindung zu Spotify Mobile her - Dummies

So ​​stellen Sie eine Verbindung zu Spotify Mobile her - Dummies

Die meisten modernen Smartphones sind Wi-Fi-fähig. In ein lokales Netzwerk können Sie Spotify-Tracks mithilfe von Wi-Fi auf Ihr Telefon streamen. Sie können Spotify Mobile zu Hause und über Wi-Fi-Netzwerke in Hotels und Cafés problemlos nutzen - Sie müssen nur sicherstellen, dass Sie angemeldet und verbunden sind. ...

Wie Spotify funktioniert - Dummies

Wie Spotify funktioniert - Dummies

Wie Spotify funktioniert, kann Auswirkungen auf den Festplattenspeicher Ihres Computers haben. Internetverbindung. Spotify funktioniert anders als viele andere Online-Musikdienste, weil es auf mehrere Arten angewiesen ist, um Ihnen reibungslos Musik ohne Verzögerungen zu liefern. In Computing-Sprechen, das Maß der Verzögerung zwischen Anfordern eines Songs und Hören es ...

So ​​erreichen Sie Spotify Support - Dummies

So ​​erreichen Sie Spotify Support - Dummies

Es kann vorkommen, dass Sie eine kleine Hilfe beim Navigieren und Verwenden von Spotify benötigen von deinen Spotify Freunden. Sie können jederzeit Support @ spotify per E-Mail senden. com mit Ihrer Frage oder melden Sie sich bei Twitter an und senden Sie einen Tweet an @spotify. Stellen Sie sicher, dass Sie alle Informationen einschließen, die dem Support-Team helfen könnten, einschließlich Ihres Benutzernamens, damit sie ...