Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru
Ini adalah tutorial 7 dari seri tutorial RevoScaleR tentang cara menggunakan fungsi RevoScaleR dengan SQL Server.
Anda telah memperkaya data pelatihan. Dalam tutorial ini, Anda akan menganalisis data menggunakan pemodelan regresi. Model linier adalah alat penting di dunia analitik prediktif. Paket RevoScaleR mencakup algoritma regresi yang dapat membagi beban kerja dan menjalankannya secara paralel.
- Membuat model regresi linier
- Membuat model regresi logistik
Membuat model regresi linier
Dalam langkah ini, buat model linier sederhana yang memperkirakan saldo kartu kredit untuk pelanggan yang menggunakan sebagai variabel independen nilai dalam kolom gender dan creditLine .
Untuk melakukan ini, gunakan fungsi rxLinMod , yang mendukung konteks komputasi jarak jauh.
Buat variabel R untuk menyimpan model yang telah selesai, dan panggil rxLinMod, meneruskan rumus yang sesuai.
linModObj <- rxLinMod(balance ~ gender + creditLine, data = sqlFraudDS)Untuk melihat ringkasan hasil, panggil fungsi ringkasan R standar pada objek model.
summary(linModObj)
Anda mungkin berpikir aneh bahwa fungsi R biasa seperti ringkasan akan berfungsi di sini, karena pada langkah sebelumnya, Anda mengatur konteks komputasi ke server. Namun, bahkan ketika fungsi rxLinMod menggunakan konteks komputasi jarak jauh untuk membuat model, fungsi ini juga mengembalikan objek yang berisi model ke stasiun kerja lokal Anda, dan menyimpannya di direktori bersama.
Oleh karena itu, Anda dapat menjalankan perintah R standar terhadap model seolah-olah telah dibuat menggunakan konteks "lokal".
Hasil
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
Membuat model regresi logistik
Selanjutnya, buat model regresi logistik yang menunjukkan apakah pelanggan tertentu adalah risiko penipuan. Anda akan menggunakan fungsi RevoScaleR rxLogit , yang mendukung pengepasan model regresi logistik dalam konteks komputasi jarak jauh.
Pertahankan konteks komputasi apa adanya. Anda juga akan terus menggunakan sumber data yang sama.
Panggil fungsi rxLogit dan berikan rumus yang diperlukan untuk menentukan model.
logitObj <- rxLogit(fraudRisk ~ state + gender + cardholder + balance + numTrans + numIntlTrans + creditLine, data = sqlFraudDS, dropFirst = TRUE)Karena ini adalah model besar, yang berisi 60 variabel independen, termasuk tiga variabel dummy yang dihilangkan, Anda mungkin harus menunggu beberapa saat agar konteks komputasi mengembalikan objek.
Alasan model sangat besar adalah bahwa, dalam R dan dalam paket RevoScaleR , setiap tingkat variabel faktor kategoris secara otomatis diperlakukan sebagai variabel dummy terpisah.
Untuk melihat ringkasan model yang dikembalikan, panggil fungsi ringkasan R.
summary(logitObj)
Hasil parsial
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