Assess the performance of the trained model by using the test sample adulttest
and the object functions predict
, loss
, edge
, and margin
. You can use a full or compact model with these functions.
If you want to assess the performance of the training data set, use the resubstitution object functions: resubPredict
, resubLoss
, resubMargin
, and resubEdge
. To use these functions, you must use the full model that contains the training data.
Create a compact model to reduce the size of the trained model.
CMdl = compact(Mdl); whos('Mdl','CMdl')
Name Size Bytes Class Attributes CMdl 1x1 5126918 classreg.learning.classif.CompactClassificationGAM Mdl 1x1 5272831 ClassificationGAM
Predict labels and scores for the test data set (adulttest
), and compute model statistics (loss, margin, and edge) using the test data set.
[labels,scores] = predict(CMdl,adulttest); L = loss(CMdl,adulttest,'Weights',adulttest.fnlwgt); M = margin(CMdl,adulttest); E = edge(CMdl,adulttest,'Weights',adulttest.fnlwgt);
Predict labels and scores and compute the statistics without including interaction terms in the trained model.
[labels_nointeraction,scores_nointeraction] = predict(CMdl,adulttest,'IncludeInteractions',false); L_nointeractions = loss(CMdl,adulttest,'Weights',adulttest.fnlwgt,'IncludeInteractions',false); M_nointeractions = margin(CMdl,adulttest,'IncludeInteractions',false); E_nointeractions = edge(CMdl,adulttest,'Weights',adulttest.fnlwgt,'IncludeInteractions',false);
Compare the results obtained by including both linear and interaction terms to the results obtained by including only linear terms.
Create a confusion chart from the true labels adulttest.salary
and the predicted labels.
tiledlayout(1,2); nexttile confusionchart(adulttest.salary,labels) title('Linear and Interaction Terms') nexttile confusionchart(adulttest.salary,labels_nointeraction) title('Linear Terms Only')
Display the computed loss and edge values.
table([L; E], [L_nointeractions; E_nointeractions], ... 'VariableNames',{'Linear and Interaction Terms','Only Linear Terms'}, ... 'RowNames',{'Loss','Edge'})
ans=2×2 table
Linear and Interaction Terms Only Linear Terms
____________________________ _________________
Loss 0.1748 0.17872
Edge 0.57902 0.54756
The model achieves a smaller loss value and a higher edge value when both linear and interaction terms are included.
Display the distributions of the margins using box plots.
figure boxplot([M M_nointeractions],'Labels',{'Linear and Interaction Terms','Linear Terms Only'}) title('Box Plots of Test Sample Margins')
Interpret the prediction for the first test observation by using the plotLocalEffects
function. Also, create partial dependence plots for some important terms in the model by using the plotPartialDependence
function.
Classify the first observation of the test data, and plot the local effects of the terms in CMdl
on the prediction. To display an existing underscore in any predictor name, change the TickLabelInterpreter
value of the axes to 'none'
.
[label,score] = predict(CMdl,adulttest(1,:))
label = categorical
<=50K
score = 1×2
0.9895 0.0105
f1 = figure; plotLocalEffects(CMdl,adulttest(1,:)) f1.CurrentAxes.TickLabelInterpreter = 'none';
The predict
function classifies the first observation adulttest(1,:)
as '<=50K'
. The plotLocalEffects
function creates a horizontal bar graph that shows the local effects of the 10 most important terms on the prediction. Each local effect value shows the contribution of each term to the classification score for '<=50K'
, which is the logit of the posterior probability that the classification is '<=50K'
for the observation.
Create a partial dependence plot for the term age
. Specify both the training and test data sets to compute the partial dependence values using both sets.
figure plotPartialDependence(CMdl,'age',label,[adultdata; adulttest])
The plotted line represents the averaged partial relationships between the predictor age
and the score of the class <=50K
in the trained model. The x
-axis minor ticks represent the unique values in the predictor age
.
Create partial dependence plots for the terms education_num
and relationship
.
f2 = figure; plotPartialDependence(CMdl,["education_num","relationship"],label,[adultdata; adulttest]) f2.CurrentAxes.TickLabelInterpreter = 'none'; view([55 40])
The plot shows the partial dependence of the score value for the class <=50
on education_num
and relationship
.
Matlabsolutions.com provides guaranteed satisfaction with a
commitment to complete the work within time. Combined with our meticulous work ethics and extensive domain
experience, We are the ideal partner for all your homework/assignment needs. We pledge to provide 24*7 support
to dissolve all your academic doubts. We are composed of 300+ esteemed Matlab and other experts who have been
empanelled after extensive research and quality check.
Matlabsolutions.com provides undivided attention to each Matlab
assignment order with a methodical approach to solution. Our network span is not restricted to US, UK and Australia rather extends to countries like Singapore, Canada and UAE. Our Matlab assignment help services
include Image Processing Assignments, Electrical Engineering Assignments, Matlab homework help, Matlab Research Paper help, Matlab Simulink help. Get your work
done at the best price in industry.