代写KIT317 Assignment 3 2024代写留学生Python语言

KIT317 Assignment 3 2024

Assignment 3

Due: 11:59pm, Friday June 7th

Scenario

IoT devices collect data about the real world to help us make better decisions with that data. Raw data isn’t particularly helpful, so we analyse data to try it into more meaningful information. Sometimes we want to use this data not just to tell us about the past, but also to make inferences about the future.

In this assignment, we are going to use machine learning trained on historic weather data to make an inference about the future. You have been provided with a data set consisting of weather data for 5 sites. The data covers temperature, humidity and wind observations that were recorded every half hour for almost 6 years per site.

This data will be used to create a simple IoT enabled ‘light’ device that uses machine learning to predict what the days weather conditions should be and compare it against the current reading. This will consist of a simulated IoT hardware device (using the SenseHat emulator) and a server that runs the machine learning algorithms and offers more detailed information for the selected day.

Please note:

· The size of these data sets is quite large. The weather data is provided in xlsx format and will need to be cleaned up and converted to a suitable format before you can use it in your program – you should discard any data that you don’t need to reduce the amount of time it will take to train your models.

· The data set includes data from 2015 – 2021 inclusive, but 2021 does not contain the full year. Your predictions should be for the year 2022.

· While this project shares some similarities with the first assignment, this is a separate device and does not need to implement any of the functionality from that device.

Specification

Your IoT device should:

· Allow the user to input a date (day and month) and a site number, using the keys on the front of the device.

o Press the middle key to enter date entry mode. Press left and right to switch between day and month. Use scrolling text to indicate which mode you are in. Press up and down to change the day or month. Press the middle key to save the date and return to normal operation mode.

o Your date should also include 2022 as the year – this is the next year outside of the data set.

o Your site number indicates the location of the IoT device from among the 5 provided data sets.

· Send the date to your server and return the predicted minimum and maximum temperature, the predicted minimum and maximum humidity for the given date, and the name of the location as per the location ID.

o Print these predicted values and location name to the terminal.

· While in normal mode, if the date has been set and a prediction returned, the device should visualize whether the current temperature and humidity is within the predictions for this day.

o Press left and right to switch between temperature and humidity mode.

§ Indicate changes between these two modes using scrolling text.

o Change the colour of the screen to red if the current temperature/humidity is higher or lower than the prediction, and green if it is within the current temperature prediction mode.

o As the temperature changes on your sensehat, so should these visual indications.

§ Temperature and humidity measurements are local only and do not need to be sent to the server.

· All scrolling text messages should scroll quickly at 0.05 to reduce time taken to setup and use the device.

Your server should:

· Accept the date and location ID from the IoT device and store in an XML file for later access.

· Use machine learning to return a prediction to the IoT device.

o You should return a predicted maximum and minimum temperature and a maximum and minimum humidity.

o Your prediction should use PHP-ML to train a model based on the historic data (from the supplied data set) for the selected date.

§ Select an appropriate ML method and train it with the appropriate samples from the provided data sets to generate the above predictions.

· Your server should also provide a view that shows more information about the selected date. This information should be based on the data recorded in the data set.

o Using the last stored date, generate a graph (using CanvasJS) that shows the average temperatures for the selected date in half hour increments. Below the graph you should display the predicted minimum and maximum temperatures (for the whole day).

o Using the last stored date, generate a graph (using CanvasJS) that shows the average humidity for the selected date in half hour increments. Below the graph you should display the predicted minimum and maximum humidity (for the whole day).

o This should be rendered as two separate graphs, with a way to switch between the views.

o The locations name and the type of data shown should be included as the graph title.

Documentation:

· A diagram explaining how data flows in your system. (2 marks)

· Write a brief explanation (1 paragraph) explaining your choice of machine learning algorithm, the training data you needed to supply it, and any steps you had to take to sample that data from the data sets. (2 marks)

· Comment on the accuracy of the predictions that your system returns, and what could be done to improve them. (1 paragraph) (2 marks)

Demonstration 2 marks

Along with your code (zipped), you should record a quick video that demonstrates your system. Your video should be a screen recording, whereby you demonstrate your virtual machine environment, showing off all the features of your webserver running in a browser. In your video, you should talk through the features as you demonstrate them to the marker.

Your demonstration should show you:

· Setting a date on the IoT device.

· The printed response in the terminal.

· The colour of the lights changing as you adjust the temperature and humidity sliders.

· Your webserver visualizing the temperature and humidity graphs for the selected date.

· Your demonstration should be recorded as a screen capture, as per the instructions on Mylo.

Marking Scheme

The assignment submission will include:

· Your code for the IoT device (python), server (php) and your cleaned data set as a zip file.

· Your documentation, including your diagram and your explanation of ML methods/accuracy.

· A video demonstration of the system, as a screen capture.

Please submit this as 3 separate files (zip, document/image and video) via Mylo, as this will make the markers life much easier.

Your IoT system allows a user to send a date and location to the server

· Enters setup mode, allows date and location to be set, sends data and location ID to the server, exits and enters normal operation mode.

3

· Partially implemented, but fails one or more of the above

1

· Not implemented

0

Your IoT system

· Reads the current temperature and humidity, displays the correct status colour, switches between the two modes(temp/humidity), visual indicates the mode.

3

· Partially implemented, but fails one or more of the above

1

· Not implemented

0

Your server accepts a date and ID from the IoT device

· Your server accepts a date and location ID, stores this information as an XML file, returns a prediction to the server

2

· Partially implemented, but fails one or more of the above

1

· Not implemented

0

Your server uses machine learning to predict that days temp/humidity ranges for the selected date and location ID.

· Sample the appropriate data from the data set, use an appropriate machine learning algorithm, train a machine learning model, predict the min/max temp and humidity for the location ID, returns a reasonably accurate result.

5

· Partially implemented, but fails one or more of the above

3

· Partially implemented, but fails two or more of the above

1

· Not Implemented

0

Your webserver visualizes data

· Reads the date and ID from the XML, reads the half hourly temperature and humidity for those dates and ID from the data set, calculates an average for each half hour increment, graphs the data as two separate graphs (with a sway to switch between them).

4

· Partially implemented, but fails one or more of the above

2

· Partially implemented, but fails two or more of the above

1

· Not implemented

0

Demonstration

2

Diagram

2

Explanation of ML choice

2

Discussion of Accuracy

2




热门主题

课程名

litr1-uc6201.200 ee1102 econ42915 cb9101 math1102e chme0017 fc307 mkt60104 5522usst cosc2803 math39512 omp9727 ddes9903 babs2202 mis2002s phya21 18-213 cege0012 mgt253 fc021 int2067/int5051 bsb151 math38032 mech5125 mdia1002 cisc102 07 mgx3110 cs240 11175 fin3020s eco3420 ictten622 comp9727 cpt111 de114102d mgm320h5s bafi1019 efim20036 mn-3503 comp9414 math21112 fins5568 comp4337 bcpm000028 info6030 inft6800 bcpm0054 comp(2041|9044) 110.807 bma0092 cs365 math20212 ce335 math2010 ec3450 comm1170 cenv6141 ftec5580 ecmt1010 csci-ua.0480-003 econ12-200 ectb60h3f cs247—assignment ib3960 tk3163 ics3u ib3j80 comp20008 comp9334 eppd1063 acct2343 cct109 isys1055/3412 econ7230 msinm014/msing014/msing014b math2014 math350-real eec180 stat141b econ2101 fit2004 comp643 bu1002 cm2030 mn7182sr ectb60h3s ib2d30 ohss7000 fit3175 econ20120/econ30320 acct7104 compsci 369 math226 127.241 info1110 37007 math137a mgt4701 comm1180 fc300 ectb60h3 llp120 bio99 econ7030 csse2310/csse7231 comm1190 125.330 110.309 csc3100 bu1007 comp 636 qbus3600 compx222 stat437 kit317 hw1 ag942 fit3139 115.213 ipa61006 econ214 envm7512 6010acc fit4005 fins5542 slsp5360m 119729 cs148 hld-4267-r comp4002/gam cava1001 or4023 cosc2758/cosc2938 cse140 fu010055 csci410 finc3017 comp9417 fsc60504 24309 bsys702 mgec61 cive9831m pubh5010 5bus1037 info90004 p6769 bsan3209 plana4310 caes1000 econ0060 ap/adms4540 ast101h5f plan6392 625.609.81 csmai21 fnce6012 misy262 ifb106tc csci910 502it comp603/ense600 4035 csca08 8iar101 bsd131 msci242l csci 4261 elec51020 blaw1002 ec3044 acct40115 csi2108–cryptographic 158225 7014mhr econ60822 ecn302 philo225-24a acst2001 fit9132 comp1117b ad654 comp3221 st332 cs170 econ0033 engr228-digital law-10027u fit5057 ve311 sle210 n1608 msim3101 badp2003 mth002 6012acc 072243a 3809ict amath 483
联系我们
EMail: 99515681@qq.com
QQ: 99515681
留学生作业帮-留学生的知心伴侣!
工作时间:08:00-21:00
python代写
微信客服:codinghelp
站长地图