Regresi linier adalah metode statistik yang digunakan untuk memprediksi hubungan linear antara variabel dependen dan satu atau lebih variabel independen. Dengan menyesuaikan kurva linear terbaik, regresi linier meminimalkan kesalahan antara nilai prediksi dan nilai aktual, sehingga memungkinkan estimasi dan analisis variabel dependen.
Konfigurasikan komponen
Anda dapat menggunakan salah satu dari metode berikut untuk mengonfigurasi komponen Regresi Linier:
Metode 1: Konfigurasikan komponen pada halaman pipeline
Anda dapat mengonfigurasi parameter komponen Regresi Linier pada halaman pipeline Machine Learning Designer dari Platform for AI (PAI). Machine Learning Designer sebelumnya dikenal sebagai Machine Learning Studio. Tabel berikut menjelaskan parameter tersebut.
Tab | Parameter | Deskripsi |
Fields Setting | Feature Columns | Kolom fitur yang dipilih dari tabel input untuk pelatihan. |
Label Column | Kolom label. Kolom dengan tipe DOUBLE dan BIGINT didukung. | |
Use Sparse Format | Menentukan apakah data input dalam format sparse. Data dalam format sparse disajikan menggunakan pasangan key-value. | |
KV Pair Delimiter | Pemisah default adalah koma (,). | |
KV Delimiter | Pemisah yang digunakan untuk memisahkan kunci dan nilai. Secara default, titik dua (:) digunakan. | |
Parameters Setting | Maximum Iterations | Jumlah maksimum iterasi yang dilakukan oleh algoritma. |
Minimum Likelihood Deviance | Algoritma dihentikan jika perbedaan kemungkinan log antara dua iterasi kurang dari nilai yang ditentukan oleh parameter ini. | |
Specifies the regularization type | Tipe regularisasi. Nilai valid: L1, L2, dan None. | |
Regularization Coefficient | Koefisien regularisasi. Parameter ini tidak valid jika parameter Specifies the regularization type diatur ke None. | |
Generate Model Evaluation Table | Metrik termasuk R-Squared, adjusted R-Squared, AIC, derajat kebebasan, deviasi standar residual, dan deviasi residual. | |
Regression Coefficient Evaluation | Metrik termasuk nilai t dan p, dan interval kepercayaan adalah [2.5%,97.5%]. Parameter ini hanya valid jika Generate Model Evaluation Table dipilih. | |
Tuning | Number of Computing Cores | Jumlah inti. Secara default, sistem menentukan nilainya. |
Memory Size per Core | Ukuran memori setiap inti. Secara default, sistem menentukan nilainya. |
Metode 2: Gunakan perintah PAI
Konfigurasikan parameter komponen menggunakan perintah PAI. Anda dapat menggunakan komponen SQL Script untuk memanggil perintah PAI. Untuk informasi lebih lanjut, lihat SQL Script.
PAI -name linearregression
-project algo_public
-DinputTableName=lm_test_input
-DfeatureColNames=x
-DlabelColName=y
-DmodelName=lm_test_input_model_out;Parameter | Diperlukan | Deskripsi | Nilai default |
inputTableName | Ya | Nama tabel input. | N/A |
modelName | Ya | Nama model output. | N/A |
outputTableName | Tidak | Nama tabel evaluasi model output. Parameter ini diperlukan jika parameter enableFitGoodness diatur ke true. | N/A |
labelColName | Ya | Kolom label. Parameter ini menentukan variabel dependen. Kolom dengan tipe DOUBLE dan BIGINT didukung. Hanya satu kolom yang dapat dipilih. | N/A |
featureColNames | Ya | Kolom fitur. Parameter ini menentukan variabel independen. Jika data dalam tabel input dalam format padat, kolom dengan tipe DOUBLE dan BIGINT didukung. Jika data input dalam format sparse, hanya kolom dengan tipe STRING yang didukung. | N/A |
inputTablePartitions | Tidak | Partisi yang dipilih dari tabel input untuk pelatihan. | N/A |
enableSparse | Tidak | Menentukan apakah data dalam tabel input dalam format sparse. Nilai valid: true and false. | false |
itemDelimiter | Tidak | Pemisah yang digunakan untuk memisahkan pasangan key-value. Parameter ini valid jika parameter enableSparse diatur ke true. | , |
kvDelimiter | Tidak | Pemisah yang digunakan untuk memisahkan keys dan values. Parameter ini valid jika parameter enableSparse diatur ke true. | : |
maxIter | Tidak | Jumlah maksimum iterasi yang dilakukan oleh algoritma. | 100 |
epsilon | Tidak | Kesalahan kemungkinan minimum. Algoritma dihentikan jika perbedaan kemungkinan log antara dua iterasi kurang dari nilai yang ditentukan oleh parameter ini. | 0.000001 |
regularizedType | Tidak | Tipe regularisasi. Nilai valid: l1, l2, and None. | None |
regularizedLevel | Tidak | Koefisien regularisasi. Parameter ini tidak valid jika parameter regularizedType diatur ke None. | 1 |
enableFitGoodness | Tidak | Menentukan apakah akan menghasilkan tabel evaluasi model. Metrik termasuk R-Squared, adjusted R-Squared, AIC, derajat kebebasan, deviasi standar residual, dan deviasi residual. Nilai valid: true and false. | false |
enableCoefficientEstimate | Tidak | Menentukan apakah akan mengevaluasi koefisien regresi. Metrik termasuk nilai t dan p, dan interval kepercayaan adalah [2.5%,97.5%]. Parameter ini valid jika parameter enableFitGoodness diatur ke true. Nilai valid: true and false. | false |
lifecycle | Tidak | Lifecycle tabel evaluasi model output. | -1 |
coreNum | Tidak | Jumlah inti yang digunakan dalam komputasi. | Ditentukan oleh sistem |
memSizePerCore | Tidak | Ukuran memori setiap inti. Nilai valid: 1024 hingga 20 × 1024. Unit: MB. | Ditentukan oleh sistem |
Contoh
Jalankan pernyataan SQL berikut untuk menghasilkan data uji:
drop table if exists lm_test_input; create table lm_test_input as select * from ( select 10 as y, 1.84 as x1, 1 as x2, '0:1.84 1:1' as sparsecol1 union all select 20 as y, 2.13 as x1, 0 as x2, '0:2.13' as sparsecol1 union all select 30 as y, 3.89 as x1, 0 as x2, '0:3.89' as sparsecol1 union all select 40 as y, 4.19 as x1, 0 as x2, '0:4.19' as sparsecol1 union all select 50 as y, 5.76 as x1, 0 as x2, '0:5.76' as sparsecol1 union all select 60 as y, 6.68 as x1, 2 as x2, '0:6.68 1:2' as sparsecol1 union all select 70 as y, 7.58 as x1, 0 as x2, '0:7.58' as sparsecol1 union all select 80 as y, 8.01 as x1, 0 as x2, '0:8.01' as sparsecol1 union all select 90 as y, 9.02 as x1, 3 as x2, '0:9.02 1:3' as sparsecol1 union all select 100 as y, 10.56 as x1, 0 as x2, '0:10.56' as sparsecol1 ) tmp;Jalankan perintah PAI berikut untuk mengirimkan parameter yang dikonfigurasi untuk komponen Regresi Linier:
PAI -name linearregression -project algo_public -DinputTableName=lm_test_input -DlabelColName=y -DfeatureColNames=x1,x2 -DmodelName=lm_test_input_model_out -DoutputTableName=lm_test_input_conf_out -DenableCoefficientEstimate=true -DenableFitGoodness=true -Dlifecycle=1;Jalankan perintah PAI berikut untuk mengirimkan parameter yang dikonfigurasi untuk komponen Prediksi:
pai -name prediction -project algo_public -DmodelName=lm_test_input_model_out -DinputTableName=lm_test_input -DoutputTableName=lm_test_input_predict_out -DappendColNames=y;Lihat tabel evaluasi model yang dihasilkan lm_test_input_conf_out.
+------------+------------+------------+------------+--------------------+------------+ | colname | value | tscore | pvalue | confidenceinterval | p | +------------+------------+------------+------------+--------------------+------------+ | Intercept | -6.42378496687763 | -2.2725755951390028 | 0.06 | {"2.5%": -11.964027, "97.5%": -0.883543} | coefficient | | x1 | 10.260063429838898 | 23.270944360826963 | 0.0 | {"2.5%": 9.395908, "97.5%": 11.124219} | coefficient | | x2 | 0.35374498323846265 | 0.2949247320997519 | 0.81 | {"2.5%": -1.997160, "97.5%": 2.704650} | coefficient | | rsquared | 0.9879675667384592 | NULL | NULL | NULL | goodness | | adjusted_rsquared | 0.9845297286637332 | NULL | NULL | NULL | goodness | | aic | 59.331109494251805 | NULL | NULL | NULL | goodness | | degree_of_freedom | 7.0 | NULL | NULL | NULL | goodness | | standardErr_residual | 3.765777749448906 | NULL | NULL | NULL | goodness | | deviance | 99.26757440771128 | NULL | NULL | NULL | goodness | +------------+------------+------------+------------+--------------------+------------+Lihat tabel hasil prediksi lm_test_input_predict_out yang ditunjukkan oleh kode berikut:
+------------+-------------------+------------------+-------------------+ | y | prediction_result | prediction_score | prediction_detail | +------------+-------------------+------------------+-------------------+ | 10 | NULL | 12.808476727264404 | {"y": 12.8084767272644} | | 20 | NULL | 15.43015013867922 | {"y": 15.43015013867922} | | 30 | NULL | 33.48786177519568 | {"y": 33.48786177519568} | | 40 | NULL | 36.565880804147355 | {"y": 36.56588080414735} | | 50 | NULL | 52.674180388994415 | {"y": 52.67418038899442} | | 60 | NULL | 62.82092871092313 | {"y": 62.82092871092313} | | 70 | NULL | 71.34749583130122 | {"y": 71.34749583130122} | | 80 | NULL | 75.75932310613193 | {"y": 75.75932310613193} | | 90 | NULL | 87.1832221199846 | {"y": 87.18322211998461} | | 100 | NULL | 101.92248485222113 | {"y": 101.9224848522211} | +------------+-------------------+------------------+-------------------+