[PYTHON] Berechnung der Anzahl der Assoziationen von Klamer

Ich konnte kein Modul finden, um die Anzahl der Klamer-Assoziationen in Python zu berechnen, also habe ich es selbst gemacht. Für die Berechnungsmethode habe ich auf [hier] verwiesen (http://rikanet2.jst.go.jp/contents/cp0530/contents/06-01-10.html).

cramerV.py


# -*- coding: utf-8 -*-

import numpy as np


def cramersV(x, y):
    """
    Calc Cramer's V.

    Parameters
    ----------
    x : {numpy.ndarray, pandas.Series}
    y : {numpy.ndarray, pandas.Series}
    """
    table = np.array(pd.crosstab(x, y)).astype(np.float32)
    n = table.sum()
    colsum = table.sum(axis=0)
    rowsum = table.sum(axis=1)
    expect = np.outer(rowsum, colsum) / n
    chisq = np.sum((table - expect) ** 2 / expect)
    return np.sqrt(chisq / (n * (np.min(table.shape) - 1)))


if __name__ == "__main__":
    import pandas as pd
    data = pd.DataFrame(
        {'science': ['like', 'like', 'like', 'like', 'like', 'like', 'like',
                     'like', 'like', 'like', 'like', 'like', 'like', 'like',
                     'like', 'like', 'like', 'like', 'like', 'like', 'like',
                     'like', 'like', 'like', 'like', 'like', 'like', 'like',
                     'like', 'like', 'like', 'dislike', 'dislike', 'dislike',
                     'dislike', 'dislike', 'dislike', 'dislike', 'dislike',
                     'dislike', 'dislike', 'dislike', 'dislike', 'dislike',
                     'dislike', 'dislike', 'dislike', 'dislike', 'dislike',
                     'dislike'],
         'math': ['like', 'like', 'like', 'like', 'like', 'like', 'like',
                  'like', 'like', 'like', 'like', 'like', 'like', 'like',
                  'like', 'like', 'like', 'like', 'like', 'like', 'like',
                  'like', 'like', 'like', 'dislike', 'dislike', 'dislike',
                  'dislike', 'dislike', 'dislike', 'dislike', 'like', 'like',
                  'like', 'like', 'like', 'like', 'dislike', 'dislike',
                  'dislike', 'dislike', 'dislike', 'dislike', 'dislike',
                  'dislike', 'dislike', 'dislike', 'dislike', 'dislike',
                  'dislike']})
    print cramersV(data['science'], data['math'])

Recommended Posts

Berechnung der Anzahl der Assoziationen von Klamer
10. Zählen der Anzahl der Zeilen
Holen Sie sich die Anzahl der Ziffern
Berechnen Sie die Anzahl der Änderungen
Berechnung der minimal erforderlichen Stimmenzahl aus der Stimmenzahl
Holen Sie sich die Anzahl der Ansichten von Qiita
Holen Sie sich die Anzahl der Youtube-Abonnenten
Zählen / überprüfen Sie die Anzahl der Methodenaufrufe.
Zählen Sie die Anzahl der Zeichen mit Echo
Informationen zur Genauigkeit der Berechnungsmethode für das Umfangsverhältnis von Archimedes
Berechnen Sie die Gesamtzahl der Kombinationen mit Python
Teilen Sie die Zeichenfolge in die angegebene Anzahl von Zeichen
Finden Sie die Anzahl der Tage in einem Monat
Minimieren Sie die Anzahl der Polierungen, indem Sie die Kombination optimieren
Bestimmen Sie die Anzahl der Klassen mithilfe der Starges-Formel
Berechnung der kürzesten Route nach der Monte-Carlo-Methode
Der Beginn von cif2cell
Wie man die Portnummer des xinetd-Dienstes kennt
Erleben Sie die gute Berechnungseffizienz der Vektorisierung in Python
[Python] Ein Programm, das die Anzahl der Täler zählt
Projecet Euler 12 Ermitteln Sie die Anzahl der Brüche ohne Division.
So ermitteln Sie die Anzahl der Stellen in Python
Die Bedeutung des Selbst
der Zen von Python
Versuchen Sie, die Anzahl der Likes auf Twitter zu schätzen
Die Geschichte von sys.path.append ()
Sagen Sie die Anzahl der mit COVID-19 infizierten Personen mit Prophet voraus
Ermitteln Sie die Größe (Anzahl der Elemente) von Union Find in Python
[Zusammenfassung von 27 Sprachen] Berechnungsmethode für meine Nummernprüfziffer
Verwalten Sie die Paketversionsnummer von require.txt mit pip-tools
[Python] Ermittelt die Anzahl der Aufrufe aller veröffentlichten Artikel
Konzept des Bayes'schen Denkens (3) ... Berechnung der Änderungspunkte in der Anzahl der von PyMC3 empfangenen E-Mails
Visualisieren Sie die Anzahl der Beschwerden von Lebensversicherungsunternehmen
Rache der Typen: Rache der Typen
Clustering G-bedeutet, dass die Anzahl der Cluster automatisch bestimmt wird
So finden Sie die optimale Anzahl von Clustern für k-means
Maya | Ermitteln Sie die Anzahl der Polygone im ausgewählten Objekt
Untersuchen Sie den Fehlerbereich bei der Anzahl der Todesfälle aufgrund einer Lungenentzündung
[Python] Herons Formelfunktionalisierung und Berechnung der maximalen Fläche
Zählen Sie die Anzahl der Zeichen im Text in der Zwischenablage auf dem Mac
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Python - Ermitteln Sie die Anzahl der Gruppen im regulären Ausdruck
Berechnen des aus ABC134-D gelernten Rechenaufwands
Versuchen Sie, die Genauigkeit der Twitter-ähnlichen Zahlenschätzung zu verbessern
[Homologie] Zählen Sie mit Python die Anzahl der Löcher in den Daten
So erhöhen Sie die Anzahl der Datensatzbilder für maschinelles Lernen
Stellen wir uns die Anzahl der mit Matplotlib mit dem Coronavirus infizierten Personen vor
[Nicht parametrische Felder] Schätzen der Anzahl von Clustern mithilfe des Diricle-Prozesses
Ermitteln Sie die Anzahl der Vorkommen für jedes Element in der Liste
Numerische Approximationsmethode, wenn die Berechnung der Ableitung schwierig ist
Richten Sie die Version von chromedriver_binary aus
Scraping das Ergebnis von "Schedule-Kun"
Die Geschichte des Baus von Zabbix 4.4
Vergleichen Sie die Schriftarten von Jupyter-Themen
Erläutern Sie den Code von Tensorflow_in_ROS
Verwenden Sie die Clustering-Ergebnisse erneut
Berechnung der Ähnlichkeit durch MinHash