Hauptkomponentenanalyse mit Python von nim mit nimpy

Überblick

Wir haben das Verfahren zur Durchführung der Hauptkomponentenanalyse mit sklearn von Nim zusammengefasst. Die Hauptkomponentenanalyse kann in wenigen Zeilen mit sklearn durchgeführt werden, was nicht erwähnt wurde. Daher werde ich versuchen, eine Bibliothek namens nimpy zu verwenden, um sie von Nim aus auszuführen. Der Teil, der tatsächlich die Hauptkomponentenanalyse mit sklearn durchführt, ist in Python geschrieben.

Ich habe schon früher Python mit nimpy aufgerufen, es ist also eine Anwendung. Rufen Sie Python von Nim mit Nimpy auf

Vorbereitung auf der Python-Seite

Fügen Sie wie im Beispiel (siehe obigen Artikel) "CONFIGURE_OPTS =" --enable-shared "" hinzu, wenn Sie beliebiges Python mit pyenv usw. einfügen, damit libpython generiert wird. Verwenden Sie dann Gedichte usw., um sklearn hinzuzufügen.

pyproject.toml


[tool.poetry]
name = "nimpy_pca"
version = "0.1.0"
description = ""
authors = ["Your Name <[email protected]>"]

[tool.poetry.dependencies]
python = "^3.7"
numpy = "^1.18"
scikit-learn = "^0.22.2"

[tool.poetry.dev-dependencies]

[build-system]
requires = ["poetry>=1.0"]
build-backend = "poetry.masonry.api"

Da es schwierig ist, PCA von nim in sklearn aufzurufen, schreiben Sie den Prozess in Python. (In nimpy wird die Methode aufgerufen, sodass Sie den Stil wie Initialisierer oder Syntax nicht ohne Rückgabewert verwenden können.) Ich versuche, Daten und Ergebnisse mit JSON auszutauschen, um die Übergabe von Typen zu vereinfachen.

pca.py


from sklearn.decomposition import PCA
import numpy as np
import json

def pca(json_text):
    data = json.loads(json_text)
    pca = PCA(n_components=2)
    A = np.array(data)
    pca.fit(A)
    return {
        "components": pca.components_.tolist(),
        "varianceRatio": pca.explained_variance_ratio_.tolist()
    }

Rufen Sie Python von Nim mit nimpy auf

Geben Sie zunächst den libpython-Pfad an, damit das in Poesie eingegebene sklearn gelesen werden kann.

import nimpy
import nimpy/py_lib as pyLib

pyLib.pyInitLibPath("/root/.pyenv/versions/3.7.7/lib/libpython3.7m.so")

Fügen Sie außerdem den Pfad hinzu, in dem sich die Datei befindet, damit Sie den gerade erstellten Python laden können.

discard pyImport("sys").path.append("/workspace/src")

Verwenden Sie dann die JSON-Daten und übergeben Sie die Daten an die vorherige Methode. Ich verwende toJson, um den Rückgabewert PyObject in einen JsonNode-Typ zu konvertieren.

let pcaResult = pyImport("pca.py").callMethod("pca", json).toJson

Der Rest wird durch Erweitern des in pcaResult enthaltenen Werts abgeschlossen.

import sugar

let projectedValues = datas.map(data =>
    pcaResult["components"].getElems.map(c => c.getElems.zip(data).map(n => n[0].getFloat * n[1]).foldl(a + b))
)

Zusammenfassung

Ich war festgefahren, um den Pfad von "pyImport" und den Namenskonflikt der Python-Datei anzugeben, aber ich konnte Python auf diese Weise lesen. Wenn Sie dies anwenden, können andere statistische und lineare Verarbeitungen leicht ausgeführt werden, indem Sie sie Python überlassen.

Recommended Posts

Hauptkomponentenanalyse mit Python von nim mit nimpy
Rufen Sie Python von Nim mit Nimpy auf
Verwenden von Rstan aus Python mit PypeR
Hauptkomponentenanalyse mit Spark ML
Dies und das der Hauptkomponentenanalyse
Hauptkomponentenanalyse mit Livedoor News Corpus --Practice--
Von der Vorbereitung der morphologischen Analyse mit Python unter Verwendung von Polyglot bis zur Teilwortmarkierung
Hauptkomponentenanalyse mit Livedoor News Corpus - Vorbereitung--
Dimensionskomprimierung durch Selbstcodierer- und Hauptkomponentenanalyse
Ich habe versucht, die Hauptkomponenten mit Titanic-Daten zu analysieren!
Datenanalyse mit Python 2
Sprachanalyse mit Python
Hauptkomponentenanalyse (Hauptkomponentenanalyse: PCA)
Sprachanalyse mit Python
Datenanalyse mit Python
2. Multivariate Analyse in Python 3-2. Hauptkomponentenanalyse (Algorithmus)
Koordinierte Filterung mit Hauptkomponentenanalyse und K-Mittel-Clustering
Lerne Nim mit Python (ab Anfang des Jahres).
Sammeln von Informationen von Twitter mit Python (morphologische Analyse mit MeCab)
Mathematisches Verständnis der Hauptkomponentenanalyse von Anfang an
Hauptkomponentenanalyse Analysieren Sie handschriftliche Zahlen mit PCA. Teil 2
Hauptkomponentenanalyse (PCA) und unabhängige Komponentenanalyse (ICA) mit Python
Hauptkomponentenanalyse Analysieren Sie handschriftliche Zahlen mit PCA. Teil 1
2. Multivariate Analyse in Python 3-1. Hauptkomponentenanalyse (Scikit-Learn)
Mit Python abflachen
[Python] Morphologische Analyse mit MeCab
[Analyse des gemeinsamen Auftretens] Einfache Analyse des gemeinsamen Auftretens mit Python! [Python]
Verwenden von Quaternion mit Python ~ numpy-quaternion ~
[Python] Verwenden von OpenCV mit Python (Basic)
Emotionsanalyse von Python (word2vec)
Lernen ohne Lehrer 3 Hauptkomponentenanalyse
Planare Skelettanalyse mit Python
Datenanalyse mit Python-Pandas
Mit Skype benachrichtigen Sie mit Skype von Python!
Muskel-Ruck-Analyse mit Python
Verwenden von OpenCV mit Python @Mac
Senden Sie mit Python mit Google Mail
Ich habe versucht, die Python-Bibliothek von Ruby mit PyCall zu verwenden
Coursera-Herausforderungen für maschinelles Lernen in Python: ex7-2 (Primäranalyse)
Visualisieren Sie die Korrelationsmatrix durch Hauptkomponentenanalyse mit Python
Hauptkomponentenanalyse zum Anfassen mit PyCaret [Normalisierung + Visualisierung (grafisch)] Memo
Morphologische Analyse mit Igo + mecab-ipadic-neologd in Python (mit Ruby-Bonus)
Vervollständigung von Python mit Emacs mit Company-Jedi
Harmonischer Mittelwert von Python (mit SciPy)
Rufen Sie C von Python mit DragonFFI auf
Dreidimensionale Skelettstrukturanalyse mit Python
Test der Spracherkennung mit Azure mit Python (Eingabe vom Mikrofon)
[Python] Verwenden von OpenCV mit Python (Bildtransformation)
Impedanzanalyse (EIS) mit Python [impedance.py]
Einführung in die Python-Grundlagen des maschinellen Lernens (unbeaufsichtigtes Lernen / Hauptanalyse)
Hinweise zur Verwendung von MeCab aus Python
[Python] Verwenden von OpenCV mit Python (Kantenerkennung)
Text Mining mit Python ① Morphologische Analyse
Einführung in die Datenanalyse mit Python P17-P26 [ch02 1.usa.gov Daten von bit.ly]
[In-Database Python Analysis-Lernprogramm mit SQL Server 2017] Schritt 6: Verwenden des Modells
Verwenden von Cloud-Speicher aus Python3 (Einführung)