Difference between revisions of "Introduction to Data Science I"
(→Timeline (Tentative)) |
Dan Lizotte (talk | contribs) m (→Course outline for COMPSCI 4414A/9637A/9114A) |
||
(41 intermediate revisions by 22 users not shown) | |||
Line 1: | Line 1: | ||
− | |||
− | |||
== Course outline for COMPSCI 4414A/9637A/9114A == | == Course outline for COMPSCI 4414A/9637A/9114A == | ||
'''The University of Western Ontario<br />''' | '''The University of Western Ontario<br />''' | ||
'''London, Ontario, Canada<br />''' | '''London, Ontario, Canada<br />''' | ||
'''Department of Computer Science<br />''' | '''Department of Computer Science<br />''' | ||
− | '''Course Outline - Fall (September - December) | + | '''Course Outline - Fall (September - December) 2018<br />''' |
+ | |||
+ | <span style="color:#EE0000">This is a very high-demand course that interests students in various programs across campus. The diversity of backgrounds assembled in the class makes for a better learning experience for all; however, space is limited. Because of the volume of requests I receive, I am not able to manage a wait list. '''All students who wish to register for the course must submit a written a 1/2 page proposal sketch on the project they would like to pursue to the [https://owl.uwo.ca/x/V3CrNO OWL site] "Intro to Data Science I - Enrolment Applications."'''</span> | ||
+ | |||
+ | <span style="color:#EE0000">To join the site, log into OWL and go to your Home page. Choose "Membership" from the menu on the left, then click the Joinable Sites tab. Search for "Data Science" and join the site. You will then be able to submit the summary as an assignment.</span> | ||
+ | |||
+ | <span style="color:#EE0000">Ensure that your 1/2 page summary document includes your name, programme, and student number. This must be submitted by 5pm on 31 July 2018 and does not guarantee enrolment. Enrolment will be decided based on space available, quality of the proposal sketch, and program. '''Note that Master of Data Analytics students are exempt from this requirement and will be registered in 9114A.'''</span> | ||
− | + | <span style="color:#EE0000">'''THE CONTENT BELOW IS NOT FINALISED AND MAY CHANGE</span> | |
− | |||
=== Objective === | === Objective === | ||
Line 18: | Line 21: | ||
* Like to '''read''' - have a desire to understand substantive problems | * Like to '''read''' - have a desire to understand substantive problems | ||
* Like to '''think''' - make connections between methods and problems | * Like to '''think''' - make connections between methods and problems | ||
− | * Like to ''' | + | * Like to '''wrangle''' - be willing to [https://en.wikipedia.org/wiki/Data_wrangling wrangle] data into usability |
* Like to '''speak''' - teach us about what you found | * Like to '''speak''' - teach us about what you found | ||
=== Prerequisites === | === Prerequisites === | ||
− | + | 0.5 course from Biology 2244A/B, Statistical Sciences 2035, Statistical Sciences 2141A/B, Statistical Sciences 2143A/B, Statistical Sciences 2244A/B or Statistical Sciences 2858A/B; 1.0 course from Computer Science 1025A/B, Computer Science 1026A/B, Computer Science 1027A/B, Computer Science 1037A/B, Computer Science 2120A/B, Computer Science 2121A/B, Digital Humanities 2220A/B, Digital Humanities 2221A/B, Engineering Science 1036A/B; and 0.5 course from Mathematics 1229A/B, Mathematics 1600A/B, Applied Mathematics 1411A/B; '''and written permission of the Department obtained by applying as above.''' | |
=== Logistics === | === Logistics === | ||
+ | To be determined. | ||
+ | <-- | ||
* '''Instructor''': Dan Lizotte – dlizotte at uwo dot ca – Office MC363 | * '''Instructor''': Dan Lizotte – dlizotte at uwo dot ca – Office MC363 | ||
* '''Teaching Assistant''': Brent Davis - bdavis56 at uwo dot ca - Runs Q/C Hour (see below) | * '''Teaching Assistant''': Brent Davis - bdavis56 at uwo dot ca - Runs Q/C Hour (see below) | ||
* '''Time''': Tuesday from 2:30PM – 4:30PM, and on Thursday from 2:30PM – 3:30PM | * '''Time''': Tuesday from 2:30PM – 4:30PM, and on Thursday from 2:30PM – 3:30PM | ||
* '''Place''': Middlesex College [http://accessibility.uwo.ca/doc/floorplan/bf-mc.pdf '''MC-105B'''] | * '''Place''': Middlesex College [http://accessibility.uwo.ca/doc/floorplan/bf-mc.pdf '''MC-105B'''] | ||
− | * '''Question and Collaboration Hour:''' Tuesday from 4:30pm - 5:30pm '''Location MC 320''' | + | * '''Question and Collaboration Hour:''' Tuesday from 4:30pm - 5:30pm '''Location MC 320''' |
− | * '''Communication''': We will be using [https://owl.uwo.ca OWL] for electronic communication. | + | * '''Communication''': We will be using [https://owl.uwo.ca OWL] for electronic communication. --> |
===Important Dates=== | ===Important Dates=== | ||
− | * Pick Brainstorming Slot by Friday, | + | * Pick Brainstorming Slot by Friday, 5 Oct at 5pm <!-- End of 4th Week --> |
− | * Project Proposal Due Friday, | + | * Project Proposal Due Friday, 26 Oct at 5pm <!-- End of 7th Week --> |
− | * Project Draft Due Friday, | + | * Project Draft Due Friday, 16 Nov at 5pm <!-- End of 11th Week --> |
− | * Project Report Due Friday, | + | * Project Report Due Friday, 7 Dec at 5pm <!-- Last Day of Class --> |
− | * Paper Reviews Due Friday, | + | * Paper Reviews Due Friday, 14 Dec at 5pm <!-- Week after Last Day of Class --> |
Register for a wiki account. You will need to use the wiki to let us all know about data sources you find, indicate which dataset you are using, and slot yourself in for brainstorming. Also, everyone should free to make improvements to any part of the wiki. (E.g. if you find some useful software or other resources.) | Register for a wiki account. You will need to use the wiki to let us all know about data sources you find, indicate which dataset you are using, and slot yourself in for brainstorming. Also, everyone should free to make improvements to any part of the wiki. (E.g. if you find some useful software or other resources.) | ||
Line 47: | Line 52: | ||
* '''Required Texts''' | * '''Required Texts''' | ||
:* '''JWHT''': James, G., Witten, D., Hastie, T., & Tibshirani, R. (2013). ''An introduction to statistical learning with applications in R.'' New York: Springer. ['''Free''' through [https://www.lib.uwo.ca/cgi-bin/ezpauthn.cgi?url=http://link.springer.com/978-1-4614-7138-7 Western]] | :* '''JWHT''': James, G., Witten, D., Hastie, T., & Tibshirani, R. (2013). ''An introduction to statistical learning with applications in R.'' New York: Springer. ['''Free''' through [https://www.lib.uwo.ca/cgi-bin/ezpauthn.cgi?url=http://link.springer.com/978-1-4614-7138-7 Western]] | ||
− | :* '''HTF''': ''The Elements of Statistical Learning'' by Hastie, Tibshirani and Friedman. Expanded version of required text. ['''Free''' [http:// | + | :* '''HTF''': ''The Elements of Statistical Learning'' by Hastie, Tibshirani and Friedman. Expanded version of required text. ['''Free''' [http://web.stanford.edu/~hastie/ElemStatLearn/ online]] |
:* '''LW''': Leland Wilkinson's ''The Grammar of Graphics'' (2005). ['''Free''' from [https://www.lib.uwo.ca/cgi-bin/ezpauthn.cgi?url=http://link.springer.com/book/10.1007/0-387-28695-0 Springer]] | :* '''LW''': Leland Wilkinson's ''The Grammar of Graphics'' (2005). ['''Free''' from [https://www.lib.uwo.ca/cgi-bin/ezpauthn.cgi?url=http://link.springer.com/book/10.1007/0-387-28695-0 Springer]] | ||
:* ggplot2 book by creator Hadley Wickham (2016). ['''Free''' through [https://alpha.lib.uwo.ca/record=b6962637~S20 Western]] | :* ggplot2 book by creator Hadley Wickham (2016). ['''Free''' through [https://alpha.lib.uwo.ca/record=b6962637~S20 Western]] | ||
Line 75: | Line 80: | ||
:** The dplyr package [https://cran.r-project.org/web/packages/dplyr/ documentation]. The "vignettes" are particularly good. | :** The dplyr package [https://cran.r-project.org/web/packages/dplyr/ documentation]. The "vignettes" are particularly good. | ||
:** The Tensorflow Library (Python, C++) [https://www.tensorflow.org/] | :** The Tensorflow Library (Python, C++) [https://www.tensorflow.org/] | ||
+ | :* Deep Learning Resources (courtesy Ethan Jackson) | ||
+ | :** Tutorials on Word2Vec in Python. Learns semantic relationships between words in very large corpora by mapping each word to a high-dimensional word embedding. Semantic relationships are estimated using contextual frequency, i.e. how often a word appears given a context of other words. | ||
+ | :***https://radimrehurek.com/gensim/models/word2vec.html | ||
+ | :***https://rare-technologies.com/word2vec-tutorial/ | ||
+ | :**Some ideas about using t-SNE for visualization | ||
+ | :***https://www.jeffreythompson.org/blog/2017/02/13/using-word2vec-and-tsne/ | ||
+ | :**Digit classification on MNIST dataset using TensorFlow | ||
+ | :***https://www.tensorflow.org/get_started/mnist/beginners | ||
+ | :**Autoencoders for MNIST in Keras (a very high level interface for deep learning libraries including TensorFlow) | ||
+ | :***https://blog.keras.io/building-autoencoders-in-keras.html | ||
+ | :**Convolutional neural networks for image recognition on CIFAR-10 dataset in TensorFlow. Great starting point for image classification using deep learning. | ||
+ | :*** https://www.tensorflow.org/tutorials/deep_cnn | ||
=== Topics (anticipated) === | === Topics (anticipated) === | ||
Line 171: | Line 188: | ||
off-campus medical facility. | off-campus medical facility. | ||
For further information, please consult the university’s medical illness policy at http://www.uwo.ca/univsec/pdf/academic_policies/appeals/accommodation_medical.pdf. | For further information, please consult the university’s medical illness policy at http://www.uwo.ca/univsec/pdf/academic_policies/appeals/accommodation_medical.pdf. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 15:11, 20 June 2018
Contents
Course outline for COMPSCI 4414A/9637A/9114A
The University of Western Ontario
London, Ontario, Canada
Department of Computer Science
Course Outline - Fall (September - December) 2018
This is a very high-demand course that interests students in various programs across campus. The diversity of backgrounds assembled in the class makes for a better learning experience for all; however, space is limited. Because of the volume of requests I receive, I am not able to manage a wait list. All students who wish to register for the course must submit a written a 1/2 page proposal sketch on the project they would like to pursue to the OWL site "Intro to Data Science I - Enrolment Applications."
To join the site, log into OWL and go to your Home page. Choose "Membership" from the menu on the left, then click the Joinable Sites tab. Search for "Data Science" and join the site. You will then be able to submit the summary as an assignment.
Ensure that your 1/2 page summary document includes your name, programme, and student number. This must be submitted by 5pm on 31 July 2018 and does not guarantee enrolment. Enrolment will be decided based on space available, quality of the proposal sketch, and program. Note that Master of Data Analytics students are exempt from this requirement and will be registered in 9114A.
THE CONTENT BELOW IS NOT FINALISED AND MAY CHANGE
Objective
The objective of this course is to introduce students to data science (DS) techniques, with a focus on application to substantive (i.e. "applied") problems. Students will gain experience in identifying which problems can be tackled by DS methods, and learn to identify which speciﬁc DS methods are applicable to a problem at hand. During the course, students will gain an in-depth understanding of a particular (substantive problem, DS solution) pair, and present their ﬁndings to their peers in the class. Although this course does not assume prior machine learning or visualization knowledge, it does require students to show substantial initiative in investigating methods that are applicable for their project. The lectures give an overview of important methods, but the lecture content alone is not sufficient to produce a high quality course project.
This course is designed for students who:
- Like to read - have a desire to understand substantive problems
- Like to think - make connections between methods and problems
- Like to wrangle - be willing to wrangle data into usability
- Like to speak - teach us about what you found
Prerequisites
0.5 course from Biology 2244A/B, Statistical Sciences 2035, Statistical Sciences 2141A/B, Statistical Sciences 2143A/B, Statistical Sciences 2244A/B or Statistical Sciences 2858A/B; 1.0 course from Computer Science 1025A/B, Computer Science 1026A/B, Computer Science 1027A/B, Computer Science 1037A/B, Computer Science 2120A/B, Computer Science 2121A/B, Digital Humanities 2220A/B, Digital Humanities 2221A/B, Engineering Science 1036A/B; and 0.5 course from Mathematics 1229A/B, Mathematics 1600A/B, Applied Mathematics 1411A/B; and written permission of the Department obtained by applying as above.
Logistics
To be determined. <--
- Instructor: Dan Lizotte – dlizotte at uwo dot ca – Office MC363
- Teaching Assistant: Brent Davis - bdavis56 at uwo dot ca - Runs Q/C Hour (see below)
- Time: Tuesday from 2:30PM – 4:30PM, and on Thursday from 2:30PM – 3:30PM
- Place: Middlesex College MC-105B
- Question and Collaboration Hour: Tuesday from 4:30pm - 5:30pm Location MC 320
- Communication: We will be using OWL for electronic communication. -->
Important Dates
- Pick Brainstorming Slot by Friday, 5 Oct at 5pm
- Project Proposal Due Friday, 26 Oct at 5pm
- Project Draft Due Friday, 16 Nov at 5pm
- Project Report Due Friday, 7 Dec at 5pm
- Paper Reviews Due Friday, 14 Dec at 5pm
Register for a wiki account. You will need to use the wiki to let us all know about data sources you find, indicate which dataset you are using, and slot yourself in for brainstorming. Also, everyone should free to make improvements to any part of the wiki. (E.g. if you find some useful software or other resources.)
Slot yourself in for a brainstorming session in the Timeline portion at the bottom of this page before end of Friday, 6 Oct at 5pm or Dan will pick a slot for you.
Materials
- Required Texts
- JWHT: James, G., Witten, D., Hastie, T., & Tibshirani, R. (2013). An introduction to statistical learning with applications in R. New York: Springer. [Free through Western]
- HTF: The Elements of Statistical Learning by Hastie, Tibshirani and Friedman. Expanded version of required text. [Free online]
- LW: Leland Wilkinson's The Grammar of Graphics (2005). [Free from Springer]
- ggplot2 book by creator Hadley Wickham (2016). [Free through Western]
- Review if you need to catch up:
- Calculus Review from Penn State University. Includes basic mathematical notation.
- linear algebra review - up to and including Section 3.7 - The Inverse
- Larry Wasserman's All of Statistics. [Free from Springer]
- Devore, J. L., & Berk, K. N. (2007). Modern mathematical statistics with applications. 2nd ed. Springer. [Free through Western]
- Other Resources
- The Data and Software Page
- Cheat Sheets
- ggplot2 cheat sheet
- Data Wrangling cheat sheet
- Texts
- Phil Spector. (2008). Data Manipulation with R New York: Springer. [ Free through Western ]
- probability review from Stanford University by way of Doina Precup.
- List of resources from COMP-652 at McGill (courtesy Doina Precup)
- C. M. Bishop, Pattern Recognition and Machine Learning (2006)
- R. S. Sutton and A. G. Barto, Reinforcement Learning: An Introduction (1998)
- Ethem Alpaydin, "Introduction to Machine Learning", MIT Press, 2004.
- David J. C. MacKay, "Information Theory, Inference and Learning Algorithms", Cambridge University Press, 2003.
- Richard O. Duda, Peter E. Hart & David G. Stork, "Pattern Classification. Second Edition", Wiley & Sons, 2001.
- Other Links
- Software
- The dplyr package documentation. The "vignettes" are particularly good.
- The Tensorflow Library (Python, C++) [1]
- Deep Learning Resources (courtesy Ethan Jackson)
- Tutorials on Word2Vec in Python. Learns semantic relationships between words in very large corpora by mapping each word to a high-dimensional word embedding. Semantic relationships are estimated using contextual frequency, i.e. how often a word appears given a context of other words.
- Some ideas about using t-SNE for visualization
- Digit classification on MNIST dataset using TensorFlow
- Autoencoders for MNIST in Keras (a very high level interface for deep learning libraries including TensorFlow)
- Convolutional neural networks for image recognition on CIFAR-10 dataset in TensorFlow. Great starting point for image classification using deep learning.
Topics (anticipated)
- Introduction to Data Science
- Definitions
- Components
- Relationships to Other Fields
- Data Munging
- Working with structured data: selecting, filtering, joining, aggregating
- Web scraping
- Simple visualizations
- Sanity checking
- (Re)-introduction to Statistics
- Data Summaries
- Randomness, Sample Spaces and Events, Probability
- Random Variables, CDF, PMF, PDF
- Expectation
- Estimation
- Sampling Distributions: Law of Large Numbers, Central Limit Theorem, The Bootstrap
- Inference: Hypothesis testing, P-values, Confidence Intervals
- Multivariate Statistics: conditional probability, correlation, independence
- Supervised Machine Learning, Predictive Models
- Supervised Learning
- Regression
- Classification
- Reinforcement Learning and Sequential Decision Making
- Supervised Learning
- Evaluation
- Variance: Test set, cross-validation, bootstrap
- Bias: Confounding, causal inference
- Unsupervised Machine Learning, Representations, and Feature Construction
- Clustering
- Dimensionality reduction
- Domain-specific Feature Development
- Images
- Sounds
- Text
- Visualization
- Topics to be determined
Evaluation
There will be a midterm test but no final exam. Each student will lead a brainstorming session, produce a proposal, draft, and report for a course project. Graduate students (9637) will additionally submit peer reviews of other class projects. For detailed requirements, see Project Guidelines.
Scholastic offences are taken seriously and students are directed to read the appropriate policy, specifically, the definition of what constitutes a Scholastic Offence, at this website: [2].
Daily Quizzes – 5%
Starting on the second lecture, there will be a very short quiz at the beginning of class covering the previous day's materials. The final quiz will be on 31 Oct. The lowest quiz mark will be dropped. Quiz marks will only be excused for medical reasons.
Midterm - 35%
Assessing competencies from the fundamentals taught in the first half of the class.
Brainstorming Session – 5%
Each student will prepare a presentation explaining an applied problem, as well as some potential data science methods that could be applied to the problem. The presentation should be no more than 10 minutes. We will then discuss the problem as a class, along with possible approaches for solving the problem using data science methods. The student is expected to be prepared to answer deep questions about the nature of their problem to ensure that they receive high quality feedback from the brainstorming session.
Project Proposal – 4414: 15% 9637: 10%
Document detailing the plan for the project. See Project Guidelines for detailed requirements.
Report Draft – 5%
A draft of the final report will be due approximately midway through the term. The purpose of the draft is to allow the instructor to provide feedback on the quality of the writing and the direction of the project.
Project Report – 35%
Each student will prepare a research paper detailing a substantive problem, the data available, the applicable data science methods, and empirical results obtained on the problem.
Peer Review – 9637 only: 5%
Each graduate student will prepare two reviews of their classmates' work.
Participation and Effort
Success of the course as a useful learning experience hinges on active participation and effort of the students. Students are expected to attend all classes and are expected to actively participate in the brainstorming sessions.
Accessibility and Support Available at Western
Please contact the course instructor if you require lecture or printed material in an alternate format or if any other arrangements can make this course more accessible to you. You may also wish to contact Services for Students with Disabilities (SSD) at 661-2111 ext. 82147 if you have questions regarding accommodation. Support Services Learning-skills counsellors at the Student Development Centre (http://www.sdc.uwo.ca) are ready to help you improve your learning skills. They offer presentations on strategies for improving time management, multiple-choice exam preparation/writing, textbook reading, and more. Individual support is offered throughout the Fall/Winter terms in the drop-in Learning Help Centre, and year-round through individual counselling. Students who are in emotional/mental distress should refer to Mental Health@Western (http://www.health.uwo.ca/mental_health) for a complete list of options about how to obtain help. Additional student-run support services are offered by the USC, http://westernusc.ca/services. The website for Registrarial Services is http://www.registrar.uwo.ca.
Missed Course Components
If you are unable to meet a course requirement due to illness or other serious circumstances, you must provide valid medical or supporting documentation to the Academic Counselling Office of your home faculty as soon as possible. If you are a Science student, the Academic Counselling Office of the Faculty of Science is located in WSC 140, and can be contacted at 519-661-3040 or scibmsac@uwo.ca. Their website is http://www.uwo.ca/sci/undergrad/academic_counselling/index.html. A student requiring academic accommodation due to illness must use the Student Medical Certificate (https://studentservices.uwo.ca/secure/medical_document.pdf) when visiting an off-campus medical facility. For further information, please consult the university’s medical illness policy at http://www.uwo.ca/univsec/pdf/academic_policies/appeals/accommodation_medical.pdf.