{"id":1657,"date":"2021-05-17T08:27:57","date_gmt":"2021-05-17T08:27:57","guid":{"rendered":"http:\/\/lucylabs.gatech.edu\/ml4t\/?page_id=1657"},"modified":"2021-06-14T08:17:13","modified_gmt":"2021-06-14T08:17:13","slug":"project-3","status":"publish","type":"page","link":"https:\/\/lucylabs.gatech.edu\/ml4t\/summer2021\/project-3\/","title":{"rendered":"Project 3"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.4.5&#8243;][et_pb_row _builder_version=&#8221;4.4.5&#8243;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.4.5&#8243;][et_pb_text _builder_version=&#8221;4.9.4&#8243; header_font=&#8221;|700||on|||||&#8221;]<\/p>\n<h1 style=\"text-align: center;\">Project 3: Assess Learners<\/h1>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.4.5&#8243;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.4.5&#8243;][et_pb_text _builder_version=&#8221;4.9.4&#8243; header_2_font=&#8221;|||on|on||||&#8221;]<\/p>\n<h2>Revisions<\/h2>\n<p><span>This assignment is subject to change up until 3 weeks prior to the due date. We do not anticipate changes; any changes will be logged in this section.<\/span><\/p>\n<ul>\n<li><span>5\/27\/2021 Updated typo in the script command &#8216;Instanbul&#8217; to &#8216;Istanbul&#8217;<\/span><\/li>\n<li><span>6\/1\/2021 Updated the <strong>Task &amp; Requirements<\/strong> section to further clarify the files necessary to submit<\/span><\/li>\n<li><span>6\/1\/2021 Updated <strong>Your Implementation<\/strong>, <strong>Implement the DT and RT Learners<\/strong>, <strong>Implement BagLearner<\/strong>, and <strong>Implement InsaneLearner<\/strong> sections to further clarify the API and necessary changes.<\/span><\/li>\n<li><span>6\/3\/2021 Updated <strong>Task &amp; Requirements<\/strong> bullet point on BagLearner<\/span><\/li>\n<\/ul>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.4.5&#8243;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.4.5&#8243;][et_pb_text _builder_version=&#8221;4.9.4&#8243; header_2_font=&#8221;|||on|on||||&#8221;]<\/p>\n<h2>Overview<\/h2>\n<p><span data-contrast=\"auto\" xml:lang=\"EN-US\" lang=\"EN-US\" class=\"TextRun SCXW7127766 BCX4\"><span class=\"NormalTextRun SCXW7127766 BCX4\">In this assignment, you will implement four supervised learning machine learning algorithms from an algorithmic family called Classification and Regression Trees (CARTs).<\/span><span class=\"NormalTextRun SCXW7127766 BCX4\"> You will also conduct several experiments to evaluate the behavior<\/span><span class=\"NormalTextRun SCXW7127766 BCX4\"> and performance<\/span><span class=\"NormalTextRun SCXW7127766 BCX4\"> of the learners as <\/span><span class=\"NormalTextRun SCXW7127766 BCX4\">you vary one of its hyperparameters<\/span><span class=\"NormalTextRun SCXW7127766 BCX4\">.<\/span><span class=\"NormalTextRun SCXW7127766 BCX4\"> <\/span><span class=\"NormalTextRun SCXW7127766 BCX4\">You will submit the code for the project in <\/span><span class=\"NormalTextRun SpellingErrorV2 SCXW7127766 BCX4\">Gradescope<\/span><span class=\"NormalTextRun SCXW7127766 BCX4\"> SUBMISSION. You will also submit <\/span><span class=\"NormalTextRun SCXW7127766 BCX4\">to <\/span><span class=\"NormalTextRun SCXW7127766 BCX4\">Canvas a <\/span><span class=\"NormalTextRun SCXW7127766 BCX4\">report <\/span><span class=\"NormalTextRun SCXW7127766 BCX4\">where you <\/span><span class=\"NormalTextRun SCXW7127766 BCX4\">discuss your experimental findings<\/span><span class=\"NormalTextRun SCXW7127766 BCX4\">.<\/span><\/span><span class=\"EOP CommentStart SCXW7127766 BCX4\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.4.5&#8243;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.4.5&#8243;][et_pb_text _builder_version=&#8221;4.9.4&#8243; header_2_font=&#8221;|||on|on||||&#8221;]<\/p>\n<h2>About The Project<\/h2>\n<p><span data-contrast=\"auto\" xml:lang=\"EN-US\" lang=\"EN-US\" class=\"TextRun SCXW24464095 BCX4\"><span class=\"NormalTextRun SCXW24464095 BCX4\">I<\/span><span class=\"NormalTextRun SCXW24464095 BCX4\">mplement and evaluate four<\/span><span class=\"NormalTextRun SCXW24464095 BCX4\"> CART<\/span><span class=\"NormalTextRun SCXW24464095 BCX4\"> <\/span><\/span><span data-contrast=\"auto\" xml:lang=\"EN-US\" lang=\"EN-US\" class=\"TextRun SCXW24464095 BCX4\"><span class=\"NormalTextRun SCXW24464095 BCX4\">regression<\/span><\/span><span data-contrast=\"auto\" xml:lang=\"EN-US\" lang=\"EN-US\" class=\"TextRun SCXW24464095 BCX4\"><span class=\"NormalTextRun SCXW24464095 BCX4\"> algorithms <\/span><span class=\"NormalTextRun SCXW24464095 BCX4\">in<\/span><span class=\"NormalTextRun SCXW24464095 BCX4\"> <\/span><span class=\"NormalTextRun SCXW24464095 BCX4\">object-oriented <\/span><span class=\"NormalTextRun SCXW24464095 BCX4\">Python<\/span><span class=\"NormalTextRun CommentStart SCXW24464095 BCX4\">: a \u201cclassic\u201d Decision Tree learner, a Random Tree learner, a Bootstrap Aggregating learner<\/span><span class=\"NormalTextRun SCXW24464095 BCX4\"> (<\/span><span class=\"NormalTextRun SpellingErrorV2 SCXW24464095 BCX4\">i.e<\/span><span class=\"NormalTextRun SCXW24464095 BCX4\">, a \u201cbag learner\u201d)<\/span><span class=\"NormalTextRun SCXW24464095 BCX4\">, and an Insane Learner.<\/span><span class=\"NormalTextRun SCXW24464095 BCX4\"> <\/span><span class=\"NormalTextRun SCXW24464095 BCX4\">As regression learners, the goal for your learner is to return a continuous numerical result (not a discrete result).<\/span><span class=\"NormalTextRun SCXW24464095 BCX4\"> <\/span><span class=\"NormalTextRun SCXW24464095 BCX4\">You will use techniques introduced in the course lectures. However, this project may require readings or additional research to ensure an understanding of supervised learning, linear regression, learner performance, <\/span><span class=\"NormalTextRun SCXW24464095 BCX4\">performance metrics, <\/span><span class=\"NormalTextRun SCXW24464095 BCX4\">and CARTs (i.e., decision trees).<\/span><\/span><span class=\"EOP SCXW24464095 BCX4\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.4.5&#8243;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.4.5&#8243;][et_pb_text _builder_version=&#8221;4.9.6&#8243; header_2_font=&#8221;|||on|on||||&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h2><span data-contrast=\"auto\" xml:lang=\"EN-US\" lang=\"EN-US\" class=\"TextRun SCXW163247658 BCX4\"><span class=\"NormalTextRun SCXW163247658 BCX4\">Your Implementation<\/span><\/span><span class=\"EOP SCXW163247658 BCX4\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><span class=\"EOP SCXW163247658 BCX4\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"><\/span><\/h2>\n<p><span data-contrast=\"auto\">You will implement four CART learners as regression learners: DTLearner, RTLearner, BagLearner, and InsaneLearner. Each of the learners must implement this <\/span><a href=\"http:\/\/lucylabs.gatech.edu\/ml4t\/summer2021\/project-3-doc\/\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">API specification<\/span><\/a><span data-contrast=\"auto\">, where LinRegLearner is replaced by DTLearner, RTLearner, BagLearner, or InsaneLearner, as necessary.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"> In addition, each learner\u2019s constructor will need to be revised to align with the instantiation examples provided below.<\/span><\/p>\n<p><span data-contrast=\"auto\">This project has two main components: First, you will write code for each of the learners and for the experiments required for the report. You must write your own code for this project. You are NOT allowed to use other people\u2019s code or packages to implement these learners. Second, you will produce a report that summarizes the observation and analysis of several experiments. The experiments, analysis, and report should leverage the experimental techniques introduced in Project 1.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">For the task below, you will mainly be working with the Istanbul datafile. This file includes the returns of multiple worldwide indexes for several days in history. In this task, the overall objective is to predict what the return for the MSCI Emerging Markets (EM) index will be based on the other index returns. Y in this case is the last column to the right of the Istanbul.csv file while the X values are the remaining columns to the left (except the first column). As part of reading the data file, your code should handle any data cleaning that is required. This includes the dropping of header rows and date-time columns (i.g., the first column of data in the Istanbul file, which should be ignored). Note that the local test script does this automatically for you, but you will have to handle it yourself when working on your report.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">When the grading script tests your code, it randomly selects 60% of the data to train on and uses the other 40% for testing.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The other files, besides Istanbul.csv are there as alternative sets for you to test your code on. Each data file contains N+1 columns: X1, X2, \u2026 XN, and Y.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The Istanbul data is also available here: File:<\/span><a href=\"https:\/\/www.dropbox.com\/s\/vcprhmffvh8m9dg\/Istanbul.csv.zip?dl=1\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">Istanbul.csv<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">Task &amp; Requirements<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">You will implement the following files:\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"20\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">DTLearner.py \u2013 Contains the code for the regression Decision Tree class.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"20\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">RTLearner.py \u2013 Contains the code for the regression Random Tree class.<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"20\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">BagLearner.py \u2013 Contains the code for the regression Bag Learner (i.e., a BagLearner containing Random Trees).<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"20\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">InsaneLearner.py \u2013 Contains the code for the regression Insane Learner of Bag Learners.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"20\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">testlearner.py \u2013 Contains the code necessary to run your experiments and perform additional independent testing.\u00a0<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul><\/ul>\n<p><span style=\"text-decoration: line-through;\">All your code will be placed into one of the four files (above). No other code files will be accepted. These files must remain and run from within the assess_learners directory. The testlearner.py file used to conduct your experiments is run using the following command:\u00a0<\/span><\/p>\n<p>All of your code must be placed into one of the above files. No other code files will be accepted. The four learner files (i.e., DTLearner.py, RTLearner.py, BagLearner.py, InsaneLearner.py) must reside in the assess_learners folder. The testlearner.py file that is used to conduct your experiments must also reside in the assess_learners folder and is run using the following command:<\/p>\n<p>[\/et_pb_text][et_pb_dmb_code_snippet code=&#8221;UFlUSE9OUEFUSD0uLi86LiBweXRob24gdGVzdGxlYXJuZXIucHkgRGF0YS9Jc3RhbmJ1bC5jc3Yg&#8221; _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]UFlUSE9OUEFUSD0uLi86LiBweXRob24gdGVzdGxlYXJuZXIucHkgRGF0YS9Jc3RhbmJ1bC5jc3Yg[\/et_pb_dmb_code_snippet][et_pb_text _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]<\/p>\n<h3><b><span data-contrast=\"auto\">Implement the DT and RT Learners (15 points each)<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Implement a Decision Tree learner class named DTLearner in the file DTLearner.py. For this part of the project, your code should build a single tree only (not a forest). You should follow the algorithm outlined in the presentation here: <\/span><a href=\"https:\/\/www.dropbox.com\/s\/1mfmrwrrgm9otia\/How-to-learn-a-decision-tree.pdf.zip?dl=1\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">decision tree slides<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"22\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">We define \u201cbest feature to split on\u201d as the feature (Xi) that has the highest absolute value correlation with Y.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">The algorithm outlined in those slides is based on the paper by <\/span><a href=\"https:\/\/link.springer.com\/content\/pdf\/10.1007\/BF00116251.pdf\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">JR Quinlan<\/span><\/a><span data-contrast=\"auto\"> which you may also want to review as a reference. Note that Quinlan\u2019s paper is focused on creating classification trees, while we are creating regression trees here, so you will need to consider the differences.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">You will also implement a Random Tree learner class named RTLearner in the file RTLearner.py. This learner should be implemented exactly like your DTLearner, except that the choice of feature to split on should be made randomly. You should be able to accomplish this by revising a few lines from DTLearner (those that compute the correlation) and replacing the line that selects the feature with a call to a random number generator.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The DTLearner and RTLearners will be evaluated against 4 test cases (4 using Istanbul.csv and 1 using another data set from the assess_learners\/Data folder). We will assess the absolute correlation between the predicted and actual results for the in-sample data and out-of-sample data with a leaf size of 1, and\u00a0in-sample\u00a0data with a leaf size of 50.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"auto\">Example<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The following example illustrates how the DTLearner class methods will be called:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>[\/et_pb_text][et_pb_dmb_code_snippet code=&#8221;aW1wb3J0IERUTGVhcm5lciBhcyBkdCAKbGVhcm5lciA9IGR0LkRUTGVhcm5lcihsZWFmX3NpemUgPSAxLCB2ZXJib3NlID0gRmFsc2UpICMgY29uc3RydWN0b3IgCmxlYXJuZXIuYWRkX2V2aWRlbmNlKFh0cmFpbiwgWXRyYWluKSAjIHRyYWluaW5nIHN0ZXAgClkgPSBsZWFybmVyLnF1ZXJ5KFh0ZXN0KSAjIHF1ZXJ5IA==&#8221; _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]aW1wb3J0IERUTGVhcm5lciBhcyBkdCAKbGVhcm5lciA9IGR0LkRUTGVhcm5lcihsZWFmX3NpemUgPSAxLCB2ZXJib3NlID0gRmFsc2UpICMgY29uc3RydWN0b3IgCmxlYXJuZXIuYWRkX2V2aWRlbmNlKFh0cmFpbiwgWXRyYWluKSAjIHRyYWluaW5nIHN0ZXAgClkgPSBsZWFybmVyLnF1ZXJ5KFh0ZXN0KSAjIHF1ZXJ5IA==[\/et_pb_dmb_code_snippet][et_pb_text _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]<\/p>\n<p><span data-contrast=\"auto\" xml:lang=\"EN-US\" lang=\"EN-US\" class=\"TextRun SCXW258569305 BCX4\"><span class=\"NormalTextRun SCXW258569305 BCX4\">The following example illustrates how the <\/span><span class=\"NormalTextRun SpellingErrorV2 SCXW258569305 BCX4\">RTLearner<\/span><span class=\"NormalTextRun SCXW258569305 BCX4\"> class methods will be called:<\/span><\/span><span class=\"EOP SCXW258569305 BCX4\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>[\/et_pb_text][et_pb_dmb_code_snippet code=&#8221;aW1wb3J0IFJUTGVhcm5lciBhcyBydCAKbGVhcm5lciA9IHJ0LlJUTGVhcm5lcihsZWFmX3NpemUgPSAxLCB2ZXJib3NlID0gRmFsc2UpICMgY29uc3RydWN0b3IgCmxlYXJuZXIuYWRkX2V2aWRlbmNlKFh0cmFpbiwgWXRyYWluKSAjIHRyYWluaW5nIHN0ZXAgClkgPSBsZWFybmVyLnF1ZXJ5KFh0ZXN0KSAjIHF1ZXJ5IA==&#8221; _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]aW1wb3J0IFJUTGVhcm5lciBhcyBydCAKbGVhcm5lciA9IHJ0LlJUTGVhcm5lcihsZWFmX3NpemUgPSAxLCB2ZXJib3NlID0gRmFsc2UpICMgY29uc3RydWN0b3IgCmxlYXJuZXIuYWRkX2V2aWRlbmNlKFh0cmFpbiwgWXRyYWluKSAjIHRyYWluaW5nIHN0ZXAgClkgPSBsZWFybmVyLnF1ZXJ5KFh0ZXN0KSAjIHF1ZXJ5IA==[\/et_pb_dmb_code_snippet][et_pb_text _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]<\/p>\n<p><span data-contrast=\"auto\"><span class=\"NormalTextRun  BCX4 SCXW199353454\">The <\/span><span class=\"NormalTextRun SpellingErrorV2  BCX4 DefaultHighlightTransition SpellingErrorHighlight SCXW199353454\">DTLearner<\/span><span class=\"NormalTextRun  BCX4 SCXW199353454\"> and <\/span><span class=\"NormalTextRun SpellingErrorV2  BCX4 DefaultHighlightTransition SCXW199353454\">RTLearner<\/span><span class=\"NormalTextRun  BCX4 SCXW199353454\"> constructors take two arguments: <\/span><span class=\"NormalTextRun SpellingErrorV2  BCX4 DefaultHighlightTransition SCXW199353454\">leaf_size<\/span><span class=\"NormalTextRun  BCX4 SCXW199353454\"> and verbose. \u201c<\/span><span class=\"NormalTextRun SpellingErrorV2   BCX4 DefaultHighlightTransition SCXW199353454\">leaf_size<\/span><span class=\"NormalTextRun  BCX4 SCXW199353454\">\u201d<\/span>\u00a0is a hyperparameter that defines the maximum number of samples to be aggregated at a leaf. If verbose is True, your code can generate output; otherwise, the code should be silent. When the tree is constructed recursively, if there are leaf_size or fewer elements at the time of the recursive call, the data should be aggregated into a leaf. Xtrain and Xtest should be NDArrays (Numpy objects) where each row represents an X1, X2, X3\u2026 XN set of feature values. The columns are the features and the rows are the individual example instances. Y and Ytrain are single dimension NDArrays that indicate the value we are attempting to predict with X.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">Implement BagLearner (20 points)<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Implement Bootstrap Aggregating as a Python class named BagLearner. Your BagLearner class should be implemented in the file BagLearner.py. It should support EXACTLY, as illustrated in the example below. This API is designed so that BagLearner can accept any learner (e.g., RTLearner, LinRegLearner, even another BagLearner) as input and use it to generate a learner ensemble. Your BagLearner should support the following function\/method prototypes:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>[\/et_pb_text][et_pb_dmb_code_snippet code=&#8221;aW1wb3J0IEJhZ0xlYXJuZXIgYXMgYmwgCmxlYXJuZXIgPSBibC5CYWdMZWFybmVyKGxlYXJuZXIgPSBhbC5BcmJpdHJhcnlMZWFybmVyLCBrd2FyZ3MgPSB7ImFyZ3VtZW50MSI6MSwgImFyZ3VtZW50MiI6Mn0sIGJhZ3MgPSAyMCwgYm9vc3QgPSBGYWxzZSwgdmVyYm9zZSA9IEZhbHNlKSAKbGVhcm5lci5hZGRfZXZpZGVuY2UoWHRyYWluLCBZdHJhaW4pIApZID0gbGVhcm5lci5xdWVyeShYdGVzdCkg&#8221; _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]aW1wb3J0IEJhZ0xlYXJuZXIgYXMgYmwgCmxlYXJuZXIgPSBibC5CYWdMZWFybmVyKGxlYXJuZXIgPSBhbC5BcmJpdHJhcnlMZWFybmVyLCBrd2FyZ3MgPSB7ImFyZ3VtZW50MSI6MSwgImFyZ3VtZW50MiI6Mn0sIGJhZ3MgPSAyMCwgYm9vc3QgPSBGYWxzZSwgdmVyYm9zZSA9IEZhbHNlKSAKbGVhcm5lci5hZGRfZXZpZGVuY2UoWHRyYWluLCBZdHJhaW4pIApZID0gbGVhcm5lci5xdWVyeShYdGVzdCkg[\/et_pb_dmb_code_snippet][et_pb_text _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]<\/p>\n<p><span data-contrast=\"auto\"><span class=\"NormalTextRun  BCX4 SCXW186498877\">The <\/span><span class=\"NormalTextRun SpellingErrorV2  BCX4 SCXW186498877\">BagLearner<\/span><span class=\"NormalTextRun  BCX4 SCXW186498877\"> constructor takes five arguments: learner, <\/span><span class=\"NormalTextRun SpellingErrorV2  BCX4 SCXW186498877\">kwargs<\/span><span class=\"NormalTextRun  BCX4 SCXW186498877\">, bags, boost, and verbose. <\/span><span class=\"NormalTextRun  BCX4 SCXW186498877\">The learner points to the learning class that will be used in the <\/span><span class=\"NormalTextRun SpellingErrorV2  BCX4 SCXW186498877\">BagLearner<\/span><span class=\"NormalTextRun  BCX4 SCXW186498877\">. <\/span><span class=\"NormalTextRun  BCX4 SCXW186498877\">T<\/span><span class=\"NormalTextRun  BCX4 SCXW186498877\">he <\/span><span class=\"NormalTextRun SpellingErrorV2  BCX4 SCXW186498877\">BagLearner<\/span><span class=\"NormalTextRun  BCX4 SCXW186498877\"> should support <\/span><span class=\"NormalTextRun  BCX4 SCXW186498877\">any learner that<\/span><span class=\"NormalTextRun  BCX4 SCXW186498877\"> <\/span><span class=\"NormalTextRun  BCX4 SCXW186498877\">aligns with the API <\/span><span class=\"NormalTextRun  BCX4 SCXW186498877\">specification<\/span><span class=\"NormalTextRun  BCX4 SCXW186498877\">.<\/span><span class=\"NormalTextRun  BCX4 SCXW186498877\"> <\/span><span class=\"NormalTextRun  BCX4 SCXW186498877\">The \u201c<\/span><span class=\"NormalTextRun SpellingErrorV2  BCX4 SCXW186498877\">kwargs<\/span><span class=\"NormalTextRun  BCX4 SCXW186498877\">\u201d are keyword arguments that are passed on to the learner\u2019s constructor and they can vary according to the learner (see example below).<\/span><span class=\"NormalTextRun  BCX4 SCXW186498877\"> The \u201cbags\u201d argument is the number of learners you should train using Bootstrap Aggregation. If boost is true, then you should implement boosting (optional implementation). If verbose is True, your code can generate output; otherwise, the code should be silent.<\/span><\/span><\/p>\n<p><span style=\"text-decoration: line-through;\">Where learner is the learning class to use with bagging. You should be able to support any learning class that obeys the API defined above for DTLearner and RTLearner.\u00a0 \u201ckwargs\u201d are keyword arguments to be passed on to the learner\u2019s constructor and they vary according to the learner (see example below). The \u201cbags\u201d argument is the number of learners you should train using Bootstrap Aggregation. If boost is true, then you should implement boosting (optional). If verbose is True, your code can generate output. Otherwise, the code should be silent.\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">As an example, if we wanted to make a random forest of 20 Decision Trees with leaf_size 1 we might call BagLearner as follows:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>[\/et_pb_text][et_pb_dmb_code_snippet code=&#8221;aW1wb3J0IEJhZ0xlYXJuZXIgYXMgYmwgCmxlYXJuZXIgPSBibC5CYWdMZWFybmVyKGxlYXJuZXIgPSBkdC5EVExlYXJuZXIsIGt3YXJncyA9IHsibGVhZl9zaXplIjoxfSwgYmFncyA9IDIwLCBib29zdCA9IEZhbHNlLCB2ZXJib3NlID0gRmFsc2UpIApsZWFybmVyLmFkZF9ldmlkZW5jZShYdHJhaW4sIFl0cmFpbikgClkgPSBsZWFybmVyLnF1ZXJ5KFh0ZXN0KSA=&#8221; _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]aW1wb3J0IEJhZ0xlYXJuZXIgYXMgYmwgCmxlYXJuZXIgPSBibC5CYWdMZWFybmVyKGxlYXJuZXIgPSBkdC5EVExlYXJuZXIsIGt3YXJncyA9IHsibGVhZl9zaXplIjoxfSwgYmFncyA9IDIwLCBib29zdCA9IEZhbHNlLCB2ZXJib3NlID0gRmFsc2UpIApsZWFybmVyLmFkZF9ldmlkZW5jZShYdHJhaW4sIFl0cmFpbikgClkgPSBsZWFybmVyLnF1ZXJ5KFh0ZXN0KSA=[\/et_pb_dmb_code_snippet][et_pb_text _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]<\/p>\n<p><span data-contrast=\"auto\" xml:lang=\"EN-US\" lang=\"EN-US\" class=\"TextRun SCXW192410528 BCX4\"><span class=\"NormalTextRun SCXW192410528 BCX4\">As another example, if we wanted to build a bagged learner composed of 10 <\/span><span class=\"NormalTextRun SpellingErrorV2 SCXW192410528 BCX4\">LinRegLearners<\/span><span class=\"NormalTextRun SCXW192410528 BCX4\"> we might call <\/span><span class=\"NormalTextRun SpellingErrorV2 SCXW192410528 BCX4 SpellingErrorHighlight\">BagLearner<\/span><span class=\"NormalTextRun SCXW192410528 BCX4\"> as follows<\/span><span class=\"NormalTextRun SCXW192410528 BCX4\">:<\/span><\/span><span class=\"EOP SCXW192410528 BCX4\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>[\/et_pb_text][et_pb_dmb_code_snippet code=&#8221;aW1wb3J0IEJhZ0xlYXJuZXIgYXMgYmwgCmxlYXJuZXIgPSBibC5CYWdMZWFybmVyKGxlYXJuZXIgPSBscmwuTGluUmVnTGVhcm5lciwga3dhcmdzID0ge30sIGJhZ3MgPSAxMCwgYm9vc3QgPSBGYWxzZSwgdmVyYm9zZSA9IEZhbHNlKSAKbGVhcm5lci5hZGRfZXZpZGVuY2UoWHRyYWluLCBZdHJhaW4pIApZID0gbGVhcm5lci5xdWVyeShYdGVzdCkg&#8221; _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]aW1wb3J0IEJhZ0xlYXJuZXIgYXMgYmwgCmxlYXJuZXIgPSBibC5CYWdMZWFybmVyKGxlYXJuZXIgPSBscmwuTGluUmVnTGVhcm5lciwga3dhcmdzID0ge30sIGJhZ3MgPSAxMCwgYm9vc3QgPSBGYWxzZSwgdmVyYm9zZSA9IEZhbHNlKSAKbGVhcm5lci5hZGRfZXZpZGVuY2UoWHRyYWluLCBZdHJhaW4pIApZID0gbGVhcm5lci5xdWVyeShYdGVzdCkg[\/et_pb_dmb_code_snippet][et_pb_text _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]<\/p>\n<p><span data-contrast=\"auto\">Note that each bag should be trained on a different subset of the data. You will be penalized if this is not the case.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Boosting is an optional topic and not required. There is a citation in the Resources section that outlines a method of implementing boosting.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">If the training set contains n data items, each bag should contain n items as well. Note that because you should sample with replacement, some of the data items will be repeated.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">This code should not generate statistics or charts. If you want to create charts and statistics, you can modify\u202ftestlearner.py.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"><span data-contrast=\"auto\" xml:lang=\"EN-US\" lang=\"EN-US\" class=\"TextRun SCXW44743148 BCX4\"><span class=\"NormalTextRun SCXW44743148 BCX4\">You can use code like the below to instantiate several learners with the parameters listed in <\/span><span class=\"NormalTextRun SpellingErrorV2 SCXW44743148 BCX4\">kwargs<\/span><span class=\"NormalTextRun SCXW44743148 BCX4\">:<\/span><\/span><span class=\"EOP CommentStart SCXW44743148 BCX4\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/span><\/p>\n<p>[\/et_pb_text][et_pb_dmb_code_snippet code=&#8221;bGVhcm5lcnMgPSBbXSAKa3dhcmdzID0geyJrIjoxMH0gCmZvciBpIGluIHJhbmdlKDAsYmFncyk6IAogICAgbGVhcm5lcnMuYXBwZW5kKGxlYXJuZXIoKiprd2FyZ3MpKSA=&#8221; _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]bGVhcm5lcnMgPSBbXSAKa3dhcmdzID0geyJrIjoxMH0gCmZvciBpIGluIHJhbmdlKDAsYmFncyk6IAogICAgbGVhcm5lcnMuYXBwZW5kKGxlYXJuZXIoKiprd2FyZ3MpKSA=[\/et_pb_dmb_code_snippet][et_pb_text _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]<\/p>\n<h3><b><span data-contrast=\"auto\">Implement InsaneLearner (Up to 10 point penalty)<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Your BagLearner should be able to accept any learner object so long as the learner obeys the API defined above. We will test this in two ways: 1) By calling your BagLearner with an arbitrarily named class and 2) By having you implement InsaneLearner as described below. If your code dies in either case, you will lose 10 points. Note, the grading script only does a rudimentary check thus we will also manually inspect your code for correct implementation and grade accordingly.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Using your BagLearner class and the provided LinRegLearner class; implement InsaneLearner as follows:\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"22\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">InsaneLearner should contain 20 BagLearner instances where each instance is composed of 20 LinRegLearner instances.\u00a0<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">We should be able to call your InsaneLearner using the following API:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>[\/et_pb_text][et_pb_dmb_code_snippet code=&#8221;aW1wb3J0IEluc2FuZUxlYXJuZXIgYXMgaXQgCmxlYXJuZXIgPSBpdC5JbnNhbmVMZWFybmVyKHZlcmJvc2UgPSBGYWxzZSkgIyBjb25zdHJ1Y3RvciAKbGVhcm5lci5hZGRfZXZpZGVuY2UoWHRyYWluLCBZdHJhaW4pICMgdHJhaW5pbmcgc3RlcCAKWSA9IGxlYXJuZXIucXVlcnkoWHRlc3QpICMgcXVlcnkg&#8221; _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]aW1wb3J0IEluc2FuZUxlYXJuZXIgYXMgaXQgCmxlYXJuZXIgPSBpdC5JbnNhbmVMZWFybmVyKHZlcmJvc2UgPSBGYWxzZSkgIyBjb25zdHJ1Y3RvciAKbGVhcm5lci5hZGRfZXZpZGVuY2UoWHRyYWluLCBZdHJhaW4pICMgdHJhaW5pbmcgc3RlcCAKWSA9IGxlYXJuZXIucXVlcnkoWHRlc3QpICMgcXVlcnkg[\/et_pb_dmb_code_snippet][et_pb_text _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]<\/p>\n<p><span data-contrast=\"auto\"><span class=\"NormalTextRun SCXW165963619 BCX4\">The <\/span><span class=\"NormalTextRun SpellingErrorV2 SCXW165963619 BCX4\">InsaneLearner<\/span><span class=\"NormalTextRun SCXW165963619 BCX4\"> constructor takes one argument: verbose. <\/span><span class=\"NormalTextRun SCXW165963619 BCX4\">If verbose is True, your code can generate output; otherwise, the code should be silent.\u00a0<\/span>The code for InsaneLearner must be 20 lines or less. Each \u201c;\u201d in the code counts as one line. Every line that appears in the file\u00a0<span style=\"text-decoration: line-through;\">All lines<\/span> (except comments and empty lines) will be counted. There is no credit for this, but a penalty if it is not implemented correctly. Comment, if included, must appear at the end of the file.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">Implement author() (Up to 10 point penalty)<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">For all learners you submit (DT, RT, Bag, Insane) must implement a method called author() that returns your Georgia Tech user ID as a string. This must be implemented within\u202feach individual file\u202feven if using inheritance. It is not your 9 digit student number. Here is an example of how you might implement author() within a learner object:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>[\/et_pb_text][et_pb_dmb_code_snippet code=&#8221;Y2xhc3MgTGluUmVnTGVhcm5lcihvYmplY3QpOiAKIAogICAgZGVmIF9faW5pdF9fKHNlbGYpOiAKICAgICAgICBwYXNzICMgbW92ZSBhbG9uZywgdGhlc2UgYXJlbid0IHRoZSBkcm9uZXMgeW91J3JlIGxvb2tpbmcgZm9yIAogCiAgICBkZWYgYXV0aG9yKHNlbGYpOiAKICAgICAgICByZXR1cm4gJ3RiMzQnICMgcmVwbGFjZSB0YjM0IHdpdGggeW91ciBHZW9yZ2lhIFRlY2ggdXNlciBpZC4g&#8221; _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]Y2xhc3MgTGluUmVnTGVhcm5lcihvYmplY3QpOiAKIAogICAgZGVmIF9faW5pdF9fKHNlbGYpOiAKICAgICAgICBwYXNzICMgbW92ZSBhbG9uZywgdGhlc2UgYXJlbid0IHRoZSBkcm9uZXMgeW91J3JlIGxvb2tpbmcgZm9yIAogCiAgICBkZWYgYXV0aG9yKHNlbGYpOiAKICAgICAgICByZXR1cm4gJ3RiMzQnICMgcmVwbGFjZSB0YjM0IHdpdGggeW91ciBHZW9yZ2lhIFRlY2ggdXNlciBpZC4g[\/et_pb_dmb_code_snippet][et_pb_text _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]<\/p>\n<p><span data-contrast=\"none\" xml:lang=\"EN-US\" lang=\"EN-US\" class=\"TextRun SCXW213020145 BCX4\"><span class=\"NormalTextRun SCXW213020145 BCX4\">And here\u2019s an example of how it could be called from a testing program:<\/span><\/span><span class=\"EOP SCXW213020145 BCX4\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p>[\/et_pb_text][et_pb_dmb_code_snippet code=&#8221;IyBjcmVhdGUgYSBsZWFybmVyIGFuZCB0cmFpbiBpdCAKbGVhcm5lciA9IGxybC5MaW5SZWdMZWFybmVyKCkgIyBjcmVhdGUgYSBMaW5SZWdMZWFybmVyIApsZWFybmVyLmFkZF9ldmlkZW5jZSh0cmFpblgsIHRyYWluWSkgIyB0cmFpbiBpdCAKcHJpbnQobGVhcm5lci5hdXRob3IoKSkg&#8221; _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]IyBjcmVhdGUgYSBsZWFybmVyIGFuZCB0cmFpbiBpdCAKbGVhcm5lciA9IGxybC5MaW5SZWdMZWFybmVyKCkgIyBjcmVhdGUgYSBMaW5SZWdMZWFybmVyIApsZWFybmVyLmFkZF9ldmlkZW5jZSh0cmFpblgsIHRyYWluWSkgIyB0cmFpbiBpdCAKcHJpbnQobGVhcm5lci5hdXRob3IoKSkg[\/et_pb_dmb_code_snippet][et_pb_text _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]<\/p>\n<p><span data-contrast=\"auto\">Note that no points are awarded for implementing the author function, but a penalty will be applied if not present.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">Boosting (Optional Learning Activity \u2013 0 Points)<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Implement boosting as part of BagLearner. How does boosting affect performance compared to not boosting? Does overfitting occur as the number of bags with boosting increases? Create your own dataset for which overfitting occurs as the number of bags with boosting increases.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"33\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Submit your report regarding boosting as report-boosting.pdf<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<h3><b><span data-contrast=\"auto\">Implement testlearner.py<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Implement testlearner.py to perform the experiment and report analysis as required. This is intended to give a central location to complete the experiments, produce all necessary outputs, in a single standardized point.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"33\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">ONLY file submitted that produces outputs (e.g. charts, stats, calculations).<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"33\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">ONLY allowed to read data with the provided data reading routine (not allowed to use util.py data reading).<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"33\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">MUST run in under 10 minutes.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"33\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">MUST execute all experiments, charts, and data used for the report in a single run.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">Able to use a dataset other than Istanbul.csv if not explicitly stated but must adhere to the following run command EXACTLY regardless of the dataset used (you will have to read the other datasets internally):<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>[\/et_pb_text][et_pb_dmb_code_snippet code=&#8221;UFlUSE9OUEFUSD0uLi86LiBweXRob24gdGVzdGxlYXJuZXIucHkgRGF0YS9Jc3RhbmJ1bC5jc3Yg&#8221; _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]UFlUSE9OUEFUSD0uLi86LiBweXRob24gdGVzdGxlYXJuZXIucHkgRGF0YS9Jc3RhbmJ1bC5jc3Yg[\/et_pb_dmb_code_snippet][et_pb_text _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221; header_2_font=&#8221;|||on|on||||&#8221;]<\/p>\n<h2><b><span data-contrast=\"auto\">Technical Requirements<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">You must use a NumPy array (i.e., NDArray()), as shown in the course videos, to represent the decision tree. <\/span><b><span data-contrast=\"auto\">You may not use another data structure (e.g., node-based trees) to represent the decision tree.<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">You may not cast a variable of another data type (e.g., python list, Pandas data frame) into an NDArray.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Although Istanbul.csv is time-series data, you should ignore the date column and treat the dataset as a non-time series dataset. In this project, we are ignoring the time order aspect of the data and treating it as if it is static data and time does not matter. In a later project, we will make the transition to considering time-series data.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Files must be read using one of two approaches: 1) The open\/readline functions, an example of which is provided in the testlearner.py file, or 2) using NumPy\u2019s genfromtxt function, an example of which is used in the grade_learners.py file.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The charts must be generated as .png files (when executed using the command given above in these instructions) and should include any desired annotations. Charts must be properly annotated with legible and appropriately named labels, titles, and legends. Image files cannot be post-processed to add annotations or otherwise change the image prior to their inclusion into the report. The learner code files (DT, RT, etc.) you submit should NOT generate any output: No prints, no charts, etc. testlearner.py is the only file that should generate charts.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Watermarked Charts (i.e., where the GT Username appears over the line studies) can be shared in the designated pinned (e.g., \u201cProject 3- Student Charts\u201d) thread alone. Charts contained in reports or submitted for grading should not contain watermarks.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Your learners should be able to handle any number of feature dimensions in X from 2 to N.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Performance:\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"38\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">DTLearner tests must complete in 10 seconds each (e.g., 50 seconds for 5 tests)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"38\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">RTLearner tests must complete in 3 seconds each (e.g., 15 seconds for 5 tests<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"38\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">BagLearner tests must complete in 10 seconds each (e.g., 100 seconds for 10 tests)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"38\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">InsaneLearner must complete in 10 seconds each<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">If the \u201cverbose\u201d argument is True, your code can print out the information for debugging. If verbose = False your code must not generate ANY output other than the required charts. When we test your code, verbose will be False. The implementation must not display any text (except for \u201cwarning\u201d messages) on the screen\/console\/terminal when executed in Gradescope SUBMISSION.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><b><span data-contrast=\"auto\">Starter Code<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">To make it easier to get started on the project and focus on the concepts involved, you will be given a starter framework. This framework assumes you have already set up the <\/span><a href=\"http:\/\/lucylabs.gatech.edu\/ml4t\/summer2021\/local-environment\/\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">local environment<\/span><\/a><span data-contrast=\"auto\"> and <\/span><a href=\"http:\/\/lucylabs.gatech.edu\/ml4t\/summer2021\/software-setup\/\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">ML4T Software<\/span><\/a><span data-contrast=\"auto\">. The framework for Project 3 can be obtained from: <\/span><a href=\"https:\/\/www.dropbox.com\/s\/ij9q9thw8m7fwc4\/assess_learners_2021Sum.zip?dl=1\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">Assess_Learners2021Summer.zip<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Extract its contents into the base directory (e.g., ML4T_2021Summer). This will add a new folder called \u201cassess_learners\u201d to the course directly structure:\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;http:\/\/lucylabs.gatech.edu\/ml4t\/wp-content\/uploads\/2021\/05\/p3_file_structure.png&#8221; title_text=&#8221;p3_file_structure&#8221; align=&#8221;center&#8221; _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221; header_2_font=&#8221;|||on|on||||&#8221;]<\/p>\n<p><span data-contrast=\"auto\">Within the assess_learners folder are a folder and several files:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">.\/Data (folder)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">LinRegLearner.py<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">testlearner.py<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">grade_learners.py<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">The data files that your learners will use for this project are contained in the Data folder. (Note the distinction between the \u201c<\/span><span data-contrast=\"auto\">d<\/span><span data-contrast=\"auto\">ata\u201d folder created as part of the local environment and the \u201c<\/span><span data-contrast=\"auto\">D<\/span><span data-contrast=\"auto\">ata\u201d folder within the assess_learners folder that will be used in this assignment.) LinRegLearner is available for your use and must not be modified. However, you can use it as a template for implementing your learner classes. The testlearners.py file contains a simple testing scaffold that you can use to test your learners, which is useful for debugging. It must also be modified to run the experiments. The grade_learners.py file is a local pre-validation script that mirrors the script used in the Gradescope TESTING environment.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">You will need to create the learners using the following names:\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"20\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">DTLearner.py<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"20\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">RTLearner.py<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"20\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">BagLearner.py<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"20\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">InsaneLearner.py<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">In the assess_learners\/Data\/ directory you will find a number of datasets:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"21\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">3_groups.csv<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"21\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">ripple_.csv<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"21\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">simple.csv<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"21\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">winequality-red.csv<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"21\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">winequality-white.csv<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"21\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">winequality.names.txt<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"21\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Istanbul.csv<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">In these files, we have provided test data for you to use in determining the correctness of the output of your learners. Each data file contains N+1 columns: X1, X2, \u2026 XN, and Y.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"><\/span><\/p>\n<h2><b><span data-contrast=\"auto\">HINTS &amp; RESOURCES<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">\u201cOfficial\u201d course-based materials:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"35\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><a href=\"https:\/\/www.youtube.com\/watch?v=OBWL4oLT7Uc\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">How to use a decision tree if you have one (Balch Youtube video)<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:390}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"35\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><a href=\"https:\/\/www.youtube.com\/watch?v=WVc3cjvDHhw\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">How to build a decision tree &amp; Random Trees (Balch Youtube video)<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:390}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"35\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><a href=\"https:\/\/www.dropbox.com\/s\/1mfmrwrrgm9otia\/How-to-learn-a-decision-tree.pdf.zip?dl=1\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">Media:How-to-learn-a-decision-tree.pdf<\/span><\/a> <span data-contrast=\"auto\">Balch slides on decision trees<\/span><span data-ccp-props=\"{&quot;201341983&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:390}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"35\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><a href=\"https:\/\/www.dropbox.com\/s\/vwy1y0ikn2959zh\/Decision-tree-example.xlsx.zip?dl=1\" target=\"_blank\" rel=\"noopener\">Decision-tree-example.xlsx<\/a> <span data-contrast=\"auto\">Example tabular version of decision tree<\/span><span data-ccp-props=\"{&quot;201341983&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:390}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><span data-contrast=\"auto\">Additional supporting materials:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"36\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">You may be interested in looking at Andrew Moore\u2019s slides on<\/span><span data-contrast=\"none\">\u202f<\/span><a href=\"http:\/\/www.cs.cmu.edu\/~cga\/ai-course\/mbl.pdf\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">instance-based learning<\/span><\/a><span data-contrast=\"none\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:390}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"36\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">A definition of<\/span><span data-contrast=\"none\">\u202f<\/span><a href=\"http:\/\/mathworld.wolfram.com\/StatisticalCorrelation.html\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">correlation<\/span><\/a><span data-contrast=\"none\">\u202f<\/span><span data-contrast=\"auto\">is used to assess the quality of the learning.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:390}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"36\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><a href=\"https:\/\/en.wikipedia.org\/wiki\/Bootstrap_aggregating\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">Bootstrap Aggregating<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:390}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"36\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><a href=\"https:\/\/en.wikipedia.org\/wiki\/AdaBoost\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">AdaBoost<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:390}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"36\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><a href=\"https:\/\/numpy.org\/doc\/stable\/reference\/generated\/numpy.corrcoef.html?highlight=corrcoef#numpy.corrcoef\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">numpy corrcoef<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:390}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"36\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><a href=\"https:\/\/numpy.org\/doc\/stable\/reference\/generated\/numpy.argsort.html?highlight=argsort#numpy.argsort\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">numpy argsort<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:390}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"36\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><a href=\"http:\/\/en.wikipedia.org\/wiki\/Root_mean_square\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">RMS error<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:390}\">\u00a0<\/span><\/li>\n<\/ul>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.4.5&#8243;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.4.5&#8243;][et_pb_text _builder_version=&#8221;4.9.4&#8243; header_2_font=&#8221;|||on|on||||&#8221;]<\/p>\n<h2>Contents of Report<\/h2>\n<p><span data-contrast=\"auto\">The <\/span><b><span data-contrast=\"auto\">report.pdf<\/span><\/b><span data-contrast=\"auto\"> file will consist of a report (of a maximum of 7 pages, excluding references), written in <\/span><a href=\"https:\/\/drive.google.com\/drive\/folders\/1xDYIomn9e9FxbIeFcsclSbXHTtHROD1j\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">JDF Format<\/span><\/a><span data-contrast=\"auto\">. Any content beyond 7 pages will not be considered for a grade. At a minimum, the report must contain the following sections:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">Abstract<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">First, include an abstract that briefly introduces your work and gives context behind your investigation. Ideally, the abstract will fit into 50 words, but should not be more than 100 words.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">Introduction<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">The report should briefly describe the paper\u2019s justification. While the introduction may assume that the reader has some domain knowledge, it should assume that the reader is unfamiliar with the specifics of the assignment. The introduction should also present an initial hypothesis (or hypotheses).<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">Methods:\u00a0<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Discuss the setup of the experiment(s) in sufficient detail that <\/span><b><span data-contrast=\"auto\">an informed reader (someone with the familiarity of the field, but not the assignment) could set up and repeat the experiment(s)<\/span><\/b><span data-contrast=\"auto\"> you performed.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">Discussion:<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><b><span data-contrast=\"auto\">Experiment 1<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559685&quot;:720,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Research and discuss overfitting as observed in the experiment. (Use the dataset Istanbul.csv with DTLearner). Support your assertion with graphs\/charts. (Do not use bagging in Experiment 1). At a minimum, the following question(s) that must be answered in the discussion:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559685&quot;:720,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"31\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Does overfitting occur with respect to leaf_size?<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"31\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">For which values of leaf_size does overfitting occur? Indicate the starting point and the direction of overfitting. Support your answer in the discussion or analysis. Use RMSE as your metric for assessing overfitting.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><b><span data-contrast=\"auto\">Experiment 2<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559685&quot;:720,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Research and discuss the use of bagging and its effect on overfitting. (Again, use the dataset Istanbul.csv with DTLearner.) Provide charts to validate your conclusions. Use RMSE as your metric. At a minimum, the following questions(s) must be answered in the discussion.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559685&quot;:720,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"32\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Can bagging reduce overfitting with respect to leaf_size?\u00a0<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"32\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Can bagging eliminate overfitting with respect to leaf_size?<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">To investigate these questions, choose a fixed number of bags to use and vary leaf_size to evaluate. If there is overfitting, indicate the starting point and the direction of overfitting. Support your answer in the discussion or analysis.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559685&quot;:720,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"auto\">Experiment 3<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559685&quot;:720,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Quantitatively compare \u201cclassic\u201d decision trees (DTLearner) versus random trees (RTLearner). For this part of the report, you must conduct new experiments; do not use the results of Experiment 1. Importantly, RMSE and correlation are not allowed as metrics for this experiment.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559685&quot;:720,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Provide at least two new quantitative measures in the comparison.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559685&quot;:720,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"39\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Using two similar measures that illustrate the same broader metric does not count as two separate measures.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"39\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"2\"><span data-contrast=\"auto\">Note: Do not use two measures for the accuracy or use the same measurement for two different attributes \u2013 e.g., <\/span><b><span data-contrast=\"auto\">time<\/span><\/b><span data-contrast=\"auto\"> to train and <\/span><b><span data-contrast=\"auto\">time<\/span><\/b><span data-contrast=\"auto\"> to query are both time.)\u00a0<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"39\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Provide charts to support your conclusions.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"39\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">\u00a0At a minimum, the following question(s) must be answered in the discussion.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"39\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"2\"><span data-contrast=\"auto\">In which ways is one method better than the other?<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"39\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"2\"><span data-contrast=\"auto\">Which learner had better performance (based on your selected measures) and why do you think that was the case?<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"39\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"2\"><span data-contrast=\"auto\">Is one learner likely to always be superior to another (why or why not)?<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><b><span data-contrast=\"auto\">Summary<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The summary is an opportunity to synthesize and summarize the experiments. Ideally, it presents key findings and insights discovered during the research.\u00a0 It may also identify interesting areas for future investigation.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.4.5&#8243;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.4.5&#8243;][et_pb_text _builder_version=&#8221;4.9.4&#8243; header_2_font=&#8221;|||on|on||||&#8221;]<\/p>\n<h2>Testing<\/h2>\n<p><span data-contrast=\"auto\" xml:lang=\"EN-US\" lang=\"EN-US\" class=\"TextRun SCXW99649619 BCX4\"><span class=\"NormalTextRun SCXW99649619 BCX4\">To test your code, we will <\/span><span class=\"NormalTextRun SCXW99649619 BCX4\">invoke each of the function<\/span><span class=\"NormalTextRun SCXW99649619 BCX4\">s<\/span><span class=\"NormalTextRun SCXW99649619 BCX4\">. We will also run the testlearner.py file to run your experiments. <\/span><span class=\"NormalTextRun SCXW99649619 BCX4\">You are encouraged to perform any tests necessary to instill confidence that the code will run properly when submitted for grading and will produce the required results<\/span><span class=\"NormalTextRun SCXW99649619 BCX4\">. You should confirm that <\/span><span class=\"NormalTextRun SCXW99649619 BCX4\">testlearner.py runs as expected from the <\/span><span class=\"NormalTextRun SpellingErrorV2 SCXW99649619 BCX4\">assess_<\/span><span class=\"NormalTextRun SpellingErrorV2 SCXW99649619 BCX4\">learners<\/span><span class=\"NormalTextRun SCXW99649619 BCX4\"> folder since the following command illustrates how we will <\/span><span class=\"NormalTextRun SCXW99649619 BCX4\">run your experiments<\/span><span class=\"NormalTextRun SCXW99649619 BCX4\">:<\/span><\/span><span class=\"EOP SCXW99649619 BCX4\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>[\/et_pb_text][et_pb_dmb_code_snippet code=&#8221;UFlUSE9OUEFUSD0uLi86LiBweXRob24gdGVzdGxlYXJuZXIucHkgRGF0YS9Jc3RhbmJ1bC5jc3Yg&#8221; _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]UFlUSE9OUEFUSD0uLi86LiBweXRob24gdGVzdGxlYXJuZXIucHkgRGF0YS9Jc3RhbmJ1bC5jc3Yg[\/et_pb_dmb_code_snippet][et_pb_text _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]<\/p>\n<p><i><span data-contrast=\"auto\">Note: Once submitted for grading, we will use the above command to call the \u201c__main__\u201d section only. The program should run in its entirety and produce the necessary output and chart.<\/span><\/i><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Additionally, we have provided the grade_learners.py file that can be used for your tests. This file is the same script that will be run when the code is submitted to GradeScope TESTING. This file is not a complete test suite and does not match the more stringent private grader that is used in Gradescope SUBMISSION. To run and test that the file will run from within the assess_learners directory, use the command:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>[\/et_pb_text][et_pb_dmb_code_snippet code=&#8221;UFlUSE9OUEFUSD0uLi86LiBweXRob24gZ3JhZGVfbGVhcm5lcnMucHkg&#8221; _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]UFlUSE9OUEFUSD0uLi86LiBweXRob24gZ3JhZGVfbGVhcm5lcnMucHkg[\/et_pb_dmb_code_snippet][et_pb_text _builder_version=&#8221;4.9.4&#8243; _module_preset=&#8221;default&#8221;]<\/p>\n<p><span data-contrast=\"auto\">You are encouraged to submit your files to Gradescope TESTING, where some basic pre-validation tests will be performed against the code. Gradescope TESTING does not grade your assignment. No credit will be given for coding assignments that does not pass this pre-validation.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">You are allowed <\/span><b><span data-contrast=\"auto\">unlimited<\/span><\/b><span data-contrast=\"auto\"> resubmissions to Gradescope <\/span><b><span data-contrast=\"auto\">TESTING<\/span><\/b><span data-contrast=\"auto\">. Please refer to the <\/span><a href=\"http:\/\/lucylabs.gatech.edu\/ml4t\/summer2021\/gradescope\/\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">Gradescope Instructions<\/span><\/a><span data-contrast=\"auto\"> for more information.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.4.5&#8243;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.4.5&#8243;][et_pb_text _builder_version=&#8221;4.9.4&#8243; header_2_font=&#8221;|||on|on||||&#8221;]<\/p>\n<h2><span data-contrast=\"auto\" xml:lang=\"EN-US\" lang=\"EN-US\" class=\"TextRun SCXW13267122 BCX4\"><span class=\"NormalTextRun SCXW13267122 BCX4\">Submission Instructions<\/span><\/span><span class=\"EOP SCXW13267122 BCX4\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><b><span data-contrast=\"auto\">This is an individual assignment<\/span><\/b><span data-contrast=\"auto\">. All work you submit should be your own. Make sure to cite any sources you reference and use quotes and in-line citations to mark any direct quotes. Citations within code should be captured as\u00a0comments.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Late work is not accepted without advanced agreement except in cases of medical or family emergencies. In the case of such an emergency, please <\/span><a href=\"https:\/\/gatech-advocate.symplicity.com\/care_report\/index.php\/pid986879?\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">contact the Dean of Students<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">Report Submission<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Complete your assignment using the <\/span><a href=\"https:\/\/drive.google.com\/drive\/folders\/1xDYIomn9e9FxbIeFcsclSbXHTtHROD1j\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">JDF format<\/span><\/a><span data-contrast=\"auto\">, then save your submission as a PDF. The report is to be submitted as <\/span><b><span data-contrast=\"auto\">report.pdf. <\/span><\/b><span data-contrast=\"auto\">Assignments should be submitted to the corresponding assignment submission page in Canvas. You should submit a single PDF for this assignment. Please submit the following file to Canvas in PDF format only:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"8\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">report.pdf<\/span><\/b><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">Do not submit any other files. All charts must be included in the report, not submitted as separate files. Also note that when we run your submitted code, it should generate the charts contained in the report. Not submitting a report will result in a penalty.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">You are allowed unlimited submissions of the report.pdf file to Canvas.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">Code Submission<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">This class uses Gradescope, a server-side auto-grader, to evaluate your code submission. No credit will be given for code that does not run in this environment and students are encouraged to leverage Gradescope TESTING prior to submitting an assignment for grading.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Please submit the following files to Gradescope <\/span><span data-contrast=\"auto\">SUBMISSION<\/span><span data-contrast=\"auto\">:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">RTLearner.py<\/span><\/b><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">DTLearner.py<\/span><\/b><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">InsaneLearner.py<\/span><\/b><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">BagLearner.py<\/span><\/b><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">testlearner.py<\/span><\/b><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">Do not submit any other files.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">You are allowed a MAXIMUM of three (3) code submissions to Gradescope SUBMISSION.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.4.5&#8243;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.4.5&#8243;][et_pb_text _builder_version=&#8221;4.9.4&#8243; header_2_font=&#8221;|||on|on||||&#8221;]<\/p>\n<h2><b><span data-contrast=\"auto\">Grading Information<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">Your report is worth 50% of your grade. As such, it will be graded on a 50-point scale coinciding with a rubric design to mirror the questions above. Make sure to answer those questions. The submitted code (which is worth 50% of your grade) is run as a batch job after the project deadline. The code will be graded using a 5-point scale coinciding with a rubric design to mirror the implantation details above. Deductions will be applied for unmet implementation requirements or code that fails to run.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">We do not provide an explicit set timeline for returning grades, except that everything will be graded before the institute deadline (end of the term). As will be the case throughout the term, the grading team will work as quickly as possible to provide project feedback and grades. Once grades are released, any grade-related matters must follow the <\/span><a href=\"http:\/\/lucylabs.gatech.edu\/ml4t\/summer2021\/assignment-follow-up\/\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">Assignment Follow-Up<\/span><\/a><span data-contrast=\"auto\"> guidelines and process.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><b><span data-contrast=\"auto\">Rubric<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<ul><\/ul>\n<h3><b><span data-contrast=\"auto\">Report [50 Points]<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Is the report neat and well organized? (-5 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Is the experimental methodology and setup well described (up to -5 points per question if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Does the chart properly reflect the intent of the assignment? (up to -10 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">Does the chart include a properly labeled axis and legend? (up to -5 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Overfitting \/ leaf_size question:<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"2\"><span data-contrast=\"auto\">Are one or more charts provided to support the argument? (up to -5 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"2\"><span data-contrast=\"auto\">Does the student state where the region of overfitting occurs (or state that there is no overfitting)? (up to -5 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"2\"><span data-contrast=\"auto\">Are the starting point and direction of overfitting identified supported by the data (or if the student states that there is no overfitting, is that supported by the data)? (up to -5 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Does bagging reduce or eliminate overfitting?:<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"2\"><span data-contrast=\"auto\">Is a chart provided to support the argument? (-5 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"2\"><span data-contrast=\"auto\">Does the student state where the region of overfitting occurs (or state that there is no overfitting)? (up to -5 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"2\"><span data-contrast=\"auto\">Are the starting point and direction of overfitting identified supported by the data (or if the student states that there is no overfitting, is that supported by the data)? (up to -5 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Comparison of DT and RT learning<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"2\"><span data-contrast=\"auto\">Is each quantitative experiment explained well enough that someone else could reproduce it (up to -5 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"2\"><span data-contrast=\"auto\">Are there at least two new quantitative properties that are compared (do not use RMSE or correlation)? (-5 points if only one, -10 if none)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"o\" data-font=\"Courier New\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"2\"><span data-contrast=\"auto\">Is each conclusion regarding each comparison supported well with charts? (up to -10 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Was the report exceptionally well done? (up to +2 points)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Does the student\u2019s response indicate a lack of understanding of overfitting? (up to -10 points)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Were all charts provided generated in Python? (up to -20 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<h3><b><span data-contrast=\"auto\">Code<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Is the author() method correctly implemented for all files: DTLearner, InsaneLearner, BagLearner and RTLearner? (-10 points for each if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Is InsaneLearner correctly implemented in 20 lines or less **Please remove all blank lines and comments** (-10 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Does BagLearner work correctly with an arbitrarily named class (-10 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">Does BagLearner generate a different learner in each bag? (-10 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Are the learners implemented using a NumPy array (NDArray)?\u00a0 <\/span><b><span data-contrast=\"auto\">*No casting to an NDArray*<\/span><\/b><span data-contrast=\"auto\"> (-20 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Does the implemented code properly reflect the intent of the assignment? (-20 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Does the testlearner.py file run using PYTHONPATH=..\/:. python testlearner.py Data\/Istanbul.csv? (-20 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">Does testlearner.py run in under 10 minutes? (-20 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"5\" data-aria-level=\"1\"><span data-contrast=\"auto\">Does the code generate appropriate charts written to png files? DO NOT display charts on the screen. Do not use plt.show() and manually save your charts. The charts should be created and saved using Python code (-20 points if not)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<h3><b><span data-contrast=\"auto\">Auto-Grader [50 Points]<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">DTLearner in sample\/out of sample test, auto-grade 5 test cases (4 using istanbul.csv, 1 using another data set), 3 points each: 15 points.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">For each test 60% of the data will be selected at random for training and 40% will be selected for testing.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559685&quot;:1080,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Success criteria for each of the 5 tests:<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559685&quot;:1080,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Does the correlation between predicted and actual results for <\/span><b><span data-contrast=\"auto\">in-sample data<\/span><\/b><span data-contrast=\"auto\"> exceed 0.95 with leaf_size = 1?<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559685&quot;:1800,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Does the correlation between predicted and actual results for <\/span><b><span data-contrast=\"auto\">out-of-sample data<\/span><\/b><span data-contrast=\"auto\"> exceed 0.15 with leaf_size=1?<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559685&quot;:1800,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Is the correlation between predicted and actual results for <\/span><b><span data-contrast=\"auto\">in-sample data<\/span><\/b><span data-contrast=\"auto\"> below 0.95 with leaf_size = 50?<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559685&quot;:1800,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Does the test complete in less than 10 seconds (i.e. 50 seconds for all 5 tests)?<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">RTLearner in sample\/out of sample test, auto-grade 5 test cases (4 using istanbul.csv, 1 using another data set), 3 points each: 15 points.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">For each test 60% of the data will be selected at random for training and 40% will be selected for testing.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559685&quot;:1080,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Success criteria for each of the 5 tests:<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559685&quot;:1080,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Does the correlation between predicted and actual results for <\/span><b><span data-contrast=\"auto\">in-sample data<\/span><\/b><span data-contrast=\"auto\"> exceed 0.95 with leaf_size = 1?<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Does the correlation between predicted and actual results for <\/span><b><span data-contrast=\"auto\">out-of-sample data<\/span><\/b><span data-contrast=\"auto\"> exceed 0.15 with leaf_size=1?<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Is the correlation between predicted and actual results for <\/span><b><span data-contrast=\"auto\">in-sample data<\/span><\/b><span data-contrast=\"auto\"> below 0.95 with leaf_size = 50?<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Does the test complete in less than 3 seconds (i.e. 15 seconds for all 5 tests)?<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">BagLearner, auto-grade 10 test cases (8 using istanbul.csv, 2 using another data set), 2 points each 20 points<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">For each test 60% of the data will be selected at random for training and 40% will be selected for testing.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559685&quot;:1080,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">leaf_size = 20<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559685&quot;:1080,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Success criteria for each run of the 10 tests:<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">For out-of-sample data is a correlation with 1 bag lower than the correlation for 20 bags?<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Does the test complete in less than 10 seconds (i.e. 100 seconds for all 10 tests)?<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ol><\/ol>\n<ol><\/ol>\n<h2><b><span data-contrast=\"auto\">Allowed<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">You may set a specific random seed for this assignment. If a specific random seed is used, it must only be called once within the test_code() function and it must use your GT ID as the numeric value.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">You may use code written in other GT OMS courses if the following three conditions are met: 1) you are the 100% sole author of the code, 2) the code fully meets the requirements of this assignment, and 3) the code is properly cited and referenced.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">All libraries provided on the Local Environment setup page.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">All standard Python libraries (except the os library, which is prohibited)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" aria-setsize=\"-1\" data-aria-posinset=\"5\" data-aria-level=\"1\"><span data-contrast=\"auto\">Code provided by the instructor or allowed by the instructor to be shared.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Cheese.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<h2><b><span data-contrast=\"auto\">Prohibited<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Any other method of reading data besides testlearner.py<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Any libraries not listed in the \u201callowed\u201d section above.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">Any code you did not write yourself.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Any Classes (other than Random) that create their own instance variables for later use (e.g., learners like kdtree).<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Code that includes any data reading routines. The provided testlearner.py code reads data for you.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Code that generates any output to the screen\/console\/terminal (other run-time \u201cwarning\u201d messages) when verbose = False: No prints, no charts, etc.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">Extra directories (manually or code created)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" aria-setsize=\"-1\" data-aria-posinset=\"5\" data-aria-level=\"1\"><span data-contrast=\"auto\">Use of the Python os library\/module.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Use of global variables.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Use of any Machine Learning package of the library as the implementation.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Code that results in a window or chart being displayed (an example of which is Matplotlib\u2019s plt.show() function)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">Code that creates any directories<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" aria-setsize=\"-1\" data-aria-posinset=\"5\" data-aria-level=\"1\"><span data-contrast=\"auto\">Any code that you did not write yourself (except for properly cited code provided by the instructor).<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Absolute import statements, such as: <\/span><i><span data-contrast=\"auto\">from folder_name import optimization<\/span><\/i><span data-contrast=\"auto\">, where \u201cfolder_name\u201d is the path\/name of a folder or directory.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Any libraries not included as part of the Local Environment as provided on the Local Environment Setup page.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Editing (i.e., adding, changing, or deleting) above the line that reads: \u201c&#8212;&#8211;do not edit anything above this line&#8212;&#8220;.\u00a0<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">Textual output \u201cprinted\u201d to the terminal\/console.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" aria-setsize=\"-1\" data-aria-posinset=\"5\" data-aria-level=\"1\"><span data-contrast=\"auto\">Sharing of <\/span><span data-contrast=\"none\">tables<\/span><span data-contrast=\"auto\"> and <\/span><span data-contrast=\"none\">statistics<\/span><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<h2><b><span data-contrast=\"auto\">Relevant Resources<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">You may find the following resources useful in completing the project or in providing an in-depth discussion of the material.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Martelli, A. Ravenscroft, and S. Holden (2017), <\/span><a href=\"https:\/\/learning.oreilly.com\/library\/view\/python-in-a\/9781491913833\/\"><span data-contrast=\"none\">Python in a Nutshell, 3<\/span><span data-contrast=\"none\">rd<\/span><span data-contrast=\"none\"> Edition<\/span><\/a><\/p>\n<p><span data-contrast=\"auto\">James, D. Witten, T. Hastie, R. Tibshirani (2017), <\/span><a href=\"https:\/\/www.statlearning.com\/\"><span data-contrast=\"none\">An Introduction to Statistical Learning<\/span><\/a><span data-contrast=\"auto\"> (Chapters 2, 3, and 8)<\/span><\/p>\n<p><span data-contrast=\"auto\">Murphy, (2021), <\/span><a href=\"https:\/\/probml.github.io\/pml-book\/book1.html\"><span data-contrast=\"none\">Probabilistic Machine Learning: An Introduction<\/span><\/a><span data-contrast=\"auto\"> (Chapters 1, 11, and 18)<\/span><br \/><span data-contrast=\"auto\">Videos:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"19\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><a href=\"https:\/\/www.youtube.com\/watch?v=sjnV76u_Nvs&amp;list=PLPhC147aCdDHAjUsLgUmXxkmTmEUP3Gx3&amp;index=7\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">Decision Tree Videos<\/span><\/a><span data-contrast=\"auto\">, Charles Isbell and Michael Littman, Georgia Tech ML 7641<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"19\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><a href=\"https:\/\/www.cs.cmu.edu\/~ninamf\/courses\/601sp15\/video\/1.html\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">Decision Tree Video (Part 1, staring around 0:40 minutes)<\/span><\/a><span data-contrast=\"auto\">, Tom Mitchell, CMU 601<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"19\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><a href=\"https:\/\/www.cs.cmu.edu\/~ninamf\/courses\/601sp15\/video\/2.html\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">Decision Tree Video (Part 2)<\/span><\/a><span data-contrast=\"auto\">, Tom Mitchell, CMU 601<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<h2><b><span data-contrast=\"auto\">Acknowledgments and Citations<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">The data used in this assignment was provided by <\/span><a href=\"http:\/\/archive.ics.uci.edu\/ml\/datasets\/ISTANBUL+STOCK+EXCHANGE\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">UCI\u2019s ML Datasets<\/span><\/a><span data-contrast=\"auto\">.<\/span><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Project 3: Assess LearnersRevisions This assignment is subject to change up until 3 weeks prior to the due date. We do not anticipate changes; any changes will be logged in this section. 5\/27\/2021 Updated typo in the script command &#8216;Instanbul&#8217; to &#8216;Istanbul&#8217; 6\/1\/2021 Updated the Task &amp; Requirements section to further clarify the files necessary [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":1607,"menu_order":9,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"<!-- wp:divi\/placeholder \/-->","_et_gb_content_width":"","footnotes":""},"class_list":["post-1657","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lucylabs.gatech.edu\/ml4t\/wp-json\/wp\/v2\/pages\/1657","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lucylabs.gatech.edu\/ml4t\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lucylabs.gatech.edu\/ml4t\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lucylabs.gatech.edu\/ml4t\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/lucylabs.gatech.edu\/ml4t\/wp-json\/wp\/v2\/comments?post=1657"}],"version-history":[{"count":13,"href":"https:\/\/lucylabs.gatech.edu\/ml4t\/wp-json\/wp\/v2\/pages\/1657\/revisions"}],"predecessor-version":[{"id":1934,"href":"https:\/\/lucylabs.gatech.edu\/ml4t\/wp-json\/wp\/v2\/pages\/1657\/revisions\/1934"}],"up":[{"embeddable":true,"href":"https:\/\/lucylabs.gatech.edu\/ml4t\/wp-json\/wp\/v2\/pages\/1607"}],"wp:attachment":[{"href":"https:\/\/lucylabs.gatech.edu\/ml4t\/wp-json\/wp\/v2\/media?parent=1657"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}