My person notes for the Machine Learning, Data Science and Deep Learning with Python course by Frank Kane on Udemy
- Install Anaconda Individual Edition
- Reopen a terminal window and run the following terminal commands
conda install pydotplus
conda install tensorflow
- Download course materials
3.1 In terminal navigate to the location of the unzipped course materials folder and run
jupyter notebook
3.2 This will open a browser tab with the url http://localhost:8888/tree with the script files and accompanying data
In terminal navigate to the MLCourse directory , run jupyter notebook
and click on Python101.ipynb
- Whitespace matters in Python sort of like
{}
in JavaScript - There is no
;
required to terminate the end of a linelike in JavaScript - For loops and if else statements end with
:
- Variables are declared without types similiar to JavaScript since it is a dynamically typed language
Example: Write a python program to create a list of numbers from 1 to 6 and then print whether that number is either even or odd
listOfNumbers = [1, 2, 3, 4, 5, 6]
for number in listOfNumbers:
if (number % 2 == 0):
print(number, "is even")
else:
print(number, "is odd")
print ("All done.")
- Use the keyword
import
to import - Can define an alias using the
as
keyword
Example: Import the numpy library and generate a list of 10 numbers with a mean of 25 and a standard deviation of 5
import numpy as np
A = np.random.normal(25.0, 5.0, 10)
print (A)
Python's version of JavaScript arrays
x = [1, 2, 3, 4, 5, 6]
print(len(x)) # 6
x[:3] # [1, 2, 3]
x[3:] # [4, 5, 6]
x[-2:] # [5, 6]
x.extend([7,8]) # [1, 2, 3, 4, 5, 6, 7, 8]
x.append(9) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
y = [10, 11, 12]
listOfLists = [x, y]
print(listOfLists) # [[1, 2, 3, 4, 5, 6, 7, 8, 9], [10, 11, 12]]
z = [3, 2, 1]
z.sort() # [1, 2, 3]
z.sort(reverse=True) # [3, 2, 1]
Immutable lists used for functional programming or working with Apache Spark
x = (1, 2, 3)
len(x) # 3
y = (4, 5, 6)
y[2] # 6
listOfTuples = [x, y]
listOfTuples # [(1, 2, 3), (4, 5, 6)]
(age, income) = "32,120000".split(',')
print(age) # 32
print(income) # 120000
Similiar to objects in JavaScript also reffered to as a map or hash table in other languages
captains = {}
captains["Enterprise"] = "Kirk"
captains["Enterprise D"] = "Picard"
captains["Deep Space Nine"] = "Sisko"
captains["Voyager"] = "Janeway"
print(captains["Voyager"]) # Janeway
print(captains.get("Enterprise")) # Kirk
print(captains.get("NX-01")) # none
for ship in captains:
print(ship + ": " + captains[ship])
# Enterprise: Kirk
# Enterprise D: Picard
# Deep Space Nine: Sisko
# Voyager: Janeway
# Example syntax
def FunctionName(param1, param2, ... , paramn):
return param1 + param2 + ... + paramn
# Return the square of a given number
def SquareIt(x):
return x * x
# Pass function in as a parameter
def DoSomething(f, x):
return f(x)
print(SquareIt(2)) # 4
print(DoSomething(SquareIt, 3))
# Inline simple function using Lambda function
print(DoSomething(lambda x: x * x * x, 3)) # 27
print(1 == 3) # False
print(True or False) # True
print(1 is 3) # False
if 1 is 3:
print("How did that happen?")
elif 1 > 3:
print("Yikes")
else:
print("All is well with the world")
# All is well with the world
for x in range(10):
print(x)
for x in range(10):
if (x is 1):
continue
if (x > 5):
break
print(x)
x = 0
while (x < 10):
print(x)
x += 1
myList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for x in myList:
if (x % 2 == 0):
print(x)
- Represents some sort of quantitative measurement
- Heights of people, page load times, stockprices, etc.
- Discrete Data
- Integerbased;oftencountsofsomeevent.
- How many purchases did a customer make in a year?
- How many times did I flip “heads”?
- Integerbased;oftencountsofsomeevent.
- Continuous Data
- Has an infinite number of possible values
- How much time did it take for a user to check out?
- How much rain fell on a given day?
- Has an infinite number of possible values
- Qualitative data that has no inherent mathematical meaning
- Gender, Yes/no (binary data)
- Race
- State of Residence
- Product Category,
- Political Party
- You can assign numbers to categories in order to represent them more compactly, but the numbers don’t have mathematical meaning
- A mixture of numerical and categorical
- Categorical data that has mathematical meaning
- Example: movie ratings on a 1-5 scale.
- Ratings must be 1, 2, 3, 4, or 5
- These values have mathematical meaning; 1 means it’s a worse movie than a 2.