Risposte al Forum Create

Stai vedendo 13 articoli - dal 1 a 13 (di 13 totali)
  • Autore
    Articoli
  • in risposta a: Aiuto! dataset solo con variabili factor #6441

    ml_projct
    Partecipante

    Ciao
    permettimi, ma mi sembra che a te manchino proprio le basi per procedere;ad esempio se hai gia’ dei predittori binari perche’ mai li hai “uniti” in factor con piu livelli? qualsiasi algoritmo di classificazione ritornera’ a trattarli come binari(non potrebbe fare diversamente), solo che alcuni lo faranno implicitamente ed altri invece esigeranno in pasto direttamente le fetaures binarie.
    poi in linea di massima si, con sole 70 osservazioni estrarre un test o un validation set sarebbe un po ottimistica come cosa, ecco perche’ si va di cross validation.
    poi dipende anche da che tipo di variabile vuoi predire..se anch’essa binaria, numerica, multi level…

    ma poi non ho capito se hai solo un dataset di 70 osservazioni gia’ classificate su cui istruire l’algoritmo di predizione, o hai anche un test set a parte?

    in risposta a: Decomposizione della varianza con `lmer` #6440

    ml_projct
    Partecipante

    allora, senza andare troppo nel dettaglio, se assumi che effettivamente all’interno della popolazione ad es. gx3(la popolazione omogenea dei “Mario”), tutte le osservazioni siano indipendenti, allora quel tipo di modello potrebbe aver senso; ma ricordati che qualsiasi modello lineare deve soddisfare ulteriori assunzioni, come la normalita’ della distribuzione di Y(var dipendente), osservare la distribuziione dei residuals…etc..altrimnenti le conclusioni potrebbero essere “falsate” e non di poco;

    cmq se hai spesso a che fare con questo tipo di analisi, ti converrebbe approfondire bene i modelli lineari in generale e le loro estensioni, magari affrontati in R; ci sono ottimi testi chiaramente in inglese, in caso posso segnalartene qualcuno di rilievo.

    in risposta a: Decomposizione della varianza con `lmer` #6437

    ml_projct
    Partecipante

    No, no..assolutamente…quel modello considera I valori di Gx indipendenti;
    quindi a questo punto non ho ben capito questa Gene expression sarebbe rappresentata dai valori di Y? O dai livelli di Gx?? Quindi quale relazione reale sussiste tra queste due variabili?
    Inoltre, sempre a questo punto le righe del tuo dataframe cosa rappresenterebbero? Sono o no delle osservazioni indipendenti??(questo e’ u requisito fondamentale).

    Cioe’ se ci si dovesse basare sui dati cosi come li hai riportati (in quanto io non conosco nulla di genetica e affini), allora l’unico e solo modello lineare e mixato (crossed presumo) che ci puoi tirare fuori, ammesso che gli unici fattori random debbano essere T e O e’:
    model <- lmer(Y ~ Gx + (1|O) + (1|T), meltdf).
    In quanto l’unica variabile numerica che hai e’ Y.

    Ma tutto questo, mi ripeto, sempre che siano rispettate tutte le assunzioni di un modello lineare! Prima fra tutte l’INDIPENDENZA delle osservazioni, altrimenti non avrebbe alcun senso.

    Un’altra strada potrebbe essere quella di rimodellare il dataset e creare tanti subset quanti sono i livelli di Gx e conseguentemente applicare il modello LMM ai singoli subdata, in maniera che sta volta la variabile Gx abbia ovviamente varianza zero, e per ogni gene otterresti i’ “contributi” dei random factors…. per dire…ma…

    in risposta a: Decomposizione della varianza con `lmer` #6435

    ml_projct
    Partecipante

    ciao
    si il risultato chiaramente e’ lo stesso, proprio perche’ il modello computa automaticamnete l’interecept come fixed factor, in quanto un mixed model deve comunque avere un fixed f; percio’ e’ sempre meglio esplicitarlo.

    poi per estrapolare i valori di varianza e sd stimati tramite REML (l’algorithmo lo fa di default: REML=TRUE), basta crearsi un dataframe con i valori cercati:
    df = as_tibble(VarCorr(model))
    da cui il vettore di valori di varianza che cerchi lo estrai chiaramente cosi:
    var_vec = df$vcov

    in risposta a: Decomposizione della varianza con `lmer` #6432

    ml_projct
    Partecipante

    edit: cmq rileggendo il tuo ultimo interevento “calcolare in percentuale il contributo del tessuto T o dell’ organismo O sulla varianza di Y “, ti conviene chiaramente mantenere uno per volta T come fixed factor e O come random (e poi viceversa) in modo da ottenere i vari coefficienti per ogni livello di T (e O) e rispettive correlazioni, controllando per la seconda variabile (la random) di cui ti riporta anche la varianza o meglio la SD;
    mantenerti solo l’interecept come fixed non ti da quelle info che cerchi.

    in risposta a: Decomposizione della varianza con `lmer` #6425

    ml_projct
    Partecipante

    Ok ma alcune cose non mi sono molto chiare..nel senso che il modello che hai proposto tu (ok per le correzioni sul dataset, adesso ha un senso), ma non presuppone alcun fixed effect ma solo i due random;
    infatti da quello che leggo nel commento che hai postato, sembra che si voglia modellare la ‘Y’ (espressione del gene?) In funzione dei Tessuti controllando per la specie… ovvero la specie viene considerata come random factor; Quindi T fixed factor e O random..e viceversa.., giusto?
    Se e’ cosi, ad esempio per il primo caso (assumendo sempre che le assunzioni per un linear/mixed model siano soddisfatte, altrimenti il modello non sarebbe attenbdibile) e considerando che dovremmo star parlando di un crossed random effect, il tuo modello dovrebbe ragionare cosi: ps.(prima devia anche convertire sia T che O in factor)
    model_T <- lmer(Y ~ T + (1|O), meltdf)
    viceversa: model_O <- lmer(Y ~ O + (1|T), meltdf)
    potresti anche crearti un solo modello in cui come fixed model lasci solo l’intercept, ad es:
    model_a <- lmer(Y ~ 1 + (1|O) + (1|T), meltdf) # ma ti dovrebbe dare un po meno informazioni..bo vedi un po e verifica;
    poi con “summary(model_T)” ti printera’ tutte le informazioni che ti servono tra cui quanta varianza spiega del /dei random effects.

    alla fine digitando il model_T@… (quindi il modello che hai “fittato” seguito da chiocciola e nn dal $), Ti compariranno le varie subclassi -componenti da estrapolare dal modello…

    in risposta a: Decomposizione della varianza con `lmer` #6414

    ml_projct
    Partecipante

    Ciao
    Considerero’ quei dati come “dati”, nel senso che non conosco l’”argomento”..
    Ma se devo tenr conto di come li hai “assemblati” , ti posso dire che la cosa non funziona;
    nel senso che, se faccio girare il tuo codice, mi ritrovo con qualcosa del genere:
    Gx Y T O
    gx1 O1.Y.T1 0.130646931007504 0.130646931007504
    gx2 O1.Y.T1 2.85382954753004 2.85382954753004
    gx3 O1.Y.T1 2.8763310208451 2.8763310208451
    gx1 O1.Y.T2 2.53000088757835 2.53000088757835
    gx2 O1.Y.T2 0.316953176865354 0.316953176865354
    gx3 O1.Y.T2 2.88369132648222 2.88369132648222
    gx1 O1.Y.T3 1.96470129000954 1.96470129000954
    gx2 O1.Y.T3 0.871814093319699 0.871814093319699
    gx3 O1.Y.T3 2.96291645010933 2.96291645010933
    gx1 O1.Y.T4 0.0536596511956304 0.0536596511956304

    cioe’ quello che vedo sono 4 features / variabili(colonne) di cui 2 sono praticmanete identiche: T e O.
    Adesso, qualsiasi tipo di analisi tu voglia fare, questi dati non sono efficienti e o cmq non li hai processati nel modo giusto.
    Perdonami ma vado a tentoni: ad es. la variabile ‘Y’ , se non ho capito male (e la cosa potrebbe essere tranquillamente) rappresenta ben 3 grandezze in una: 01 (umano o ratto..bo), 02(viceversa), T1, T2, ..Tn i vari tessuti.

    Quindi la cosa che dovresti fare prima di applicare qualsiasi algoritmo o modello mixato o meno, e’ di lavorare su dati puliti e coerenti ., ad esempio processati in modo da ottenere una struttura del genere:

    Gx T O1 O2
    1 gx1 T1 0.25299073 0.06652434
    2 gx1 T2 0.51494377 2.21581195
    3 gx1 T3 2.43861593 0.74598991
    4 gx1 T4 0.29217899 0.53893787
    5 gx1 T5 0.03101111 2.76712586
    6 gx2 T1 2.69713938 0.59374894
    7 gx2 T2 0.40419814 2.06916636
    8 gx2 T3 0.12605764 2.36500405
    9 gx2 T4 2.73311908 0.53361135
    10 gx2 T5 0.89061553 2.80264801
    11 gx3 T1 1.73430988 0.33390739
    12 gx3 T2 2.01094811 0.64693816
    13 gx3 T3 2.23900965 0.43731088
    14 gx3 T4 1.75088937 1.25412549
    15 gx3 T5 1.01522620 2.19112922

    dove ogni “colonna” corrisponde ad una singola ‘feature’.
    Poi non ho capito quale delle seguenti gradnezze tu voglia misurare , o meglio quale variabile sarebbe quella indipendente? Oppure che relazione tra le suddette vorresti estrapolare??
    ps(chiaramente i valori numerici li ho inseriti a random..)

    in risposta a: Cluster su matrice di contigenza #6410

    ml_projct
    Partecipante

    Ciao
    sinceramente non ho ben capito cosa intendi per ‘matrice di contingenza’?
    di certo non mi sembra che tu ti riferisca ad una tabella di contingenza, quindi presumo una roba tipo una matrice che per esempio come righe abbia i tuoi vocaboli e come celle le frequenze relative ad ogni corpus?o altro tipo di variabili??..cioe’ alla fine cosa vorresti farci? sentiment analysis? ..

    comunque resta il fatto che un algoritmo semplice come ‘il clustering’, lo puoi applicare a qualsiasi tipo di dati idoneamente processati…ad es. per i testi ti potresti ricavare una DTM dalla quale estrarre la relativa matrice tf-idf (oppure no) e applicarci su l’algoritmo…per dire; R e’ piena di librerie che implementano K-Means, hclust,…

    in risposta a: Un editor per dati da utilizzare insieme con R #6169

    ml_projct
    Partecipante

    Se ti stai riferendo in maniera generale a dati importati in R studio, ad esempio da un foglio csv, xml, tabelle…o anche da database relazionali, non vedo dove sia il tuo dubbio.
    R ti mette a disposizione librerie potenti in grado di manipolarti qualsiasi cosa…e in qualsiasi ‘maniera’..
    Cioe’ packages come dplyr, purr, sqldf, jsonlite, tidyr o alla fine la completa tidyverse (che sono tra i maggiori data wrangling tools) ti consentono di fare qualunque cosa con i dati; persino pandas , che e’ il core data wrangling in Python, cerca di imitare molte delle nuove funzionalita’ di queste librerie…

    Poi se hai proprio bisogno di una GUI, invece di scrivere codice, potresti anche provare roba come editData, che io non ho mai neanche installato, cmq sembra utilizzabile , potresti provare

    • Questa risposta è stata modificata 2 anni, 1 mese fa da  ml_projct.
    in risposta a: Frequenze "incrociate" #6159

    ml_projct
    Partecipante

    si infatti e’ una cosa molto semplice, e e se hai intenzione di aver a che fare con “i dati” ti conviene cominciare a familiarizzare presto con librerie fondamentali come ad es. dplyr;
    roba come “inner_join”, summarise e amici ti aiuteranno alla grande 😉

    in risposta a: METACHARACTERS #6158

    ml_projct
    Partecipante

    visto che vuoi procedere cosi, alla fine conviene scriverti una regex ad hoc ed espandibile, relativamente a quante parole vorresti ‘matchare’ :

    grep(“\\bword1\\b|\\bword2\\b”, x, value=TRUE)

    dove al posto di ” word1, word2,…wordn” inserisci le parole che vuoi cercare

    in risposta a: one hot encoding con 15 output #6155

    ml_projct
    Partecipante

    Certo che si puo fare (sia che si tratti di classificazione binaria che di ‘multilabels’);
    alla seconda domanda ti rispondo che nn ha senso;
    perche’ primo nn dici niente di quale algoritmo di deep learning vorresti usare, poi non dici niente delle dimensioni e caratteristiche dei dati che vuoi processare;
    e aggiungo che anche una volta avuti questi dati none ESISTE una risposta universale alla tua domanda; l’architettura del modello puo’ varaire in mille modi..l’unica cosa accertata e’ che come ultimo livello del network avrai bisogno di 15 neuroni e una “softmax” come funzione di attivazione.

    in risposta a: METACHARACTERS #6153

    ml_projct
    Partecipante

    nel tuo caso potresti provare una roba del tipo :

    
    grep(paste0("* |^", 'forma', "$", collapse = ""), x, value=TRUE) 
    

    praticamente vai a scriverti la regex che ti serve, anche se in casi gia’ un po piu complessi, converrebbe prima ‘tokenizzare’ — passatemela– i testi per poi processarli in maniera piu efficiente.

    • Questa risposta è stata modificata 2 anni, 1 mese fa da  ml_projct.
Stai vedendo 13 articoli - dal 1 a 13 (di 13 totali)