File size: 46,166 Bytes
0d00d62
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
{
  "title": "Gradient Boosting Mastery: 100 MCQs",
  "description": "A complete 100-question set to master Gradient Boosting — covering boosting basics, weak learners, sequential correction, advanced hyperparameters, regularization, and real-world scenarios.",
  "questions": [
    {
      "id": 1,
      "questionText": "What is the main idea behind Gradient Boosting?",
      "options": [
        "Reduce dimensions before training",
        "Use only one deep decision tree",
        "Sequentially build models to correct errors of previous ones",
        "Combine models randomly"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Gradient Boosting builds models sequentially, with each new model correcting the errors made by the previous ensemble."
    },
    {
      "id": 2,
      "questionText": "Which type of learner is typically used in Gradient Boosting?",
      "options": [
        "PCA components",
        "K-Means clusters",
        "Neural Networks",
        "Decision Trees"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Gradient Boosting commonly uses shallow decision trees (weak learners) for sequential correction."
    },
    {
      "id": 3,
      "questionText": "Scenario: You notice your Gradient Boosting model is underfitting. Which action could help?",
      "options": [
        "Use fewer estimators",
        "Reduce dataset size",
        "Reduce learning rate",
        "Increase tree depth"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Increasing tree depth allows each weak learner to capture more complex patterns, reducing underfitting."
    },
    {
      "id": 4,
      "questionText": "What role does the learning rate play in Gradient Boosting?",
      "options": [
        "Controls tree pruning only",
        "Controls the contribution of each tree to the ensemble",
        "Controls the number of features",
        "Controls the dataset size"
      ],
      "correctAnswerIndex": 1,
      "explanation": "Learning rate scales the contribution of each tree; lower values slow learning and improve generalization."
    },
    {
      "id": 5,
      "questionText": "Scenario: Your Gradient Boosting model has perfect training accuracy but poor test accuracy. What is likely happening?",
      "options": [
        "High bias",
        "Optimal fit",
        "Overfitting",
        "Underfitting"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Perfect training accuracy with poor generalization indicates overfitting."
    },
    {
      "id": 6,
      "questionText": "Which metric is commonly minimized by Gradient Boosting?",
      "options": [
        "Confusion matrix values",
        "Accuracy",
        "Loss (cost) function",
        "F1-score"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Gradient Boosting minimizes a differentiable loss function using gradient descent in function space."
    },
    {
      "id": 7,
      "questionText": "Scenario: You want to speed up Gradient Boosting without losing much accuracy. Which technique helps?",
      "options": [
        "Reduce number of trees to 1",
        "Use very deep trees",
        "Increase learning rate drastically",
        "Subsampling (stochastic gradient boosting)"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Subsampling (training on a random subset per iteration) speeds up computation and can improve generalization."
    },
    {
      "id": 8,
      "questionText": "What is the primary benefit of using weak learners in Gradient Boosting?",
      "options": [
        "They achieve perfect predictions alone",
        "They reduce computation and allow sequential correction",
        "They perform clustering",
        "They reduce data dimensionality"
      ],
      "correctAnswerIndex": 1,
      "explanation": "Weak learners are simple models that improve performance when combined sequentially."
    },
    {
      "id": 9,
      "questionText": "Scenario: Your Gradient Boosting model is sensitive to outliers. What is a common solution?",
      "options": [
        "Reduce learning rate to zero",
        "Increase tree depth",
        "Use robust loss functions like Huber loss",
        "Use only one estimator"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Robust loss functions reduce the influence of outliers on the model."
    },
    {
      "id": 10,
      "questionText": "Which parameter controls the maximum number of trees in Gradient Boosting?",
      "options": [
        "max_depth",
        "subsample",
        "learning_rate",
        "n_estimators"
      ],
      "correctAnswerIndex": 3,
      "explanation": "The n_estimators parameter specifies how many sequential trees are built in the ensemble."
    },
    {
      "id": 11,
      "questionText": "Scenario: You increase the number of estimators but leave learning rate high. What is likely to happen?",
      "options": [
        "Underfitting decreases",
        "Nothing significant",
        "Overfitting may increase",
        "Model accuracy drops immediately"
      ],
      "correctAnswerIndex": 2,
      "explanation": "A high learning rate with many trees can cause overfitting since each tree contributes too much."
    },
    {
      "id": 12,
      "questionText": "What is the role of the residual in Gradient Boosting?",
      "options": [
        "Represents feature importance",
        "Represents total variance",
        "Represents errors from previous models to be corrected",
        "Represents learning rate"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Residuals are the differences between predicted and actual values; new trees aim to predict them."
    },
    {
      "id": 13,
      "questionText": "Scenario: Training Gradient Boosting with very deep trees. Risk?",
      "options": [
        "High bias",
        "Reduced training time",
        "Underfitting",
        "Overfitting"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Very deep trees can overfit the training data and generalize poorly."
    },
    {
      "id": 14,
      "questionText": "Which of the following is a key advantage of Gradient Boosting over single Decision Trees?",
      "options": [
        "Higher predictive accuracy",
        "Handles missing data automatically",
        "No hyperparameters",
        "Less computation"
      ],
      "correctAnswerIndex": 0,
      "explanation": "By combining many weak learners sequentially, Gradient Boosting improves prediction accuracy compared to a single tree."
    },
    {
      "id": 15,
      "questionText": "Scenario: You are using Gradient Boosting with imbalanced classes. Recommended approach?",
      "options": [
        "Ignore the imbalance",
        "Increase learning rate",
        "Use class weights or specialized loss functions",
        "Reduce number of trees"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Class weighting or modified loss functions helps Gradient Boosting handle class imbalance effectively."
    },
    {
      "id": 16,
      "questionText": "Which of the following is NOT a common loss function for Gradient Boosting?",
      "options": [
        "Deviance (logistic loss)",
        "Least squares regression",
        "Euclidean distance",
        "Huber loss"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Euclidean distance is not used directly as a loss function; least squares, deviance, and Huber loss are standard choices."
    },
    {
      "id": 17,
      "questionText": "Scenario: You reduce learning rate too much while keeping n_estimators small. Effect?",
      "options": [
        "Overfitting",
        "Random predictions",
        "Immediate convergence",
        "Underfitting due to slow learning"
      ],
      "correctAnswerIndex": 3,
      "explanation": "A very low learning rate with few trees may prevent the model from fitting the data sufficiently, causing underfitting."
    },
    {
      "id": 18,
      "questionText": "What is the difference between Gradient Boosting and AdaBoost?",
      "options": [
        "They are identical",
        "Gradient Boosting optimizes a differentiable loss; AdaBoost adjusts weights on misclassified samples",
        "AdaBoost uses neural networks; Gradient Boosting uses trees",
        "Gradient Boosting is unsupervised"
      ],
      "correctAnswerIndex": 1,
      "explanation": "Gradient Boosting minimizes a loss function via gradients; AdaBoost focuses on weighting misclassified examples."
    },
    {
      "id": 19,
      "questionText": "Scenario: You have noisy data. Which adjustment helps Gradient Boosting perform better?",
      "options": [
        "Increase tree depth aggressively",
        "Lower learning rate and smaller tree depth",
        "Increase learning rate",
        "Reduce number of features"
      ],
      "correctAnswerIndex": 1,
      "explanation": "Lower learning rate and shallower trees prevent the model from fitting noise in the data."
    },
    {
      "id": 20,
      "questionText": "Which parameter controls the randomness of rows sampled per tree?",
      "options": [
        "learning_rate",
        "n_estimators",
        "max_depth",
        "subsample"
      ],
      "correctAnswerIndex": 3,
      "explanation": "The subsample parameter specifies the fraction of rows used per iteration, introducing randomness and helping generalization."
    },
    {
      "id": 21,
      "questionText": "Scenario: Gradient Boosting is slow on a large dataset. Possible solution besides subsampling?",
      "options": [
        "Add more trees",
        "Use deeper trees",
        "Increase learning rate drastically",
        "Reduce max_depth or min_samples_split"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Shallower trees and stricter splitting criteria reduce computation per tree and speed up training."
    },
    {
      "id": 22,
      "questionText": "What is the effect of increasing the number of estimators while keeping learning rate constant?",
      "options": [
        "Reduced training time",
        "Learning rate becomes irrelevant",
        "Model may overfit if learning rate is high",
        "Underfitting"
      ],
      "correctAnswerIndex": 2,
      "explanation": "More estimators increase model capacity; with high learning rate, overfitting is more likely."
    },
    {
      "id": 23,
      "questionText": "Scenario: You want to use Gradient Boosting for regression. Which loss function is typical?",
      "options": [
        "Least squares (MSE)",
        "Log loss",
        "Cross-entropy",
        "Hinge loss"
      ],
      "correctAnswerIndex": 0,
      "explanation": "Mean squared error (least squares) is standard for regression tasks in Gradient Boosting."
    },
    {
      "id": 24,
      "questionText": "Which technique helps Gradient Boosting handle high-dimensional datasets?",
      "options": [
        "Using all features every time",
        "Increasing tree depth",
        "Feature subsampling per tree",
        "Reducing number of trees"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Sampling a subset of features for each tree reduces overfitting and improves computation on high-dimensional data."
    },
    {
      "id": 25,
      "questionText": "Scenario: You want faster convergence with Gradient Boosting without losing accuracy. Strategy?",
      "options": [
        "Reduce tree depth to 1 always",
        "Increase learning rate drastically",
        "Lower learning rate slightly and increase n_estimators",
        "Use fewer features per tree only"
      ],
      "correctAnswerIndex": 2,
      "explanation": "A slightly lower learning rate combined with more estimators ensures stable, accurate learning while converging efficiently."
    },
    {
      "id": 26,
      "questionText": "Scenario: Your Gradient Boosting model is still overfitting after tuning learning rate. Next step?",
      "options": [
        "Use deeper trees",
        "Increase learning rate",
        "Reduce max_depth or min_samples_split",
        "Add more trees"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Controlling tree complexity by reducing depth or increasing minimum samples per split helps prevent overfitting."
    },
    {
      "id": 27,
      "questionText": "Which parameter limits the number of nodes in each tree?",
      "options": [
        "n_estimators",
        "max_leaf_nodes",
        "learning_rate",
        "subsample"
      ],
      "correctAnswerIndex": 1,
      "explanation": "max_leaf_nodes controls the maximum number of terminal nodes in each tree, limiting complexity."
    },
    {
      "id": 28,
      "questionText": "Scenario: You want to reduce variance without increasing bias in Gradient Boosting. Recommended action?",
      "options": [
        "Use only one deep tree",
        "Increase n_estimators and reduce learning rate",
        "Reduce number of features",
        "Increase learning rate significantly"
      ],
      "correctAnswerIndex": 1,
      "explanation": "More trees with lower learning rate reduce variance while preserving bias."
    },
    {
      "id": 29,
      "questionText": "What is the main difference between Stochastic Gradient Boosting and standard Gradient Boosting?",
      "options": [
        "Using deeper trees",
        "Subsampling of training data per tree",
        "Only one estimator is used",
        "Faster learning rate"
      ],
      "correctAnswerIndex": 1,
      "explanation": "Stochastic Gradient Boosting trains each tree on a random subset of data, reducing variance and speeding training."
    },
    {
      "id": 30,
      "questionText": "Scenario: You are applying Gradient Boosting to a dataset with missing values. What is a standard approach?",
      "options": [
        "Use surrogate splits or imputation",
        "Remove all missing rows",
        "Use a single deep tree",
        "Ignore missing values"
      ],
      "correctAnswerIndex": 0,
      "explanation": "Gradient Boosting can handle missing data using surrogate splits or by imputing values before training."
    },
    {
      "id": 31,
      "questionText": "Which metric can you monitor during Gradient Boosting training for early stopping?",
      "options": [
        "Validation loss or error",
        "Training set size",
        "Tree depth",
        "Number of features"
      ],
      "correctAnswerIndex": 0,
      "explanation": "Monitoring validation loss allows early stopping to prevent overfitting while training."
    },
    {
      "id": 32,
      "questionText": "Scenario: You reduce learning rate but training becomes very slow. What is a good solution?",
      "options": [
        "Increase tree depth",
        "Stop training immediately",
        "Increase n_estimators to allow gradual learning",
        "Reduce dataset size drastically"
      ],
      "correctAnswerIndex": 2,
      "explanation": "A lower learning rate requires more trees (higher n_estimators) to fit the data effectively."
    },
    {
      "id": 33,
      "questionText": "What is the effect of increasing max_depth too much in Gradient Boosting?",
      "options": [
        "Reduction in variance",
        "Underfitting",
        "Faster convergence",
        "Overfitting"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Deep trees can model complex patterns but are prone to overfitting."
    },
    {
      "id": 34,
      "questionText": "Scenario: You use Gradient Boosting with very small n_estimators. Risk?",
      "options": [
        "Subsampling fails",
        "Learning rate becomes too high",
        "Overfitting immediately",
        "Underfitting due to insufficient model capacity"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Too few trees may prevent the model from capturing patterns in the data, leading to underfitting."
    },
    {
      "id": 35,
      "questionText": "Which of the following can help Gradient Boosting handle categorical variables?",
      "options": [
        "PCA",
        "Standard scaling only",
        "One-hot encoding or ordinal encoding",
        "Random subsampling"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Encoding categorical features allows Gradient Boosting trees to split effectively on categorical values."
    },
    {
      "id": 36,
      "questionText": "Scenario: Your model has slow convergence. Which combination is likely to improve it?",
      "options": [
        "Reduce subsample rate to 0.1",
        "Decrease learning rate and reduce trees",
        "Increase learning rate slightly and add more trees",
        "Reduce tree depth drastically only"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Slightly higher learning rate with more estimators can speed learning while maintaining accuracy."
    },
    {
      "id": 37,
      "questionText": "What is a common technique to prevent Gradient Boosting from overfitting noisy data?",
      "options": [
        "Remove subsampling",
        "Increase learning rate",
        "Increase tree depth",
        "Use shallow trees and lower learning rate"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Shallow trees and lower learning rate reduce the model's tendency to fit noise."
    },
    {
      "id": 38,
      "questionText": "Scenario: Using Gradient Boosting on imbalanced classes. Common adjustment?",
      "options": [
        "Use custom loss function or class weights",
        "Increase learning rate",
        "Ignore class imbalance",
        "Reduce n_estimators"
      ],
      "correctAnswerIndex": 0,
      "explanation": "Weighted loss or custom loss functions help Gradient Boosting pay more attention to minority classes."
    },
    {
      "id": 39,
      "questionText": "Which technique allows Gradient Boosting to reduce correlation between trees?",
      "options": [
        "Using one tree only",
        "Reducing learning rate",
        "Increasing max_depth",
        "Subsampling data (stochastic boosting)"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Randomly sampling data for each tree reduces correlation, improving ensemble diversity and generalization."
    },
    {
      "id": 40,
      "questionText": "Scenario: You notice slow training with large n_estimators. Which option helps?",
      "options": [
        "Increase learning rate drastically",
        "Increase number of features per tree",
        "Remove subsampling",
        "Reduce max_depth or min_samples_split"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Simplifying trees reduces computation per estimator and speeds up training."
    },
    {
      "id": 41,
      "questionText": "Gradient Boosting sequentially adds trees to minimize which quantity?",
      "options": [
        "Feature variance",
        "Residual errors from previous trees",
        "Dataset size",
        "Learning rate"
      ],
      "correctAnswerIndex": 1,
      "explanation": "Each new tree predicts the residual errors of the ensemble built so far."
    },
    {
      "id": 42,
      "questionText": "Scenario: Your model shows diminishing returns after many trees. Possible reason?",
      "options": [
        "Learning rate is zero",
        "Dataset is too large",
        "Residuals become small and difficult to improve",
        "Trees are too shallow"
      ],
      "correctAnswerIndex": 2,
      "explanation": "As the ensemble improves, residuals shrink, limiting the benefit of additional trees."
    },
    {
      "id": 43,
      "questionText": "Which variant of Gradient Boosting adapts to classification by optimizing logistic loss?",
      "options": [
        "Decision Tree Regression",
        "Stochastic Gradient Boosting",
        "AdaBoost",
        "Logistic Gradient Boosting"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Gradient Boosting can be adapted for classification by minimizing logistic loss."
    },
    {
      "id": 44,
      "questionText": "Scenario: Training Gradient Boosting on large dataset with limited memory. Strategy?",
      "options": [
        "Increase max_depth",
        "Increase learning rate",
        "Reduce subsample and feature fraction per tree",
        "Use full dataset each iteration"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Subsampling rows and features reduces memory usage and speeds up training."
    },
    {
      "id": 45,
      "questionText": "Which parameter controls how many features are used per tree in Gradient Boosting?",
      "options": [
        "max_features",
        "max_depth",
        "n_estimators",
        "learning_rate"
      ],
      "correctAnswerIndex": 0,
      "explanation": "max_features specifies the number of features considered for each tree, introducing randomness and reducing overfitting."
    },
    {
      "id": 46,
      "questionText": "Scenario: Your Gradient Boosting predictions are unstable. Likely cause?",
      "options": [
        "Low subsample",
        "Shallow trees",
        "High learning rate or deep trees",
        "Too few features"
      ],
      "correctAnswerIndex": 2,
      "explanation": "High learning rate and deep trees can cause the model to be sensitive to small data variations."
    },
    {
      "id": 47,
      "questionText": "Which type of problem is Gradient Boosting typically applied to?",
      "options": [
        "Clustering only",
        "Dimensionality reduction",
        "Regression and classification",
        "Feature extraction only"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Gradient Boosting is widely used for regression and classification tasks."
    },
    {
      "id": 48,
      "questionText": "Scenario: You want to combine Gradient Boosting with Random Forests. Benefit?",
      "options": [
        "Removes need for hyperparameter tuning",
        "Faster computation always",
        "Improved generalization by blending ensembles",
        "Reduces number of trees"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Blending ensembles can improve generalization but may not always reduce computation."
    },
    {
      "id": 49,
      "questionText": "What does the 'shrinkage' term refer to in Gradient Boosting?",
      "options": [
        "Learning rate",
        "Tree depth",
        "Number of features",
        "Subsample fraction"
      ],
      "correctAnswerIndex": 0,
      "explanation": "Shrinkage is another term for the learning rate, controlling the contribution of each tree."
    },
    {
      "id": 50,
      "questionText": "Scenario: You increase subsample fraction to 1.0. Effect?",
      "options": [
        "Faster convergence always",
        "Reduces tree depth automatically",
        "Model underfits",
        "Less randomness, potentially higher overfitting"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Using the full dataset per iteration removes randomness and may increase overfitting."
    },
    {
      "id": 51,
      "questionText": "Scenario: Your Gradient Boosting model has high variance despite shallow trees. What could help?",
      "options": [
        "Use all features for each tree",
        "Increase learning rate",
        "Increase tree depth",
        "Reduce learning rate or use subsampling"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Reducing learning rate or using row/feature subsampling reduces variance and improves generalization."
    },
    {
      "id": 52,
      "questionText": "Which regularization technique is commonly applied in Gradient Boosting?",
      "options": [
        "Dropout",
        "Early stopping only",
        "L1/L2 penalties on leaf weights",
        "Batch normalization"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Some implementations (like XGBoost) allow L1/L2 regularization on leaf weights to prevent overfitting."
    },
    {
      "id": 53,
      "questionText": "Scenario: You want to reduce overfitting while keeping model complexity high. Best approach?",
      "options": [
        "Increase max_depth only",
        "Lower learning rate and increase n_estimators",
        "Increase learning rate",
        "Reduce subsample fraction to 0.1"
      ],
      "correctAnswerIndex": 1,
      "explanation": "Lower learning rate with more trees allows high capacity without overfitting."
    },
    {
      "id": 54,
      "questionText": "What is the role of min_samples_split in Gradient Boosting trees?",
      "options": [
        "Learning rate",
        "Number of trees to build",
        "Maximum depth of tree",
        "Minimum number of samples required to split a node"
      ],
      "correctAnswerIndex": 3,
      "explanation": "min_samples_split controls the minimum samples needed to create a split, limiting overfitting."
    },
    {
      "id": 55,
      "questionText": "Scenario: You notice training is slow with very large n_estimators. Recommended action?",
      "options": [
        "Add more features",
        "Reduce number of trees",
        "Reduce max_depth or min_samples_split",
        "Increase learning rate drastically"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Simplifying trees reduces computation per estimator, speeding up training."
    },
    {
      "id": 56,
      "questionText": "Which loss function is commonly used for binary classification in Gradient Boosting?",
      "options": [
        "Mean squared error",
        "Euclidean distance",
        "Logistic loss (deviance)",
        "Huber loss"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Logistic loss is used to optimize Gradient Boosting for binary classification tasks."
    },
    {
      "id": 57,
      "questionText": "Scenario: You increase max_features to all features. Possible outcome?",
      "options": [
        "Higher risk of overfitting",
        "Less accurate predictions",
        "Faster training",
        "Reduced model capacity"
      ],
      "correctAnswerIndex": 0,
      "explanation": "Using all features reduces randomness, which can increase overfitting."
    },
    {
      "id": 58,
      "questionText": "Which parameter controls the minimum number of samples in a leaf node?",
      "options": [
        "min_samples_leaf",
        "max_depth",
        "learning_rate",
        "n_estimators"
      ],
      "correctAnswerIndex": 0,
      "explanation": "min_samples_leaf prevents nodes with very few samples, reducing overfitting."
    },
    {
      "id": 59,
      "questionText": "Scenario: Your Gradient Boosting model struggles with high-dimensional sparse data. What helps?",
      "options": [
        "Increase learning rate",
        "Use fewer estimators",
        "Increase tree depth",
        "Feature subsampling per tree"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Subsampling features reduces complexity and improves generalization in high-dimensional sparse datasets."
    },
    {
      "id": 60,
      "questionText": "Which term describes sequentially fitting models to residual errors in Gradient Boosting?",
      "options": [
        "Feature scaling",
        "Bagging",
        "Random subsampling",
        "Gradient descent in function space"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Gradient Boosting performs gradient descent in function space by fitting new models to residuals."
    },
    {
      "id": 61,
      "questionText": "Scenario: You want Gradient Boosting to converge faster without overfitting. Strategy?",
      "options": [
        "Use fewer trees only",
        "Reduce max_depth to 1",
        "Slightly increase learning rate and add more trees",
        "Use very high learning rate"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Slightly higher learning rate with more estimators balances convergence speed and generalization."
    },
    {
      "id": 62,
      "questionText": "What does the subsample parameter control in stochastic Gradient Boosting?",
      "options": [
        "Learning rate",
        "Number of features per split",
        "Maximum depth",
        "Fraction of rows used per tree"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Subsample fraction determines how many training rows are randomly selected per iteration, introducing randomness."
    },
    {
      "id": 63,
      "questionText": "Scenario: You use Gradient Boosting for multiclass classification. Key adjustment?",
      "options": [
        "Use one-vs-rest or softmax loss",
        "Use mean squared error",
        "Use only one estimator",
        "Reduce tree depth to 1"
      ],
      "correctAnswerIndex": 0,
      "explanation": "Multiclass problems require suitable loss functions or strategies like one-vs-rest or softmax."
    },
    {
      "id": 64,
      "questionText": "Which regularization parameter in XGBoost controls L2 penalty on leaf weights?",
      "options": [
        "gamma",
        "lambda",
        "alpha",
        "subsample"
      ],
      "correctAnswerIndex": 1,
      "explanation": "Lambda applies L2 regularization to leaf weights, helping reduce overfitting."
    },
    {
      "id": 65,
      "questionText": "Scenario: You want to prevent Gradient Boosting from fitting noise in small datasets. Recommended?",
      "options": [
        "Increase learning rate",
        "Use all features per tree",
        "Increase max_depth drastically",
        "Lower learning rate and use shallow trees"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Lower learning rate and shallow trees reduce overfitting to noise."
    },
    {
      "id": 66,
      "questionText": "What is the effect of early stopping in Gradient Boosting?",
      "options": [
        "Increases learning rate",
        "Removes subsampling",
        "Stops training when validation loss stops improving",
        "Reduces tree depth automatically"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Early stopping prevents overfitting by halting training once performance on validation data plateaus."
    },
    {
      "id": 67,
      "questionText": "Scenario: You increase n_estimators and lower learning rate. Expected effect?",
      "options": [
        "Better generalization and lower bias",
        "Overfitting immediately",
        "Faster training only",
        "Model underfits always"
      ],
      "correctAnswerIndex": 0,
      "explanation": "More trees with smaller learning rate improves generalization while reducing bias."
    },
    {
      "id": 68,
      "questionText": "Which Gradient Boosting variant uses row and feature subsampling?",
      "options": [
        "AdaBoost",
        "Bagging",
        "Standard Gradient Boosting",
        "Stochastic Gradient Boosting"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Stochastic Gradient Boosting introduces randomness by subsampling rows and/or features per tree."
    },
    {
      "id": 69,
      "questionText": "Scenario: Your Gradient Boosting model predicts extreme values for outliers. Solution?",
      "options": [
        "Increase tree depth",
        "Increase learning rate",
        "Remove subsampling",
        "Use robust loss function like Huber loss"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Robust loss functions reduce sensitivity to outliers."
    },
    {
      "id": 70,
      "questionText": "What does gamma (min_split_loss) control in XGBoost?",
      "options": [
        "Maximum depth",
        "Number of estimators",
        "Learning rate",
        "Minimum loss reduction required to make a split"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Gamma prevents unnecessary splits by requiring a minimum loss reduction for a node to split."
    },
    {
      "id": 71,
      "questionText": "Scenario: Using Gradient Boosting for regression. Best practice?",
      "options": [
        "Increase tree depth aggressively",
        "Use only one deep tree",
        "Ignore validation set",
        "Monitor validation loss and adjust learning rate/n_estimators"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Monitoring validation loss ensures good generalization and proper parameter tuning."
    },
    {
      "id": 72,
      "questionText": "Which technique can reduce Gradient Boosting training time on large datasets?",
      "options": [
        "Increase learning rate drastically",
        "Add more estimators",
        "Use more features per tree",
        "Subsample rows and features, limit tree depth"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Row/feature subsampling and shallow trees reduce computation and memory usage."
    },
    {
      "id": 73,
      "questionText": "Scenario: Gradient Boosting produces unstable predictions. Likely cause?",
      "options": [
        "Shallow trees",
        "Low subsample fraction",
        "High learning rate or deep trees",
        "Low n_estimators"
      ],
      "correctAnswerIndex": 2,
      "explanation": "High learning rate and very deep trees can make predictions sensitive to small variations in data."
    },
    {
      "id": 74,
      "questionText": "Which ensemble technique is Gradient Boosting based on?",
      "options": [
        "Boosting",
        "Voting",
        "Stacking",
        "Bagging"
      ],
      "correctAnswerIndex": 0,
      "explanation": "Gradient Boosting is a boosting technique, sequentially correcting errors of weak learners."
    },
    {
      "id": 75,
      "questionText": "Scenario: You want Gradient Boosting to generalize better on small dataset. Effective approach?",
      "options": [
        "Increase max_depth only",
        "Use all features per tree without subsampling",
        "Lower learning rate, reduce tree depth, use subsampling",
        "Increase learning rate drastically"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Reducing learning rate, limiting tree depth, and using subsampling helps prevent overfitting on small datasets."
    },
    {
      "id": 76,
      "questionText": "Scenario: Gradient Boosting predictions fluctuate between runs. Likely cause?",
      "options": [
        "Shallow trees",
        "Early stopping",
        "High learning rate or no subsampling",
        "Too few features"
      ],
      "correctAnswerIndex": 2,
      "explanation": "High learning rate and lack of subsampling can make predictions unstable across different runs."
    },
    {
      "id": 77,
      "questionText": "Which parameter can help prevent Gradient Boosting from creating overly complex trees?",
      "options": [
        "max_depth",
        "learning_rate",
        "subsample",
        "n_estimators"
      ],
      "correctAnswerIndex": 0,
      "explanation": "max_depth limits the maximum depth of individual trees, controlling complexity."
    },
    {
      "id": 78,
      "questionText": "Scenario: Model overfits training data despite tuning learning rate and n_estimators. Additional fix?",
      "options": [
        "Reduce max_depth or increase min_samples_leaf",
        "Increase learning rate",
        "Increase max_features to all",
        "Use fewer trees"
      ],
      "correctAnswerIndex": 0,
      "explanation": "Controlling tree complexity with max_depth or min_samples_leaf helps reduce overfitting."
    },
    {
      "id": 79,
      "questionText": "Which variant of Gradient Boosting introduces randomness by subsampling both rows and features?",
      "options": [
        "Bagging",
        "AdaBoost",
        "Standard Gradient Boosting",
        "Stochastic Gradient Boosting"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Stochastic Gradient Boosting uses row and feature subsampling per tree to improve generalization."
    },
    {
      "id": 80,
      "questionText": "Scenario: Using Gradient Boosting with noisy data. Best practice?",
      "options": [
        "Lower learning rate, shallow trees, possibly subsample rows",
        "Increase learning rate",
        "Use all features per tree",
        "Use very deep trees"
      ],
      "correctAnswerIndex": 0,
      "explanation": "Shallow trees, lower learning rate, and subsampling reduce overfitting to noise."
    },
    {
      "id": 81,
      "questionText": "What does min_samples_split control in Gradient Boosting?",
      "options": [
        "Number of estimators",
        "Maximum depth of trees",
        "Learning rate",
        "Minimum samples required to split a node"
      ],
      "correctAnswerIndex": 3,
      "explanation": "min_samples_split prevents splitting nodes with very few samples, helping reduce overfitting."
    },
    {
      "id": 82,
      "questionText": "Scenario: Validation loss increases after several iterations. Solution?",
      "options": [
        "Apply early stopping",
        "Use deeper trees",
        "Add more trees regardless",
        "Increase learning rate"
      ],
      "correctAnswerIndex": 0,
      "explanation": "Early stopping halts training when validation loss stops improving to prevent overfitting."
    },
    {
      "id": 83,
      "questionText": "Which parameter scales the contribution of each tree in Gradient Boosting?",
      "options": [
        "max_depth",
        "subsample",
        "learning_rate (shrinkage)",
        "n_estimators"
      ],
      "correctAnswerIndex": 2,
      "explanation": "The learning_rate (shrinkage) controls how much each tree contributes to the ensemble."
    },
    {
      "id": 84,
      "questionText": "Scenario: Model is slow on large dataset. Best strategies?",
      "options": [
        "Increase learning rate drastically",
        "Use more features per tree",
        "Reduce max_depth, min_samples_split, or use subsampling",
        "Reduce learning rate to zero"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Simplifying trees and using subsampling reduces computation and memory usage."
    },
    {
      "id": 85,
      "questionText": "Which loss function is used for multi-class classification in Gradient Boosting?",
      "options": [
        "Mean squared error",
        "Softmax / multinomial deviance",
        "Huber loss",
        "Binary cross-entropy"
      ],
      "correctAnswerIndex": 1,
      "explanation": "Softmax or multinomial deviance loss is used for multi-class classification problems."
    },
    {
      "id": 86,
      "questionText": "Scenario: Gradient Boosting underfits. What adjustment helps?",
      "options": [
        "Use fewer features",
        "Increase tree depth or n_estimators",
        "Apply early stopping immediately",
        "Reduce learning rate drastically"
      ],
      "correctAnswerIndex": 1,
      "explanation": "Increasing tree depth or number of estimators allows the model to better fit the data."
    },
    {
      "id": 87,
      "questionText": "Which regularization parameter in XGBoost applies L1 penalty on leaf weights?",
      "options": [
        "gamma",
        "lambda",
        "subsample",
        "alpha"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Alpha applies L1 regularization to leaf weights, helping prevent overfitting."
    },
    {
      "id": 88,
      "questionText": "Scenario: Learning rate is low and n_estimators are small. Risk?",
      "options": [
        "Noise sensitivity",
        "Overfitting",
        "Random predictions",
        "Underfitting"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Low learning rate with few trees prevents the model from fitting patterns, leading to underfitting."
    },
    {
      "id": 89,
      "questionText": "Scenario: You increase subsample to 1.0. Effect?",
      "options": [
        "Less randomness and higher risk of overfitting",
        "Faster convergence",
        "Underfitting",
        "Reduced tree depth"
      ],
      "correctAnswerIndex": 0,
      "explanation": "Using all data removes randomness and can increase overfitting."
    },
    {
      "id": 90,
      "questionText": "Which technique reduces correlation among Gradient Boosting trees?",
      "options": [
        "Increasing max_depth",
        "Increasing learning rate",
        "Row and feature subsampling",
        "Using single tree"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Random sampling of rows and features reduces correlation between trees and improves generalization."
    },
    {
      "id": 91,
      "questionText": "Scenario: Validation performance plateaus before n_estimators. Recommended?",
      "options": [
        "Increase learning rate drastically",
        "Add more features",
        "Use early stopping",
        "Increase max_depth"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Early stopping halts training when validation performance stops improving to avoid overfitting."
    },
    {
      "id": 92,
      "questionText": "Scenario: Predictions are too sensitive to outliers. Solution?",
      "options": [
        "Reduce n_estimators",
        "Increase learning rate",
        "Use deeper trees",
        "Use robust loss function like Huber loss"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Robust loss functions reduce sensitivity to extreme values."
    },
    {
      "id": 93,
      "questionText": "Which Gradient Boosting implementation allows L1/L2 regularization and parallelization?",
      "options": [
        "AdaBoost",
        "XGBoost",
        "Bagging",
        "Scikit-learn GradientBoosting"
      ],
      "correctAnswerIndex": 1,
      "explanation": "XGBoost supports advanced regularization and parallel computation."
    },
    {
      "id": 94,
      "questionText": "Scenario: You want Gradient Boosting to generalize on high-dimensional sparse data. Approach?",
      "options": [
        "Increase tree depth",
        "Use all rows always",
        "Increase learning rate",
        "Subsample features per tree"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Feature subsampling reduces complexity and overfitting in sparse, high-dimensional data."
    },
    {
      "id": 95,
      "questionText": "Scenario: Model predicts extreme residuals for outliers. Solution?",
      "options": [
        "Increase max_depth",
        "Reduce subsample",
        "Use robust loss function",
        "Increase learning rate"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Robust loss functions like Huber loss reduce influence of outliers."
    },
    {
      "id": 96,
      "questionText": "Which parameter controls minimum loss reduction required to make a split in XGBoost?",
      "options": [
        "gamma (min_split_loss)",
        "alpha",
        "lambda",
        "subsample"
      ],
      "correctAnswerIndex": 0,
      "explanation": "Gamma prevents splits that do not improve the loss function sufficiently."
    },
    {
      "id": 97,
      "questionText": "Scenario: Small dataset shows overfitting. Strategy?",
      "options": [
        "Use all features per tree",
        "Increase learning rate",
        "Increase max_depth",
        "Reduce learning rate, shallow trees, use subsampling"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Lower learning rate, shallow trees, and subsampling help prevent overfitting on small datasets."
    },
    {
      "id": 98,
      "questionText": "Which ensemble method is Gradient Boosting part of?",
      "options": [
        "Stacking",
        "Bagging",
        "Voting",
        "Boosting"
      ],
      "correctAnswerIndex": 3,
      "explanation": "Gradient Boosting is a boosting method, combining weak learners sequentially to reduce error."
    },
    {
      "id": 99,
      "questionText": "Scenario: High variance despite using shallow trees and low learning rate. Possible fix?",
      "options": [
        "Increase tree depth",
        "Increase subsample fraction and feature randomness",
        "Increase learning rate",
        "Reduce number of estimators"
      ],
      "correctAnswerIndex": 1,
      "explanation": "Subsampling rows and features introduces randomness and reduces variance."
    },
    {
      "id": 100,
      "questionText": "Scenario: You need Gradient Boosting to handle multiclass classification efficiently. Best approach?",
      "options": [
        "Use mean squared error",
        "Ignore class differences",
        "Use softmax/multinomial loss with suitable n_estimators and learning rate",
        "Use a single tree per class"
      ],
      "correctAnswerIndex": 2,
      "explanation": "Softmax/multinomial loss allows proper multiclass classification with Gradient Boosting."
    }
  ]
}