# data[].attributes.body
https://medium.freecodecamp.org/vim-isnt-that-scary-here-are-5-free-resources-you-can-use-to-learn-it-ab78f5726f8d

# data[].attributes.body
https://www.optimizely.com/ab-testing/

# data[].attributes.body
If you run into administrator issues when installing packages on Windows (you run into an error that says you don't have write permissions), try this method in opening your command prompt

# data[].attributes.body
Install gensim

Please follow the instructions here: https://radimrehurek.com/gensim/install.html

Windows users, if pip install doesn't work on your git bash, try doing it on the windows command prompt instead

If pip install doesn't work for you, try conda install -c anaconda gensim=2.2.0

# data[].attributes.body
https://fossbytes.com/learn-it-faster-the-entire-python-language-in-a-single-image/amp/

# data[].attributes.body
The code provided in class is supposed to convert tree.dot to tree.png

If you don't see a tree.png, it means the conversion did not happen correctly

You should still be able to open the tree.dot file in GraphViz and do a manual conversion via the tools in GraphViz

For an alternative to visualizing decision trees, see here http://scikit-learn.org/stable/modules/tree.html

# data[].attributes.body
List of strings that you can put into the "scoring" argument: http://scikit-learn.org/stable/modules/model_evaluation.html#common-cases-predefined-values

# data[].attributes.body
Install Graphviz

Mac: 2 methods

download the installer here http://www.graphviz.org/Download_macos.php

if you have homebrew installed then run 'brew install graphviz in terminal

See how to install homebrew here https://www.howtogeek.com/211541/homebrew-for-os-x-easily-installs-desktop-apps-and-terminal-utilities/

Windows: Download the installer (the .msi file) here http://www.graphviz.org/Download_windows.php

Install SpaCy

In terminal/ git bash run:

Windows: if git bash doesn't work for you, open terminal from your Anaconda navigator

pip install spacy

then

python -m spacy.en.download --force all

# data[].attributes.body
https://trello.com/b/rbpEfMld/data-science

# data[].attributes.body
https://www.kaggle.com/datasets

https://github.com/fivethirtyeight/data

https://data.gov.sg/

https://www.quora.com/What-are-some-good-toy-problems-in-data-science

https://vincentarelbundock.github.io/Rdatasets/datasets.html

http://rs.io/100-interesting-data-sets-for-statistics/

https://data.world/

# data[].attributes.body
https://www.naftaliharris.com/blog/visualizing-dbscan-clustering/

# data[].attributes.body
https://en.wikipedia.org/wiki/Precision_and_recall#Definition_.28classification_context.29

# data[].attributes.body
http://shabal.in/visuals/kmeans/1.html

https://www.naftaliharris.com/blog/visualizing-k-means-clustering/

# data[].attributes.body
https://en.wikipedia.org/wiki/Odds_ratio#Definition_and_basic_properties

# data[].attributes.body
https://www.analyticsvidhya.com/blog/2017/06/a-comprehensive-guide-for-linear-ridge-and-lasso-regression/

Check out Section 14 to get a visual on how regularization changes your coefficients

# data[].attributes.body
http://discoveringstatistics.blogspot.sg/2012/08/assumptions-part-1-normality.html

http://www.statisticssolutions.com/normality/

# data[].attributes.body
Q: How do I print "The answer is 12345" without having to hardcode 12345? (i.e. if my answer changes to 23456, I don't want to have to change my code)

A: Python string formatting. Assuming your answer is saved in a variable called X, you can run

print("The answer is {}".format(X)")

print("The answer is %d" % X)

print("The answer is " + str(X))

and there are many more possible code snippets that will perform the same function

# data[].attributes.body
https://matplotlib.org/examples/color/colormaps_reference.html

# data[].attributes.body
https://tonysyu.github.io/raw_content/matplotlib-style-gallery/gallery.html

Usage: `plt.style.use("name")`

# data[].attributes.body
import matplotlib.pyplot as plt

In same cell, run your code for plotting and include at the end `plt.savefig('filename')`

# data[].attributes.body
https://daringfireball.net/projects/markdown/syntax

# data[].attributes.body
In python/ pandas, the null value is a special value

Although a missing value may show up as NaN, pandas does not see that as a string, but as a null value, and it affects how calculations are performed

"na" and "-" are examples of strings that may be used to represent missing values, and the above will tell pandas to interpret them as null values

Other strings can also be included, e.g. "none", it all depends on the dataset

# data[].attributes.body
Refer to the admissions.csv file

# data[].attributes.body
Refer to all the labs that we have gone through in class (not specifically referring to any single lab)

# data[].attributes.body
http://bit.ly/git_guide

# data[].attributes.body
http://blog.minitab.com/blog/adventures-in-statistics-2/understanding-hypothesis-tests%3A-confidence-intervals-and-confidence-levels

# data[].attributes.body
https://blog.modeanalytics.com/violin-plot-examples/

# data[].attributes.body
df["column name"]

or

df[list_of_column_names] where list_of_column_names = ["col1", "col2", "col3"]

# data[].attributes.body
http://machinelearningmastery.com/gentle-introduction-to-the-bias-variance-trade-off-in-machine-learning/

http://scott.fortmann-roe.com/docs/BiasVariance.html

# data[].attributes.body
Remember to enclose whatever you want to print in parantheses
e.g. print ("Hello World!")
instead of
print "Hello World!"

# data[].attributes.body
In Jupyter Notebook, hit "Esc" then "h" to see a list of all keyboard shortcuts

Common shortcuts:

"Shift"+"Enter" - run cell

"a" - add cell above

"b" - add cell below

# data[].attributes.body
https://github.com/jvns/pandas-cookbook

# data[].attributes.body
1. git clone: copies the repo and creates a copy on your computer [you only do this once]

2. git pull origin master: when Kwan Chong makes changes to his repo, git pull will copy and paste all files from his repo to the linked folder (the one created by git clone) on your computer [you do this regularly, whenever he makes changes to his repo] (* IMPORTANT NOTE: If you didn't make a copy and rename his files before working on them - e.g. adding notes, git pull will overwrite anything you add to the original files)

3. git remote add: links your local folder (that is a git repo) to a GitHub repo [you only do this once]

4. git push: updates your GitHub repo with changes you have made to your local files and have committed [you do this regularly together with git add and git commit]

# data[].attributes.attachment_link.title
Scannable Document on 4 Jun 2017, 20_20_44

# data[].attributes.body
If you can't find me on Slack, feel free to email your questions to me at ongjoce@gmail.com

# data[].attributes.headline
Understanding the different parts of a Git repository

# data[].attributes.subject
Understanding the different parts of a Git repository

# data[].attributes.body
Working directory vs Staging area vs Repository

https://git-scm.com/book/en/v2/Getting-Started-Git-Basics

# data[].attributes.body
https://www.hackerrank.com/

https://codefights.com/

# data[].attributes.body
https://github.com/thufirtan/DS-SG-04/blob/master/resources/python-self-assessment.md

https://www.codecademy.com/learn/python/

https://learnpythonthehardway.org/book/

# data[].attributes.body
https://www.codecademy.com/learn/python

# data[].attributes.body
Absolute file path vs. relative file path (https://en.wikipedia.org/wiki/Path_(computing)#Absolute_and_relative_paths)

Example of absolute file path: "/Users/joce/learning/data_science/general-assembly/DS-SG-04/lessons/lesson-02/code/data/air-passenger-arrivals-by-country-of-embarkation.csv" ("/Users/joce" is my HOME directory)

Example of relative file path: "data/air-passenger-arrivals-by-country-of-embarkation.csv"

You can access a file using the absolute file path from anywhere

To be able to reference using relative file path, the first item in the path must be in your current working directory (e.g. If you run pwd, you should get "/Users/joce/learning/data_science/general-assembly/DS-SG-04/lessons/lesson-02/code/"

# data[].attributes.headline
Installing Python 2.7 if you downloaded 3.5

# data[].attributes.subject
Installing Python 2.7 if you downloaded 3.5

# data[].attributes.body
Create a new environment in anaconda for Python 2.7 (in terminal, run "conda create -n py27 python=2.7 anaconda"

In terminal, run "conda install --channel=conda-forge nb_conda_kernels"

In the anaconda navigator, got to environments, click on the triangle beside py27 and select "open in terminal"

Run "conda install ipykernel" in the terminal that opens up

Once installation is complete, run "jupyter notebook" in your normal terminal, you should be able to see different kernels in your jupyter notebook now

# data[].attributes.body
bit.ly/dat4_project_submissions

# data[].attributes.body
bit.ly/dat4_exit_ticket

# data[].attributes.body
https://openhatch.org/missions/windows-setup/install-git-bash

# data[].attributes.body
Class repo: https://github.com/thufirtan/DS-SG-04

# data[].attributes.body
https://www.continuum.io/downloads

# data[].attributes.body
https://git-scm.com/

# data[].attributes.body
Here you'll find useful links and answers to questions previously asked by your peers

Think of this as an FAQ board

If you have a question, check if you can find the answer here

If your question isn't listed, feel free to reach out on Slack

Order of columns will change from time to time as notes get updated