# Help With KIT108Python Programming

Page 1 KIT108 Artificial Intelligence
Generated by Akari

KIT108
ARTIFICIAL INTELLIGENCE
Assignment
Stage 1 submission: Due 23.59PM Wednesday 27th May 2020 (already includes a 5 day
extension)
Stage 2 submission: Due 23.59PM Sunday 07th June 2020 (already includes a 5 day extension)
STOCK PRICE PREDICTION
Description
In this assignment, we will apply machine learning techniques learned in the lectures
and tutorials to predict the highest price of a stock in the next day.

1. The date - "Date"
2. The opening price of the stock - "Open"
3. The low price of that day - "Low"
4. The closed price of that day - "Close"
5. The amount of stocks traded during that day - "Volume"
Page 2 KIT108 Artificial Intelligence
Generated by Akari
6. The high price of next day - "Next High"

Part A: Programming- 70%
In this task, you will train an AI model using the open price, the low price, and the
volume of a day to predict the high price on the next day. In this task you need to
design a RapidMiner process OR Python program to:
2. Identify irrelevant information from the data and filter it out to construct
the target data. Explain in the report how you do this.
3. Identify the number of missing values in each attribute. Explain in the
report.
4. Fill the missing values by using the techniques you have learned. Explain
the way you handled this issue in the report.
5. Normalise the data so that all attributes are in the same range. Explain what
method you used and what your chosen range was in the report. NOTE:
DON’T NORMALISE THE TARGET (LABEL) ATTRIBUTE.
6. Decide your own strategy to train, evaluate a model from the data from
stock_data.csv.
7. Design your own strategy to select the best model.
8. Apply the selected model to the data in predict_stock_data.csv. This data
does not have the label and you have to generate the predicted value for the
high price. Export the predicted high price in to a csv file using your
student ID (for example 342435.csv).
When you complete the step 8, you will do stage-1 submission in week 13 (see below)
to score the performance of your model.
Part B: Analysis- 30%
You will receive the performance score after week 13 and the ground truths. You will
need to revise your design to:
- Explain why your model is good or bad. Write it in the report.
- What will you do to improve the prediction results if your model is scored as
“NOT GOOD”. Write this in the report. Those whose models are scored as
“GOOD” do not need to do this step.
Page 3 KIT108 Artificial Intelligence
Generated by Akari
Evaluation of the assignment
See Page 7 and Page 8 for the details of the evaluation criteria.
How What to submit.
Assignments will be submitted via MyLO (an Assignment submission will be created).
Stage 1 submission (week 13):
• An XML file for your design OR a python source code, the file is named using
your student ID (for example, 342435.xml or 342435.py)
• The predicted output in a csv format. The file must be named using your
student ID (for example 342435.csv).
After stage 1 submission, you will receive the score (GOOD or NOT GOOD) for
the model, from which you will complete a report for the stage 2 submission.
Stage 2 submission (week 15):
• A report file (docx or pdf) using the provided template (see the attached file)

Appendix 01: How to export an XML file for the model with RapidMiner

• Click File -> Export Process
• Choose save path -> Name file with ID -> Select Process File (*.xml)
NOTE: YOU NEED TO CHECK YOUR XML FILE BEFORE SUMISSION, FOR
EXAMPLE BY CLOSING RAPIDMINER STUDIO THEN OPENNING IT AGAIN

Page 4 KIT108 Artificial Intelligence
Generated by Akari

Appendix 02: How to export an csv file for the predicted output using RapidMiner

• Use Select Attributes operator to filter output with only predicted high
price attributes left
• Put Write CSV operator and connect with the filtered output
• Set csv file path
• Use symbol “,” for column separator
• Unselect quote nominal values
• Run process and output csv file
Plagiarism
Plagiarism is a form of cheating. It is taking and using someone else's
thoughts, writings or inventions and representing them as your own; for
example, using an author's words without putting them in quotation
marks and citing the source, using an author's ideas without proper
acknowledgement and citation, copying another student's work.
If you have any doubts about how to refer to the work of others in your
guidelines. You may also find the Academic Honesty site on MyLO of
assistance.
Page 5 KIT108 Artificial Intelligence
Generated by Akari
The intentional copying of someone else’s work as one’s own is a serious
offence punishable by penalties that may range from a fine or
deduction/cancellation of marks and, in the most serious of cases, to
exclusion from a unit, a course or the University.
The University and any persons authorised by the University may
submit your assessable works to a plagiarism checking service, to
obtain a report on possible instances of plagiarism. Assessable
works may also be included in a reference database. It is a
condition of this arrangement that the original author’s
permission is required before a work within the database can be
viewed.
For further information on this statement and general referencing guidelines, see the
Plagiarism and Academic Integrity page on the University web site or the Academic
Honesty site on MyLO.
Academic misconduct includes cheating, plagiarism, allowing another student to copy
work for an assignment or an examination, and any other conduct by which a student:
a. seeks to gain, for themselves or for any other person, any academic advantage
or advancement to which they or that other person are not entitled; or
b. improperly disadvantages any other student.
Students engaging in any form of academic misconduct may be dealt with under the
Ordinance of Student Discipline, and this can include the imposition of penalties that
range from a deduction/cancellation of marks to exclusion from a unit or the
University. Details of penalties that can be imposed are available in Ordinance 9:
Student Discipline – Part 3 Academic Misconduct.
Page 6 KIT108 Artificial Intelligence
Generated by Akari
KIT108 ARTIFICIAL INTELLIGENCE: MAJOR ASSIGNMENT
Synopsis of the task and its context
This is an individual assignment making up 20% of the overall unit assessment. The assessment criteria for this task are:
1) Apply machine learning pipeline to solve a real-world problem.
a) Identify relevant data
b) Process and clean data
c) Transform data
d) Apply and select machine learning techniques
e) Analysis of the results.
f) Identify the best technique for this problem.
Match between learning outcomes and criteria for the task:
Unit learning outcomes
On successful completion of this unit… Task criteria:
1. understand the local and global impact of AI on individuals, organizations, and society 2
2. adapt and apply techniques for acquiring, representing, and reasoning with data, information, and knowledge 1
3. select and effectively apply techniques to develop simple AI solutions 1
4. analyze a problem, apply knowledge of AI principles, and use ICT technical skills to develop potential solutions 1, 2
5. evaluate strengths and weaknesses of potential AI solutions 1, 2

Page 7 KIT108 Artificial Intelligence
Generated by Akari
Criteria HD (High Distinction) DN (Distinction) CR (Credit) PP (Pass) NN (Fail)
1. Machine learning pipeline
a) Data collection (10%) Load the data and choose the
irrelevant attribute (date) and be
able to perform removal of that
attribute from the original dataset.
the irrelevant attribute
date, but also identify and
remove one attribute
wrongly.
the irrelevant attribute
date, but also identify and
remove more than one
attribute wrongly.
the irrelevant attribute.
b) Data processing (10%) Fill all the missing values and
explain clearly the technique used
to do that.
Fill all the missing values
and can explain technique
used to do that with minor
mistakes.
Fill all the missing values
but cannot explain the
techniques correctly.
Fill all the missing values
but do not explain the
techniques (no attempt).
Cannot fill all the
missing values.
c) Data transformation
(10%)
Correctly normalise all the
attributes into a range, except for
the target attribute (next high).
Correctly normalise all the
attributes into a range but
mistakenly normalise the
target attribute (next high).
Correctly normalise some
of the attributes into a
range, except the target
attribute (next high).
Correctly normalise some
of the attributes into a
range but mistakenly
normalise the target
attribute (next high).
Cannot normalise the
data.
d) Data Mining (30%) Correctly use more than 2 models
to select the best model to
generate a prediction result from
the predict_stock_data.scv. The
selection process is explained
correctly.
Correctly use more than 2
models to select the best
model to generate a
prediction result from the
predict_stock_data.scv. The
selection process is
explained with some
mistakes.
Correctly use more than 1
models to select the best
model to generate a
prediction result from the
predict_stock_data.scv. The
selection process is
explained with some
mistakes.
Correctly use only 1
model to generate a
prediction result from the
predict_stock_data.scv.
Cannot apply a model
for the prediction.
e) Pattern Evaluation
(10%)
Correctly design the evaluation
step and choose a relevant
evaluation metric.
Design the evaluation step
and choose a relevant
evaluation metric with
some minor mistakes.
Design the evaluation step
but using a wrong
evaluation metric.
Design a wrong
evaluation step and use a
wrong evaluation metric
but the system can still
run.
Cannot evaluate a
model.
2. Analysis (30%)
Page 8 KIT108 Artificial Intelligence
Generated by Akari
a) Explain why the
submitted model works
Explain correctly why the selected
model gave good or bad results
using the evaluation score and the
ground truth given after the stage 1
submission.
Explain with minor
mistakes why the selected
results using the evaluation
score and the ground truth
given after the stage 1
submission.
Explain why the selected
results, partly using the
evaluation score and the
ground truth given after the
stage 1 submission.
Explain why the selected
model works gave good or
using the evaluation score
and the ground truth
given after the stage 1
submission.
Cannot provide any
explanation.
b) Make a GOOD model
(15%)
evaluation score after stage 1
submission. OR
Explain correctly how to improve
the performance using the ground
truth. Provide evidence for the
explanation (i.e. new results)
Explain correctly how to
improve the performance
using the ground truth.
Evidence for the
explanation is not provided.
Explain how to improve the
performance using the
ground truth with minor
mistake.
Attempt to explain how
to improve the
performance.
No attempt