Knowledge (XXG)

C4.5 algorithm

Source 📝

25: 82: 503:
Handling both continuous and discrete attributes - In order to handle continuous attributes, C4.5 creates a threshold and then splits the list into those whose attribute value is above the threshold and those that are less than or equal to
378:
At each node of the tree, C4.5 chooses the attribute of the data that most effectively splits its set of samples into subsets enriched in one class or the other. The splitting criterion is the normalized
507:
Handling training data with missing attribute values - C4.5 allows attribute values to be marked as ? for missing. Missing attribute values are simply not used in gain and entropy calculations.
315: 111:
machine learning software described the C4.5 algorithm as "a landmark decision tree program that is probably the machine learning workhorse most widely used in practice to date".
199: 522:
Quinlan went on to create C5.0 and See5 (C5.0 for Unix/Linux, See5 for Windows) which he markets commercially. C5.0 offers a number of improvements on C4.5. Some of these are:
513:
Pruning trees after creation - C4.5 goes back through the tree once it's been created and attempts to remove branches that do not help by replacing them with leaf nodes.
373: 342: 226: 402:
All the samples in the list belong to the same class. When this happens, it simply creates a leaf node for the decision tree saying to choose that class.
405:
None of the features provide any information gain. In this case, C4.5 creates a decision node higher up the tree using the expected value of the class.
383:(difference in entropy). The attribute with the highest normalized information gain is chosen to make the decision. The C4.5 algorithm then 46: 694: 380: 122: 68: 408:
Instance of previously unseen class encountered. Again, C4.5 creates a decision node higher up the tree using the expected value.
119: 103:. The decision trees generated by C4.5 can be used for classification, and for this reason, C4.5 is often referred to as a 641:
J. R. Quinlan. Improved use of continuous attributes in c4.5. Journal of Artificial Intelligence Research, 4:77-90, 1996.
384: 138: 536: 481: 39: 33: 554: 345: 231: 104: 50: 699: 485: 108: 144: 395: 81: 532:
Smaller decision trees - C5.0 gets similar results to C4.5 with considerably smaller decision trees.
546: 388: 351: 320: 204: 628:
S.B. Kotsiantis, "Supervised Machine Learning: A Review of Classification Techniques",
617: 688: 566: 134: 100: 92: 96: 542:
Weighting - C5.0 allows you to weight different cases and misclassification types.
604: 650: 488: 478: 418: 526:
Speed - C5.0 is significantly faster than C4.5 (several orders of magnitude)
605:"Data Mining: Practical machine learning tools and techniques, 3rd Edition" 679: 553:
Source for a single-threaded Linux version of C5.0 is available under the
133:
C4.5 builds decision trees from a set of training data in the same way as
571: 674: 661:
M. Kuhn and K. Johnson, Applied Predictive Modeling, Springer 2013
80: 499:
C4.5 made a number of improvements to ID3. Some of these are:
432:, find the normalized information gain ratio from splitting on 443:
be the attribute with the highest normalized information gain.
18: 539:- Boosting improves the trees and gives them more accuracy. 421:, the general algorithm for building decision trees is: 529:
Memory usage - C5.0 is more memory efficient than C4.5
673:
Original implementation on Ross Quinlan's homepage:
549:
the attributes to remove those that may be unhelpful.
354: 323: 234: 207: 147: 572:
Modifying C4.5 to generate temporal and causal rules
367: 336: 309: 220: 193: 457:Recurse on the sublists obtained by splitting on 603:Ian H. Witten; Eibe Frank; Mark A. Hall (2011). 114:It became quite popular after ranking #1 in the 607:. Morgan Kaufmann, San Francisco. p. 191. 348:of the sample, as well as the class in which 310:{\displaystyle (x_{1,i},x_{2,i},...,x_{p,i})} 8: 484:implementation of the C4.5 algorithm in the 201:of already classified samples. Each sample 99:. C4.5 is an extension of Quinlan's earlier 618:Umd.edu - Top 10 Algorithms in Data Mining 510:Handling attributes with differing costs. 359: 353: 328: 322: 292: 261: 242: 233: 212: 206: 172: 159: 154: 146: 69:Learn how and when to remove this message 545:Winnowing - a C5.0 option automatically 32:This article includes a list of general 582: 461:, and add those nodes as children of 7: 593:. Morgan Kaufmann Publishers, 1993. 518:Improvements in C5.0/See5 algorithm 228:consists of a p-dimensional vector 194:{\displaystyle S={s_{1},s_{2},...}} 91:is an algorithm used to generate a 16:Algorithm for making decision trees 675:http://www.rulequest.com/Personal/ 38:it lacks sufficient corresponding 14: 116:Top 10 Algorithms in Data Mining 23: 495:Improvements from ID3 algorithm 425:Check for the above base cases. 118:pre-eminent paper published by 651:Is See5/C5.0 Better Than C4.5? 344:represent attribute values or 304: 235: 141:. The training data is a set 1: 591:Programs for Machine Learning 716: 555:GNU General Public License 107:. In 2011, authors of the 695:Classification algorithms 394:This algorithm has a few 137:, using the concept of 53:more precise citations. 632:31(2007) 249-268, 2007 369: 338: 311: 222: 195: 105:statistical classifier 85: 589:Quinlan, J. R. C4.5: 370: 368:{\displaystyle s_{i}} 339: 337:{\displaystyle x_{j}} 312: 223: 221:{\displaystyle s_{i}} 196: 84: 352: 321: 232: 205: 145: 428:For each attribute 139:information entropy 446:Create a decision 365: 334: 307: 218: 191: 86: 79: 78: 71: 707: 662: 659: 653: 648: 642: 639: 633: 626: 620: 615: 609: 608: 600: 594: 587: 381:information gain 374: 372: 371: 366: 364: 363: 343: 341: 340: 335: 333: 332: 316: 314: 313: 308: 303: 302: 272: 271: 253: 252: 227: 225: 224: 219: 217: 216: 200: 198: 197: 192: 190: 177: 176: 164: 163: 74: 67: 63: 60: 54: 49:this article by 40:inline citations 27: 26: 19: 715: 714: 710: 709: 708: 706: 705: 704: 685: 684: 670: 665: 660: 656: 649: 645: 640: 636: 627: 623: 616: 612: 602: 601: 597: 588: 584: 580: 563: 520: 497: 472: 470:Implementations 450:that splits on 415: 355: 350: 349: 324: 319: 318: 288: 257: 238: 230: 229: 208: 203: 202: 168: 155: 143: 142: 131: 75: 64: 58: 55: 45:Please help to 44: 28: 24: 17: 12: 11: 5: 713: 711: 703: 702: 700:Decision trees 697: 687: 686: 683: 682: 677: 669: 668:External links 666: 664: 663: 654: 643: 634: 621: 610: 595: 581: 579: 576: 575: 574: 569: 562: 559: 551: 550: 543: 540: 533: 530: 527: 519: 516: 515: 514: 511: 508: 505: 496: 493: 471: 468: 467: 466: 455: 444: 437: 426: 414: 411: 410: 409: 406: 403: 362: 358: 331: 327: 306: 301: 298: 295: 291: 287: 284: 281: 278: 275: 270: 267: 264: 260: 256: 251: 248: 245: 241: 237: 215: 211: 189: 186: 183: 180: 175: 171: 167: 162: 158: 153: 150: 130: 127: 77: 76: 31: 29: 22: 15: 13: 10: 9: 6: 4: 3: 2: 712: 701: 698: 696: 693: 692: 690: 681: 680:See5 and C5.0 678: 676: 672: 671: 667: 658: 655: 652: 647: 644: 638: 635: 631: 625: 622: 619: 614: 611: 606: 599: 596: 592: 586: 583: 577: 573: 570: 568: 567:ID3 algorithm 565: 564: 560: 558: 556: 548: 544: 541: 538: 534: 531: 528: 525: 524: 523: 517: 512: 509: 506: 502: 501: 500: 494: 492: 490: 487: 483: 480: 476: 469: 464: 460: 456: 453: 449: 445: 442: 438: 435: 431: 427: 424: 423: 422: 420: 412: 407: 404: 401: 400: 399: 397: 392: 390: 386: 382: 376: 360: 356: 347: 329: 325: 299: 296: 293: 289: 285: 282: 279: 276: 273: 268: 265: 262: 258: 254: 249: 246: 243: 239: 213: 209: 187: 184: 181: 178: 173: 169: 165: 160: 156: 151: 148: 140: 136: 128: 126: 124: 121: 117: 112: 110: 106: 102: 101:ID3 algorithm 98: 95:developed by 94: 93:decision tree 90: 83: 73: 70: 62: 52: 48: 42: 41: 35: 30: 21: 20: 657: 646: 637: 629: 624: 613: 598: 590: 585: 552: 535:Support for 521: 498: 474: 473: 462: 458: 451: 447: 440: 433: 429: 416: 393: 377: 317:, where the 132: 115: 113: 97:Ross Quinlan 88: 87: 65: 56: 37: 630:Informatica 489:data mining 479:open source 389:partitioned 51:introducing 689:Categories 578:References 419:pseudocode 413:Pseudocode 396:base cases 391:sublists. 34:references 129:Algorithm 125:in 2008. 59:July 2008 561:See also 537:boosting 385:recurses 346:features 120:Springer 557:(GPL). 547:winnows 387:on the 375:falls. 47:improve 491:tool. 477:is an 459:a_best 452:a_best 441:a_best 36:, but 486:Weka 482:Java 463:node 448:node 439:Let 123:LNCS 109:Weka 89:C4.5 504:it. 475:J48 417:In 135:ID3 691:: 398:. 465:. 454:. 436:. 434:a 430:a 361:i 357:s 330:j 326:x 305:) 300:i 297:, 294:p 290:x 286:, 283:. 280:. 277:. 274:, 269:i 266:, 263:2 259:x 255:, 250:i 247:, 244:1 240:x 236:( 214:i 210:s 188:. 185:. 182:. 179:, 174:2 170:s 166:, 161:1 157:s 152:= 149:S 72:) 66:( 61:) 57:( 43:.

Index

references
inline citations
improve
introducing
Learn how and when to remove this message

decision tree
Ross Quinlan
ID3 algorithm
statistical classifier
Weka
Springer
LNCS
ID3
information entropy
features
information gain
recurses
partitioned
base cases
pseudocode
open source
Java
Weka
data mining
boosting
winnows
GNU General Public License
ID3 algorithm
Modifying C4.5 to generate temporal and causal rules

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.