Giter VIP home page Giter VIP logo

uncg-cse / library-computer-usage-analysis Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 57.39 MB

The University Libraries at UNCG currently track the state of a computer, determining whether or not a particular computer is in use. This data is compiled into a database, and a web app pulls from this database to show a map and number of available computers. As of Fall 2017, the data had not been used to determine which computers are used more frequently, aside from counting the number of times a computer transitions into/away from the 'in-use' state. This project attempts to correlate the usage of these computers with various factors, including: campus scheduling, equipment configuration, placement, population in the library, and area weather. Using this data, this project also uses machine learning to determine the best placement of computers for future allocation, and possible reconfiguration of equipment and space.

Jupyter Notebook 97.28% Python 2.72%

library-computer-usage-analysis's People

Contributors

brownworth avatar patriciatanzer avatar smindinvern avatar somyamohanty avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mtellis2

library-computer-usage-analysis's Issues

Computer Usage per hour

A function?

Find which computers are used most often for any given hourly period:
Find what total percentage of computers are in use for any given hourly period

THIS IS MAJOR. Most of our weather data is in hourly format, so this is our main comparion

Update master

As we're being graded again in two days, we probably should update master at least by the morning of the 20th, if not the night before.

Let's commit whatever we want in master to develop by that point.

Final Project Elements

Per https://uncg.instructure.com/courses/40864/assignments/syllabus we need to have completed the following (emphasis mine):

Final Project: The final project will be a team based data-science project utilizing available public data sets. In the first week of the course, the students split into teams and will be presented with a set of tentative project ideas to choose from. Novel ideas for projects will be awarded with a 5% bonus grading. After completing each course topic, the teams will have to give a short presentation (3-5 mins) and a report (1 page) of their progress with the project. The projects will be open-source and the teams will have to use GitHub as their code repository. Upon completion of the project the teams will present their software along with the results in form of a presentation (20 minutes) in the class. The teams will also prepare a poster of their project outlining the methodologies, visualizations, and results of their project. The teams will present their posters in a seminar accessible to other students and faculty at the Computer Science and Engineering Department. In addition to the poster presentation, graduate students will have to write a technical paper (minimum 5 pages, template at http://www.ieee.org/documents/trans_jour.docx (Links to an external site.)Links to an external site.) on their assigned project.

Elements highlighted:

  • Short presentation (3-5 mins) (I believe we've done these)
  • Report (1 page) (were we supposed to have done these?)
  • Presentation (20 minutes)
  • Poster
  • Technical Paper (5 pages, CSC693 only)

To import, or not to import

I think that we had some marginal consensus that creating import libs is fine, under certain circumstances and with some conditions? Please correct me if I'm mistaken.

I'd suggest the import routines be broken out so that they can be used by multiple notebooks, as we all seem to be working mostly in separate notebooks at this point. Other than that there doesn't seem to be a whole lot of code that would benefit from this kind of modularization.

Functions in notebook

In interest of making reading easier, I have a suggestion.

I've altered the first part of the GSOWeather.ipynb notebook in the manner I'm suggesting so you can see. In this case I've made a display method which takes an array as an argument, which can be fetched by either of our getWeather methods (one says All, and another says Hourly). The rest of the notebook can be easily altered in a similar manner. This is just to make it easier to maintain in the future. Thoughts?

Using suspect data

As mentioned in issue #21, some of the NOAA data is marked as suspect. How do we want to handle this?

Computers that don't exist

As I'm looking at our utilization data, I think some statistics might be really low because we are including all the years for which usage doesn't exist. For example, it doesn't look as if BL001 was every in use in 2010, and I think that's because we didn't even have it at the time. But entries do exists - those entries are 0.0, not NaN. (I'm talking about the pickled data from LibData.pkl).

Do we have some dates for when computers were purchased/added to libraries? I think we should add code to discard entries for those computers before said dates and see if anything changes.

Communication

As mentioned in our meeting today, we can communicate a number of different ways. I'm comfortable with the following, but this is by-no-means an exhaustive, or even ordered, list of what I'm willing to use. Please mention in the comments if there is something missing, or if you have preferences towards a particular (mentioned or unmentioned) tool.

  • GitHub Issues (like this)
  • Gmail/Google Talk/Google Hangouts
  • Slack
  • Trello (I pay for the gold version)
  • In class

Any thoughts?

Presentation

I'm going to start work on the .pwp document we already have this evening, ideas one what we should include?

Data Visualization

This is beginning a discussion on what is needed for the visualization within this project.

Presentation on Nov. 27

Prof. Mohanty suggested in class yesterday (Nov. 6) that we could present our project to a group of professionals on Nov. 27. It's the same day as the senior project presentations and some of those people will be looking at both sets of projects, and would be around 11am. If we participate, two of us would give about a 20 minute presentation. It's good exposure, and Prof. Mohanty said he could also make sure that (for example) the dean of libraries Dr. Martin Halbert was there, which would be good since our project particularly pertains to that and would ensure that it is seen.

It's right before exams, so we should have the project 90% completed by then. I'm down for it, what do you guys think? If we're going forward with it I'll need to email him by tomorrow morning.

Add all data to repo

Specifically it looks like there is only one day's worth of machine usage data.

Labels for computers

Need to label each library computer with 'window', 'dual monitor', 'quiet floor', or any combination of the three.

How to revert

Does anyone know how to revert a specific commit in master? I pushed to the wrong branch.

On the bright side, it's just develop with a few more lines in the GSO Weather file.

Test develop

We need to test our code in develop before merging into master - master is the gold standard that we really, really, don't want to screw up. Brown, do you have a test program in place? If not, can you respond with how you run your code so that we can look at it?

Computer usage per day

A function?

Find which computers used most total time per day (more than a certain amount of time?)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.