Come posso popolare i miei dati in modo da ottenere solo la tecnica di campionamento del sottocampionamento senza modellazione. Devo fare lo stesso per il sovracampionamento e la pesatura. Sto cercando di eseguire xgboost con queste tre tecniche di campionamento (una alla volta ovviamente). Quindi, ho bisogno di un set di dati che mostri il sottocampionamento, un set di dati diverso per il sovracampionamento e un terzo set di dati per la pesatura. Grazie.
CIAO @NishaKumar ,
Probabilmente ci sono un paio di modi in cui puoi farlo e potrebbe dipendere dal tuo obiettivo finale e dal metodo migliore.
Un'opzione sarebbe quella di creare una colonna di convalida in cui è fortemente compensata su una variabile, ad esempio 10% di formazione e 90% di convalida, quindi creare un sottoinsieme dei dati di formazione e adattarli su quello. Salvare la formula di adattamento nella tabella del sottoinsieme, quindi riportarla nella tabella dei dati originale e vedere come funziona l'adattamento sui dati non addestrati. È quindi possibile fare il contrario trattando i dati di convalida come dati di "addestramento", ripetere i passaggi precedenti e vedere quanto si adattano al set di dati di addestramento ("convalida"). Potresti utilizzare questa opzione se desideri stratificare la colonna di convalida in base all'output che stai modellando, tuttavia, se non ti interessa, puoi provare l'altra opzione.
Un'altra opzione è utilizzare Riga > Selezione riga > Seleziona casuale e utilizzare 10% o 90% - o anche 1% e 99% e quindi creare un sottoinsieme di ciascuno di questi, eseguire gli adattamenti e riportare le formule in confrontare come si comportano con i dati inutilizzati della tabella originale.
Per quanto riguarda la ponderazione dei dati, dipende molto dal set di dati utilizzato e dal modo in cui i dati devono essere trattati. Se hai quelli che sembrano essere valori anomali, ma non hai motivo di rimuoverli dal set di dati, puoi ponderarli meno degli altri dati in modo che non distorcano l'adattamento, ma dovresti guardarli individualmente per vedere come affrontare questi casi.
Ho provato il secondo approccio con i dati di esempio Boston Housing.jmp e il risultato è stato piuttosto buono. Non ha adattato eccessivamente i dati per darmi un R ^ 2 più ampio sui dati di "convalida" del set di dati di sovracampionamento, ma era più grande rispetto all'utilizzo di una colonna di convalida e all'adattamento dei dati utilizzando quella.
A proposito, ho adattato i dati utilizzando la piattaforma XGBoost e (risposta = mvalue; tutte le altre colonne sono X, Fattori) ho utilizzato le impostazioni predefinite con la casella Autotune selezionata.
risultati del sottocampionamento (1= formazione, 0 = convalida):


sovracampionamento (1=addestramento, 0=convalida):


Ecco i risultati utilizzando una colonna di training/convalida .75/.25 stratificata su mvalue:


L'R^2 degli ultimi dati di convalida non è elevato quanto quello del modello di sovracampionamento, ma è probabilmente più accurato poiché nella convalida del modello sono stati utilizzati più campioni rispetto a quando si prelevavano troppi campioni da addestrare.
Ad ogni modo, spero che questo ti dia alcune idee su come portare avanti il tuo obiettivo specifico.
Buona fortuna!,
DS
Grazie mille, proverò queste tecniche una per una e fornirò feedback/domande.