R në katror në R - Si të llogaritet R2 në R?
Përshëndetje, lexues! Në këtë artikull, ne do të ecnim përmes një koncepti të rëndësishëm në mësimin e makinerisë - R katror (R2) në programimin R.
Pra, le të fillojmë!!
Rëndësia e metrikës së gabimit në katror R
Le të kuptojmë së pari rëndësinë e matjeve të gabimeve në fushën e Shkencës së të Dhënave dhe Mësimit të Makinerisë!!
Metrikat e gabimit na mundësojnë të vlerësojmë performancën e një modeli të mësimit të makinerive në një grup të dhënash të veçantë.
Ekzistojnë modele të ndryshme metrike të gabimeve në varësi të klasës së algoritmit.
Ne kemi Matricën e Konfuzionit për t'u marrë me dhe për të vlerësuar algoritmet e Klasifikimit. Ndërsa katrori R është një metrikë e rëndësishme gabimi për të vlerësuar parashikimet e bëra nga një algoritëm regresioni.
R në katror (R2)
është një metrikë e gabimit të regresionit që justifikon performancën e modelit. Ai përfaqëson vlerën se sa variablat e pavarur janë në gjendje të përshkruajnë vlerën për variablin përgjigje/objektiv.
Kështu, një model me katror R përshkruan se sa mirë shpjegohet ndryshorja e synuar nga kombinimi i variablave të pavarur si një njësi e vetme.
Vlera në katror R varion nga 0 në 1 dhe përfaqësohet nga formula e mëposhtme:
R2= 1- SSres/SStot
Këtu,
- SSres: Shuma e katrorëve të gabimeve të mbetura.
- SStot: Përfaqëson shumën totale të gabimeve.
Mbani mend gjithmonë, sa më e lartë të jetë vlera katrore R, aq më i mirë është modeli i parashikuar!
I. R-katror në R me regresion linear
Në këtë shembull, ne kemi zbatuar konceptin e metrikës së gabimit katror R në modelin e Regresionit Linear.
- Fillimisht, ne ngarkojmë të dhënat tona duke përdorur funksionin read.csv().
- Hapi tjetër është ndarja e të dhënave në grupet e të dhënave të trajnimit dhe testimit. Kjo arrihet duke përdorur metodën
createDataPartition()
. - Para modelimit, ne kemi specifikuar funksionet e personalizuara për matjet tona të gabimeve siç shihet në shembullin e mëposhtëm.
- Hapi i fundit është aplikimi i modelit të regresionit linear duke përdorur funksionin
lm()
dhe më pas kemi thirrur funksionin katror R të përcaktuar nga përdoruesi për të vlerësuar performancën e modelit
Shembull:
#Removed all the existing objects
rm(list = ls())
#Setting the working directory
setwd("D:/Ediwsor_Project - Bike_Rental_Count/")
getwd()
#Load the dataset
bike_data = read.csv("day.csv",header=TRUE)
### SAMPLING OF DATA -- Splitting of Data columns into Training and Test dataset ###
categorical_col_updated = c('season','yr','mnth','weathersit','holiday')
library(dummies)
bike = bike_data
bike = dummy.data.frame(bike,categorical_col_updated)
dim(bike)
#Separating the depenedent and independent data variables into two dataframes.
library(caret)
set.seed(101)
split_val = createDataPartition(bike$cnt, p = 0.80, list = FALSE)
train_data = bike[split_val,]
test_data = bike[-split_val,]
### MODELLING OF DATA USING MACHINE LEARNING ALGORITHMS ###
#Defining error metrics to check the error rate and accuracy of the Regression ML algorithms
#1. MEAN ABSOLUTE PERCENTAGE ERROR (MAPE)
MAPE = function(y_actual,y_predict){
mean(abs((y_actual-y_predict)/y_actual))*100
}
#2. R SQUARED error metric -- Coefficient of Determination
RSQUARE = function(y_actual,y_predict){
cor(y_actual,y_predict)^2
}
##MODEL 1: LINEAR REGRESSION
linear_model = lm(cnt~., train_data) #Building the Linear Regression Model on our dataset
summary(linear_model)
linear_predict=predict(linear_model,test_data[-27]) #Predictions on Testing data
LR_MAPE = MAPE(test_data[,27],linear_predict) # Using MAPE error metrics to check for the error rate and accuracy level
LR_R = RSQUARE(test_data[,27],linear_predict) # Using R-SQUARE error metrics to check for the error rate and accuracy level
Accuracy_Linear = 100 - LR_MAPE
print("MAPE: ")
print(LR_MAPE)
print("R-Square: ")
print(LR_R)
print('Accuracy of Linear Regression: ')
print(Accuracy_Linear)
Dalja:
Siç shihet më poshtë, vlera katrore R është 0.82, domethënë modeli ka funksionuar mirë për të dhënat tona.
> print("MAPE: ")
[1] "MAPE: "
> print(LR_MAPE)
[1] 17.61674
> print("R-Square: ")
[1] "R-Square: "
> print(LR_R)
[1] 0.8278258
> print('Accuracy of Linear Regression: ')
[1] "Accuracy of Linear Regression: "
> print(Accuracy_Linear)
[1] 82.38326
II. Vlera katrore R duke përdorur funksionin summary().
Ne madje mund të përdorim funksionin summary()
në R për të nxjerrë vlerën katrore R pas modelimit.
Në shembullin e mëposhtëm, ne kemi aplikuar modelin e regresionit linear në kornizën tonë të të dhënave dhe më pas kemi përdorur summary()$r.squared
për të marrë vlerën katrore r.
Shembull:
rm(list = ls())
A <- c(1,2,3,4,2,3,4,1)
B <- c(1,2,3,4,2,3,4,1)
a <- c(10,20,30,40,50,60,70,80)
b <- c(100,200,300,400,500,600,700,800)
data <- data.frame(A,B,a,b)
print("Original data frame:\n")
print(data)
ml = lm(A~a, data = data)
# Extracting R-squared parameter from summary
summary(ml)$r.squared
Dalja:
[1] "Original data frame:\n"
A B a b
1 1 1 10 100
2 2 2 20 200
3 3 3 30 300
4 4 4 40 400
5 2 2 50 500
6 3 3 60 600
7 4 4 70 700
8 1 1 80 800
[1] 0.03809524
konkluzioni
Me këtë kemi ardhur në fund të kësaj teme. Mos ngurroni të komentoni më poshtë, në rast se ju hasni në ndonjë pyetje.
Deri atëherë, Gëzuar Mësim!! :)