Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server 2016 (13.x) i nowsze wersje
To jest 7. samouczek z serii tutoriali RevoScaleR, jak korzystać z funkcji RevoScaleR z SQL Server.
Wzbogaciłeś dane treningowe. W tym poradniku przeanalizujesz dane za pomocą modelowania regresyjnego. Modele liniowe są ważnym narzędziem w świecie analityki predykcyjnej. Pakiet RevoScaleR zawiera algorytmy regresji, które mogą dzielić obciążenie i uruchamiać je równolegle.
- Tworzenie modelu regresji liniowej
- Tworzenie modelu regresji logistycznej
Tworzenie modelu regresji liniowej
W tym etapie stwórz prosty model liniowy, który szacuje saldo karty kredytowej dla klientów, używając jako niezależnych zmiennych wartości w kolumnach płci i linii kredytowej .
Aby to zrobić, użyj funkcji rxLinMod , która obsługuje zdalne konteksty obliczeniowe.
Stwórz zmienną R do przechowywania ukończonego modelu i wywołaj rxLinMod, przekazując odpowiednią formułę.
linModObj <- rxLinMod(balance ~ gender + creditLine, data = sqlFraudDS)Aby zobaczyć podsumowanie wyników, wywołaj standardową funkcję podsumowywania R na obiekcie modelu.
summary(linModObj)
Możesz pomyśleć, że to dziwne, że zwykła funkcja R, taka jak summary , działa tutaj, ponieważ w poprzednim kroku ustawiasz kontekst obliczeniowy na serwerze. Jednak nawet gdy funkcja rxLinMod korzysta z kontekstu zdalnego obliczeniowego do stworzenia modelu, zwraca obiekt zawierający model do lokalnej stacji roboczej i przechowuje go w katalogu współdzielonym.
Dlatego możesz wykonywać standardowe polecenia R na modelu, tak jakby został on utworzony przy użyciu kontekstu „local”.
Results
Linear Regression Results for: balance ~ gender + creditLineData: sqlFraudDS (RxSqlServerData Data Source)
Dependent variable(s): balance
Total independent variables: 4 (Including number dropped: 1)
Number of valid observations: 10000
Number of missing observations: 0
Coefficients: (1 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|) (Intercept)
3253.575 71.194 45.700 2.22e-16
gender=Male -88.813 78.360 -1.133 0.257
gender=Female Dropped Dropped Dropped Dropped
creditLine 95.379 3.862 24.694 2.22e-16
Signif. codes: 0 0.001 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 3812 on 9997 degrees of freedom
Multiple R-squared: 0.05765
Adjusted R-squared: 0.05746
F-statistic: 305.8 on 2 and 9997 DF, p-value: < 2.2e-16
Condition number: 1.0184
Tworzenie modelu regresji logistycznej
Następnie stwórz model regresji logistycznej, który wskazuje, czy dany klient stanowi ryzyko oszustwa. Użyjesz funkcji RevoScaleRrxLoit , która wspiera dopasowywanie modeli regresji logistycznej w zdalnych kontekstach obliczeniowych.
Zachowaj kontekst obliczeniowy bez zmian. Będziesz też nadal korzystać z tego samego źródła danych.
Wywołaj funkcję rxLogit i przekaż formułę potrzebną do zdefiniowania modelu.
logitObj <- rxLogit(fraudRisk ~ state + gender + cardholder + balance + numTrans + numIntlTrans + creditLine, data = sqlFraudDS, dropFirst = TRUE)Ponieważ jest to duży model, zawierający 60 zmiennych niezależnych, w tym trzy zmienne fikcyjne, które są pomijane, może być konieczne czekanie na zwrot obiektu przez kontekst obliczeniowy.
Powodem, dla którego model jest tak duży, jest to, że w R i w pakiecie RevoScaleR każdy poziom zmiennej czynnikowej kategorycznej jest automatycznie traktowany jako osobna zmienna fikcyjna.
Aby zobaczyć podsumowanie zwróconego modelu, wywołaj funkcję R summary .
summary(logitObj)
Wyniki częściowe
Logistic Regression Results for: fraudRisk ~ state + gender + cardholder + balance + numTrans + numIntlTrans + creditLine
Data: sqlFraudDS (RxSqlServerData Data Source)
Dependent variable(s): fraudRisk
Total independent variables: 60 (Including number dropped: 3)
Number of valid observations: 10000 -2
LogLikelihood: 2032.8699 (Residual deviance on 9943 degrees of freedom)
Coefficients:
Estimate Std. Error z value Pr(>|z|) (Intercept)
-8.627e+00 1.319e+00 -6.538 6.22e-11
state=AK Dropped Dropped Dropped Dropped
state=AL -1.043e+00 1.383e+00 -0.754 0.4511
(other states omitted)
gender=Male Dropped Dropped Dropped Dropped
gender=Female 7.226e-01 1.217e-01 5.936 2.92e-09
cardholder=Principal Dropped Dropped Dropped Dropped
cardholder=Secondary 5.635e-01 3.403e-01 1.656 0.0977
balance 3.962e-04 1.564e-05 25.335 2.22e-16
numTrans 4.950e-02 2.202e-03 22.477 2.22e-16
numIntlTrans 3.414e-02 5.318e-03 6.420 1.36e-10
creditLine 1.042e-01 4.705e-03 22.153 2.22e-16
Signif. codes: 0 '\*\*\*' 0.001 '\*\*' 0.01 '\*' 0.05 '.' 0.1 ' ' 1
Condition number of final variance-covariance matrix: 3997.308
Number of iterations: 15