Le descrittive forniscono un calcolo efficiente delle statistiche univariate e bivariate e funzioni di preparazione automatica dei dati su dati su larga scala. Può essere ampiamente utilizzato nella creazione di profili di dati, nell'esplorazione dei dati e nella preparazione dei dati per le successive analisi di modellazione.
Le funzioni statistiche di base includono riepiloghi statistici univariati e bivariati essenziali, statistiche di ordine univariate, creazione di informazioni sui metadati da dati non elaborati, statistiche per la visualizzazione di singoli campi e coppie di campi, funzioni di preparazione dei dati e punteggio di interesse dei dati e valutazione della qualità dei dati. Può supportare in modo efficiente la funzionalità richiesta per l'elaborazione automatica dei dati, l'interattività dell'utente e l'ottenimento di informazioni dettagliate sui dati per i singoli campi o le relazioni tra le coppie di campi inclusi con un obiettivo specificato.
Codice di esempioPython :
from spss.ml.datapreparation.descriptives import Descriptives
de = Descriptives(). \
setInputFieldsList(["Field1", "Field2"]). \
setTargetFieldList(["Field3"]). \
setTrimBlanks("TRIM_BOTH")
deModel = de.fit(df)
PMML = deModel.toPMML()
statXML = deModel.statXML()
predictions = deModel.transform(df)
predictions.show()
Strategia di selezione descrittive
Quando il numero di coppie di campi è troppo grande (ad esempio, maggiore del valore predefinito di 1000), viene utilizzato SelectionStrategy per limitare il numero di coppie per cui verranno calcolate le statistiche bivariate. La strategia prevede 2 fasi:
- Limitare il numero di coppie in base alle statistiche univariate.
- Limitare il numero di coppie in base alle statistiche bivariate dell'associazione core.
Si noti che la coppia sarà sempre inclusa nelle condizioni seguenti:
- La coppia è composta da un campo predittore e un campo obiettivo.
- Viene applicata la coppia di predittori o obiettivi.
Pre - elaborazione dati smart
Il motore Smart Data Preprocessing (SDP) è un componente analitico per la preparazione dei dati. Si compone di tre moduli separati: analisi di pertinenza, analisi di pertinenza e ridondanza e integrazione SMD (smart metadata).
Dati i dati con campi regolari, campi di elenco e campi di mappa, l'analisi di pertinenza valuta le associazioni dei campi di input con gli obiettivi e seleziona un numero specificato di campi per l'analisi successiva. Nel frattempo, espande i campi di elenco e i campi di mappa ed estrae i campi selezionati nel formato basato su colonne regolari.
Grazie all'efficienza dell'analisi di pertinenza, viene utilizzato anche per ridurre il numero elevato di campi in dati ampi ad un livello moderato in cui l'analisi tradizionale può funzionare.
SmartDataPreprocessingRelevanceAnalysis esporta questi output:
- File JSON, contenente informazioni sul modello
- nuovi dati basati su colonne
- il modello di dati correlato
Codice di esempioPython :
from spss.ml.datapreparation.smartdatapreprocessing import SmartDataPreprocessingRelevanceAnalysis
sdpRA = SmartDataPreprocessingRelevanceAnalysis(). \
setInputFieldList(["holderage", "vehicleage", "claimamt"]). \
setTargetFieldList(["vehiclegroup", "nclaims"]). \
setMaxNumTarget(3). \
setInvalidPairsThresEnabled(True). \
setRMSSEThresEnabled(True). \
setAbsVariCoefThresEnabled(True). \
setInvalidPairsThreshold(0.7). \
setRMSSEThreshold(0.7). \
setAbsVariCoefThreshold(0.05). \
setMaxNumSelFields(2). \
setConCatRatio(0.3). \
setFilterSelFields(True)
predictions = sdpRA.transform(data)
predictions.show()
Programma di conversione dati sparse
SDC (Sparse Data Convertor) converte i campi di dati regolari in campi di elenco. È sufficiente specificare i campi che si desidera convertire in campi di elenco, quindi SDC unirà i campi in base al loro livello di misurazione. Genererà, al massimo, tre tipi di campi elenco: campo elenco continuo, campo elenco categoriale e campo mappa.
Codice di esempioPython :
from spss.ml.datapreparation.sparsedataconverter import SparseDataConverter
sdc = SparseDataConverter(). \
setInputFieldList(["Age", "Sex", "Marriage", "BP", "Cholesterol", "Na", "K", "Drug"])
predictions = sdc.transform(data)
predictions.show()
Discretizzazione
È possibile utilizzare questa funzione per derivare uno o più nuovi campi raccolti o per ottenere le definizioni dei bin utilizzate per determinare i valori dei bin.
Codice di esempioPython :
from spss.ml.datapreparation.binning.binning import Binning
binDefinition = BinDefinitions(1, False, True, True, [CutPoint(50.0, False)])
binField = BinRequest("integer_field", "integer_bin", binDefinition, None)
params = [binField]
bining = Binning().setBinRequestsParam(params)
outputDF = bining.transform(inputDF)
Raccolta esadecimale
È possibile utilizzare questa funzione per calcolare e assegnare bin esagonali a due campi.
Codice di esempioPython :
from spss.ml.datapreparation.binning.hexbinning import HexBinning
from spss.ml.param.binningsettings import HexBinningSetting
params = [HexBinningSetting("field1_out", "field1", 5, -1.0, 25.0, 5.0),
HexBinningSetting("field2_out", "field2", 5, -1.0, 25.0, 5.0)]
hexBinning = HexBinning().setHexBinRequestsParam(params)
outputDF = hexBinning.transform(inputDF)
Campionamento complesso
La funzione complexSampling seleziona un campione pseudo - casuale di record da una origine dati.
La funzione complexSampling esegue il campionamento stratificato dei dati in entrata utilizzando il campionamento esatto semplice e il campionamento proporzionale semplice. I campi di stratificazione sono specificati come input e devono essere forniti anche i conteggi di campionamento o il rapporto di campionamento per ciascuno degli strati da campionare. Facoltativamente, i conteggi dei record per ogni strato possono essere forniti per migliorare le prestazioni.
Codice di esempioPython :
from spss.ml.datapreparation.sampling.complexsampling import ComplexSampling
from spss.ml.datapreparation.params.sampling import RealStrata, Strata, Stratification
transformer = ComplexSampling(). \
setRandomSeed(123444). \
setRepeatable(True). \
setStratification(Stratification(["real_field"], [
Strata(key=[RealStrata(11.1)], samplingCount=25),
Strata(key=[RealStrata(2.4)], samplingCount=40),
Strata(key=[RealStrata(12.9)], samplingRatio=0.5)])). \
setFrequencyField("frequency_field")
sampled = transformer.transform(unionDF)
Conteggio e campione
La funzione countAndSample produce un campione pseudo-casuale di dimensioni approssimativamente pari all'input 'samplingCount'.
Il campionamento avviene chiamando il SamplingComponent con un rapporto di campionamento calcolato come 'samplingCount / totalRecords', dove 'totalRecords' è il numero di record dei dati in arrivo.
Codice di esempioPython :
from spss.ml.datapreparation.sampling.countandsample import CountAndSample
transformer = CountAndSample().setSamplingCount(20000).setRandomSeed(123)
sampled = transformer.transform(unionDF)
Campionamento MR
La funzione mrsampling seleziona un campione pseudo - casuale di record da un'origine dati a un rapporto di campionamento specifico. La dimensione del campione sarà approssimativamente la proporzione specificata del numero totale di record soggetti a un massimo facoltativo. La serie di record e il relativo numero totale variano in base al seme casuale. Ogni record nell'origine dati ha la stessa probabilità di essere selezionato.
Codice di esempioPython :
from spss.ml.datapreparation.sampling.mrsampling import MRSampling
transformer = MRSampling().setSamplingRatio(0.5).setRandomSeed(123).setDiscard(True)
sampled = transformer.transform(unionDF)
Modello di campionamento
La funzione samplingModel seleziona una percentuale pseudo - casuale della sottosequenza di record di input definita da ogni record N per una determinata dimensione di passo N. La dimensione totale del campione può essere facoltativamente limitata da un massimo.
Quando la dimensione della fase è 1, la sottosequenza è l'intera sequenza di record di immissione. Quando il rapporto di campionamento è 1.0, la selezione diventa deterministica, non pseudo - casuale.
Si noti che con i dati distribuiti, la funzione samplingModel applica i criteri di selezione indipendentemente da ogni suddivisione di dati. La dimensione massima del campione, se presente, si applica indipendentemente da ogni suddivisione e non all'intera origine dati; la sottosequenza viene avviata all'inizio di ogni suddivisione.
Codice di esempioPython :
from spss.ml.datapreparation.sampling.samplingcomponent import SamplingModel
transformer = SamplingModel().setSamplingRatio(1.0).setSamplingStep(2).setRandomSeed(123).setDiscard(False)
sampled = transformer.transform(unionDF)
Campionamento sequenziale
La funzione sequentialSampling è simile alla funzione samplingModel . Inoltre, seleziona una percentuale pseudo - casuale della sottosequenza di record di input definita da ogni record N per una determinata dimensione di passo N. La dimensione totale del campione può essere facoltativamente limitata da un massimo.
Quando la dimensione della fase è 1, la sottosequenza è l'intera sequenza di record di immissione. Quando il rapporto di campionamento è 1.0, la selezione diventa deterministica, non pseudo - casuale. La principale differenza tra sequentialSampling e samplingModel è che con i dati distribuiti, la funzione sequentialSampling applica i criteri di selezione all'intera origine dati, mentre la funzione samplingModel applica i criteri di selezione indipendentemente da ogni suddivisione dei dati.
Codice di esempioPython :
from spss.ml.datapreparation.sampling.samplingcomponent import SequentialSampling
transformer = SequentialSampling().setSamplingRatio(1.0).setSamplingStep(2).setRandomSeed(123).setDiscard(False)
sampled = transformer.transform(unionDF)
Argomento principale SPSS algoritmi di analisi predittiva