Küsimus:
T-SNE algoritmi kasutamine mikrokiibi andmetel + veaboonus
J. Doe
2017-09-02 22:53:00 UTC
view on stackexchange narkive permalink

Püüan kasutada t-SNE algoritmi mõnel mikrokiibi andmel. Täpsemalt on minu andmeraamil 18600 veergu geenidega (funktsioonid) ja 72 rida kordustega tingimustega (10xWt, 10xTg jne. Avaldise väärtused on skaalal log2.

Siin on kood, mida proovin käivitada.

  # t-SNE juurutuskogu (Rtsne) set.seed (1 ) jaoks (i in 1:15) {tsne = Rtsne (andmed.T [, - 18601], tuhm = 2, hämming = i, verbose = TRUE, max_iter = 1000, pca = T) värvid = vikerkaar (pikkus (kordumatu) (andmed.T $ klassid))) nimed (värvid) = unikaalne (andmed.T $ klassid) graafik (tsne $ Y, t = 'n', main = "tsne") tekst (tsne $ Y, siltid = andmed. T $ klassid, col = värvid [andmed.T $ klassid]) readline (prompt = "Jätkamiseks vajutage [sisestusklahvi])}  

Pange tähele, et ma ei arvesta veergu 18601, kuna selles veerus on iga tingimuse sildid / klassid.

Siinkohal arvan, et selle skripti käivitamisel tagastab R mulle selle tõrke:

Viga: kaitse (): kaitsepinu ületäitumine

Kas peaksin muutma --max-pp-size või on see viga Rtsne paketis?

Samuti mõtlesin, kas on mõttekam käivitada tSNE algoritm, kasutades mitte avaldise taseme log2 väärtusi kuid logivoldi muutused muudavad Wt (metsiktüüpi) seisundi väärtusi. Ma küsin, sest ma ei leidnud tSNE sellist muud rakendust mikrokiibi andmetel.

Funktsiooni Rtsne seadistamiseks lugesin seda artiklit

Kõik muud soovitused rakendamise kohta on teretulnud.

üks vastus:
Devon Ryan
2017-09-04 17:07:15 UTC
view on stackexchange narkive permalink

Kui konverteerite oma data.frame -i -maatriksiks (ja seejärel eemaldate data.frame -i), vabastatakse sageli piisavalt mälu, mille võitsite ei jookse sellega kokku. Pange tähele, et maatriks on mälusäästlikum kui data.frame ja teil on vaja, et Rtsne () hoiaks mõlemat mälus samal ajal aeg (paljud matemaatikakesksed funktsioonid muudavad tõhususe huvides asjad mingil hetkel maatriksiks.)

Minu jaoks pole kunagi olnud täiesti selge, milline on vastastikune mõju. data.frame ja osuti kaitsepinu, kuid sageli lahendab see vea.

"data.frames" on veeruvektorite loendid ja kõigil nendel veergudel on osuti, mis võib vajada kaitsmist. Suure hulga veergude abil näen hõlpsasti, kuidas see võib kaitsepinu puhuda. Tihedad maatriksid on külgnev mälu, neil on vaja ainult ühte osutit.
Ma oleksin seda kaalunud, kuid minu lugemine ei selgitanud kunagi, kas see on tõesti tingitud veergude osunditest või millestki muust. On kahetsusväärne, kui vähe dokumentatsioonis seda mainitakse.


See küsimus ja vastus tõlgiti automaatselt inglise keelest.Algne sisu on saadaval stackexchange-is, mida täname cc by-sa 3.0-litsentsi eest, mille all seda levitatakse.
Loading...