Evaluate the machine learning algorithms

Assignment Help Python Programming
Reference no: EM133530003

Overview: The goal of this assignment is to read, understand, implement and evaluate the machine learning algorithms called Perceptron and Multi- Layer Perceptron.

You are encouraged to do this assignment in a pair. See below for the policy on 2-person assignments.
Note that this assignment is likely to involve effort over the full period that you have to do it.

You must write your own implementation from scratch and compare them against each other on same dataset and against a reference implementation of each from an open-source machine learning package.

Implementation Details:
You may use any programming/scripting language you wish, but it must be entirely your own work, NOT based in any part on an implementation found elsewhere.

You can use libraries for basic operations such as multiplying or inverting matrices, and for non-core operations such as plotting, but the implementation of your algorithm must be "from scratch" - you cannot just call an existing implementation in a library, nor modify/extend one. You may make any reasonable design decisions, and should document them (e.g. which activation function to use, or which loss function to use).

It must be possible to input training data and testing data to your program, for example from a file or files, in a reasonable format of your choosing. Your program must be able to handle different numbers of attributes and training cases. For testing data, it must be able to output predicted and actual values to a file.

To Test Your Program:
You will be provided with a file called wildfires.txt. The data is not splited into training, validation, and test sets. You need to do it yourself.
Columns are separated by tabs and rows are separated by newlines. Each row describes one instance in the dataset. The attributes are in columns in the following order: fire, year, temp, humidity, rainfall, drought_code, buildup_index, day, month, wind_speed.The goal of your classifier is to predict fire (which may be one of two classes: yes or no) based on the other attributes.You (or your program) should randomly divide the file e.g. 2/3 for training, 1/3 for testing. The training data are the cases your machine learning algorithm will use. It will attempt to classify the testing cases, and should compute the accuracy of classifications.This procedure should be repeated with different random divisions 5 times, and the individual results and average accuracy reported.You should test your own implementation and a reference implementation of the same algorithm. The reference implementation can be selected from any ML package of your choosing. The reference implementation should be trained and evaluated in the same way as your own implementation (i.e. randomly divide data e.g. in to 2/3 for training, 1/3 for testing; repeat 5 times).Report Contents (approximately 3-4 pages of main report plus code in anappendix):Names of the one or two team members, and your degree programme (e.g. 1MAI)A description of your algorithm and design decisionsYour tests and results: you should compare the results achieved by your implementations against reference implementations of the same algorithm.Conclusions and observationsIf a 2-person assignment, write down exactly what each person was responsible forYour code, attached as an appendix. Suggestion: to generate the code appendix, print your code files to .pdf from Notepad++, and then merge the code .pdf with your main report .pdfNote: if your report is excessively long, I reserve the right to stop reading/grading after 5 pages of the main report.Submission Instructions:

Note: you will lose marks if these submission instructions are not followed correctly. You must submit the report and your code separately:

1. Submit your report (including your code as an appendix) as a single PDF file to the Turnitin link below

2. Submit a separate .zip file with all of your source code files to the link below. This zip file should include all files needed to compile your solution, and nothing more: include source files, project files and external dependencies such as jars, but not any files that are recreated when your solution is compiled.

Policy on Two-Person Submissions:
You can work in pairs, but you cannot collaborate with other people in the class beyond that.

Your report documentation must include a section detailing what contributions each person made. It is not sufficient to say something along the lines of "we both worked on everything together": if you worked on some parts together, then please say so, but also identify the parts that you did separately (and there must be some).

Each person must do some of the coding. There must be comments (e.g., on every function) so that it is clear for every line of code who was responsible for it. I will not accept any statements that two people worked on one line of code.

I expect that people on a 2-person assignment each put in as much work as a person on a one-person assignment would.

Across all parts of the assignment, we may award different marks to each person doing a 2-person assignment, if we feel that their contributions are not of equal value.

If each person's contribution is not sufficiently clear, you are both likely to lose marks. Since the class is so large, I will not be able to get back to you to ask for clarification on who did what.

To avoid any version conflicts, only one of the two people must submit the assignment via Blackboard. It is therefore important to have both contributors' names and IDs on the report and code.

Policy on Plagiarism:

As you are all postgraduate students, I will treat any plagiarism (from another student or other sources) very seriously. If any aspect of your work is plagiarised or is otherwise dishonest, you will receive 0 for the full assignment.

Implementation: 1 for code with significant flaws; 4 for fully correct code of both; or in between.
Testing: 0 for no testing or couldn't get it to work; 3 for high quality and comprehensive tests,
Particularly high quality implementation and detailed report documenting all aspects as specified above: 3
A "particularly high quality" implementation may meet the criterion for one of many reasons, e.g.: very comprehensive in the algorithm options; nice user interface; an interesting choice of language or other implementation choice; or others.

"High quality and comprehensive tests" should include testing your implementation against a reference implementation. For example, you could present either a learning curve or ROC curve which could be used to compare the performance of your code against the chosen reference implementation. It's not necessary to write the code to generate a learning curve/ROC curve yourself - you could just generate the data and then plot it using a spreadsheet application such as Excel.

Reference no: EM133530003

Questions Cloud

Need bulk deliveries but cannot take full truckloads : The Dothan customer states they had to move the product to a smaller storage tank. They still need bulk deliveries but cannot take full truckloads.
What are indigenous roots-indigenous points of interest : "What are the Indigenous roots and Indigenous points of interest in my town?" Your target audience would be someone who is a visitor to your town.
What is wrong with a broken promise a consequentialist : Is your explanation of what's wrong with a broken promise a consequentialist or a non-consequentialist type of reasoning? Explain.
The Future of Same-Day Delivery : The Future of Same-Day Delivery-Same as the Past? Although home delivery of pizza has been successful for decades in the United States,
Evaluate the machine learning algorithms : understand, implement and evaluate the machine learning algorithms called Perceptron and Multi- Layer Perceptron
Discuss how applying a recovery-oriented model can benefit : Discuss how applying a recovery-oriented model can benefit Alejandro's journey towards wellness, fostering self-determination and improving his overall quality
Discuss how a public good is different than a private good : Explain what a public good is. Discuss how a public good is different than a private good. Discuss whether only government can supply a public good.
Customer preference and expansion of global market : How the opportunity risk of costco company is change in customer preference and expansion of global market.
Elements of realism or naturalism in the short story : What are some elements of realism or naturalism in the short story, "To Build a Fire," By Jack London.

Reviews

Write a Review

Python Programming Questions & Answers

  What questions would you ask key stakeholders

What questions would you ask key stakeholders and team members as you start the project

  Write python program to implement stack adt using lists

Write Python program to implement Stack ADT using both Lists and Linked Lists that includes the following operations: To add a data element in the stack.

  Write python code which will train and validate models

Your task is to write Python code which will train and validate the following two classification models: K-Nearest neighbour (KNN) classifier

  How would you write a function which takes input parameter

The Fibonacci sequence 1, 1, 2, 3, 5, 8, 13, 21...... starts with two 1s, and each term afterwards is the sum of its two predecessors.

  Describe an algorithm for a program that allows the club

Write a pseudocode to describe an algorithm for a program that allows the club to enter a member's name, gender and their age.

  Write a program that prompts the user for the numerator

Write a program that prompts the user for the numerator and denominator of an improper fraction, then displays the equivalent as a mixed number.

  Write a method that interprets the length of a time

Write a method that interprets the length of a Time as the number of seconds that have elapsed from midnight to the that time.

  Search the web for a real world graph

Perform the same type of work as outlined in the video for Lecture 20 and part 1 of Lecture 21 and the corresponding jupyter notebook

  Generate x sinx for x values ranging

You will need to use standard I/O and perhaps even copy and paste the output of the Python application to your graphing tool.

  Write a program that checks a user entered password

At least 1 special character You must have a separatefunction for the each of the five criteria above and a main function that allows the user to enter.

  Python function to calculate two roots

Write a Python function main() to calculate two roots. You must input a,b and c from keyboard, and then print two roots. Suppose the discriminant D= b2-4ac is positive.

  Write a program to convert kilometers to miles

Write a program to convert kilometers to miles. Define a function convert_to_miles to convert distance from kilometers to miles with the following formula.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd