Translation not up to date
Statystyki opisowe umożliwiają efektywne obliczenia statystyk jednej zmiennej i statystyk dwuzmiennych oraz funkcji automatycznego przygotowywania danych na podstawie danych o dużej skali. Może być szeroko stosowany w profilowaniu danych, eksploracji danych oraz w przygotowaniu danych do kolejnych analiz modelowania.
Podstawowe funkcje statystyczne obejmują podstawowe podsumowania statystyczne dla jednej zmiennej i dwuzmienne, statystyki dla poszczególnych zleceń, tworzenie informacji o metadanych z danych surowych, statystyki wizualizacji pojedynczych pól i par zmiennych, funkcje przygotowania danych oraz ocenę jakości danych i ocenę jakości danych. Może efektywnie obsługiwać funkcje wymagane do zautomatyzowanego przetwarzania danych, interaktywności użytkowników i uzyskiwania informacji o danych dla pojedynczych pól lub relacji między parami pól włącznie z określonym celem.
Kod przykładowyPython :
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 wyboru opisów
Jeśli liczba par pól jest zbyt duża (na przykład większa niż wartość domyślna 1000), wartość SelectionStrategy jest używana do ograniczenia liczby par, dla których będą obliczane statystyki bivariate. Strategia obejmuje dwa etapy:
- Ogranicz liczbę par w oparciu o statystyki jednej zmiennej.
- Ogranicz liczbę par w oparciu o statystykę bizmiennej powiązania podstawowego.
Należy zauważyć, że para zawsze będzie uwzględniana w następujących warunkach:
- Para składa się z pola predyktora i zmiennej przewidywanej.
- Wymuszana jest para predyktorów lub celów.
Wstępne przetwarzanie danych inteligentnych
Mechanizm SDP (Smart Data Preprocessing) jest komponentem analitycznym do przygotowywania danych. Składa się on z trzech oddzielnych modułów: analizy istotności, przydatności i analizy nadmiarowości oraz integracji inteligentnych metadanych (SMD).
Biorąc pod uwagę dane z polami regularnymi, polami listy i polami mapy, analiza istotności ocenia powiązania zmiennych wejściowych z wartościami docelowymi i wybiera określoną liczbę pól do późniejszej analizy. Jednocześnie rozszerza pola listy i pola mapy, a także wyodrębnia wybrane pola w zwykły format oparty na kolumnach.
Ze względu na efektywność analizy trafności, jest on również używany do zmniejszenia dużej liczby pól w szerokich danych do umiarkowanego poziomu, gdzie tradycyjna analityka może pracować.
SmartDataPreprocessingRelevanceAnaliza eksportuje te dane wyjściowe:
- Plik JSON zawierający informacje o modelu
- nowe dane oparte na kolumnach
- powiązany model danych
Kod przykładowyPython :
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()
Konwerter danych rzadkich
Konwerter SDC (Sparse Data Convertor) przekształca pola danych w polach listy. Należy tylko określić pola, które mają zostać przekształcone w pola listy, a następnie SDC połączy pola zgodnie z ich poziomem pomiaru. Spowoduje to wygenerowanie najwyżej trzech rodzajów pól listy: pola listy ciągłej, pola listy jakościowej oraz pola mapy.
Kod przykładowyPython :
from spss.ml.datapreparation.sparsedataconverter import SparseDataConverter
sdc = SparseDataConverter(). \
setInputFieldList(["Age", "Sex", "Marriage", "BP", "Cholesterol", "Na", "K", "Drug"])
predictions = sdc.transform(data)
predictions.show()
Grupowanie w przedziałach
Za pomocą tej funkcji można określić jedno lub więcej nowych pól podziału lub uzyskać definicje miejsc składowania używane do określenia wartości miejsca składowania.
Kod przykładowyPython :
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)
Zapięcie szesnastkowe
Tej funkcji można użyć do obliczenia i przypisania przedziałów sześciokątnych do dwóch pól.
Kod przykładowyPython :
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)
próbkowanie złożone
Funkcja complexSampling wybiera pseudo-losową próbę rekordów ze źródła danych.
Funkcja complexSampling przeprowadza warstwowe pobieranie próbek danych przychodzących przy użyciu prostego dokładnego próbkowania i prostego próbkowania proporcjonalnego. Zmienne warstwujące są określone jako dane wejściowe, a także należy podać liczbę próbek lub stosunek pobierania próbek dla każdej z warstw, z których należy pobrać próbki. Opcjonalnie można określić liczbę rekordów dla każdej warstwy, aby zwiększyć wydajność.
Kod przykładowyPython :
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)
Liczebność i próbka
Funkcja przykładowa countAndgeneruje pseudolosową próbę o wielkości zbliżonej do wartości wejściowej 'samplingCount'.
Pobieranie próbek jest realizowane przez wywołanie metody SamplingComponent ze współczynnikiem próbkowania, który jest obliczany jako 'samplingCount / totalRecords', gdzie 'totalRecords' jest liczbą rekordów przychodzących danych.
Kod przykładowyPython :
from spss.ml.datapreparation.sampling.countandsample import CountAndSample
transformer = CountAndSample().setSamplingCount(20000).setRandomSeed(123)
sampled = transformer.transform(unionDF)
Pobieranie próbek MR
Funkcja mrpróbkowania wybiera pseudolosową próbę rekordów ze źródła danych przy określonym wskaźniku próbkowania. Wielkość próby będzie w przybliżeniu określona proporcja łącznej liczby rekordów podlegających opcjonalnej maksymalnej liczbie rekordów. Zestaw rekordów wraz z ich łączną liczbą będzie różny w zależności od losowego materiału siewnego. Każdy rekord w źródle danych ma takie samo prawdopodobieństwo, że jest wybrane.
Kod przykładowyPython :
from spss.ml.datapreparation.sampling.mrsampling import MRSampling
transformer = MRSampling().setSamplingRatio(0.5).setRandomSeed(123).setDiscard(True)
sampled = transformer.transform(unionDF)
Model próbkowania
Funkcja samplingModel wybiera pseudolosowy procent podsekwencji rekordów wejściowych zdefiniowanych w każdym rekordzie Nth dla danej wielkości kroku N. Całkowita wielkość próby może być opcjonalnie ograniczona maksymalnie.
Jeśli wielkość kroku wynosi 1, wówczas podsekwencją jest cała sekwencja rekordów wejściowych. Gdy współczynnik próbkowania wynosi 1.0, wybór staje się deterministyczny, a nie pseudo-przypadkowy.
Należy zauważyć, że w przypadku danych rozproszonych funkcja samplingModel stosuje kryteria wyboru niezależnie dla każdego podziału danych. Maksymalna wielkość próby, jeśli istnieje, ma zastosowanie niezależnie do każdego podziału, a nie do całego źródła danych; podsekwencja jest uruchamiana świeża na początku każdego podziału.
Kod przykładowyPython :
from spss.ml.datapreparation.sampling.samplingcomponent import SamplingModel
transformer = SamplingModel().setSamplingRatio(1.0).setSamplingStep(2).setRandomSeed(123).setDiscard(False)
sampled = transformer.transform(unionDF)
sekwencyjne losowanie
Funkcja sequentialSampling jest podobna do funkcji samplingModel . Wybiera również pseudolosowy procent podsekwencji rekordów wejściowych, zdefiniowanych przez każdy rekord Nth dla danej wielkości kroku N. Całkowita wielkość próby może być opcjonalnie ograniczona maksymalnie.
Jeśli wielkość kroku wynosi 1, wówczas podsekwencją jest cała sekwencja rekordów wejściowych. Gdy współczynnik próbkowania wynosi 1.0, wybór staje się deterministyczny, a nie pseudo-przypadkowy. Główna różnica między sequentialSampling i samplingModel polega na tym, że funkcja sequentialSampling stosuje kryteria wyboru do całego źródła danych, natomiast funkcja samplingModel stosuje kryteria wyboru niezależnie dla każdego podziału danych.
Kod przykładowyPython :
from spss.ml.datapreparation.sampling.samplingcomponent import SequentialSampling
transformer = SequentialSampling().setSamplingRatio(1.0).setSamplingStep(2).setRandomSeed(123).setDiscard(False)
sampled = transformer.transform(unionDF)
Temat nadrzędny: Algorytmy analizy predykcyjnejSPSS