# Quick Intro to Python

## Math and Modules

In the space below and use Python as a calculator.



In [ ]:



Now let's try some more advanced funtions.



In [1]:

log10(10)



The standard Python distribution only comes with the bare-bone capabilities. Other functionality can be accessed through modules using the import command. To access a function using the following syntax.

import <module>

<module>.<function>



Here's an example.



In [2]:

import math

math.log10(10)



What if I don't know how to use a function, you can access the documentation.

? <module>.<function>



Let's look at the documentation of math.log10



In [3]:

?? math.log10



## Strings

Strings are denoted by ' or ". Set the variable my_name equal to your name full name.



In [4]:

my_name =




In [5]:

intro = 'Hello, my name is '

print(intro + my_name + '.')



Strings can all be indexed.



In [6]:

first_initial = 'My first initial is '
print(first_initial + my_name[0] + '.')



Try and pick out all of your initials.



In [7]:

initials = 'My initials are '

print(initials + my_name[0] + my_name[] + ".")



# SciPy and NumPy

SciPy and NumPy are two highly optimized core packages used for scientific computing in the Python community.

• NumPy - Numerical computation in Python
• SciPy - Scientific computation in Python

Let's import numpy and make a numpy array.



In [8]:

import numpy as np

B = np.ones((3, 3))
print(B)



Use the cell below to manipulate the array we just created.



In [9]:

B + B



Let's do some simple matrix multiplication using np.dot.

$$\mathbf{A} \overrightarrow{x} = \overrightarrow{y}$$

First checkout the documentation of np.dot.



In [10]:

? np.dot




In [11]:

N = 5
A = np.eye(N) * 2
x = np.arange(N)

print('A =')
print(A)
print('x =')
print(x)
= np.dot(A, x)
print('y =')
print(y)



Use the cell below to call another function from NumPy.



In [ ]:



# Scikit-Learn

Scikit-Learn, a.k.a. sklearn, is a scientific toolkit (there are many others) for machine learning and it built on SciPy and NumPy.

Below is an example from scikit-learn for linear regression.

This example also using the plotting library matplotlib to display the results.



In [12]:

%matplotlib inline

# Code source: Jaques Grobler

import matplotlib.pyplot as plt
from sklearn import datasets, linear_model

# Use only one feature
diabetes_X = diabetes.data[:, np.newaxis]
diabetes_X_temp = diabetes_X[:, :, 2]

# Split the data into training/testing sets
diabetes_X_train = diabetes_X_temp[:-20]
diabetes_X_test = diabetes_X_temp[-20:]

# Split the targets into training/testing sets
diabetes_y_train = diabetes.target[:-20]
diabetes_y_test = diabetes.target[-20:]

# Create linear regression object
regr = linear_model.LinearRegression()

# Train the model using the training sets
regr.fit(diabetes_X_train, diabetes_y_train)

# Predict result
y = regr.predict(diabetes_X_test)

# The coefficients
print('Coefficients: \n', regr.coef_)
# The mean square error
print("Residual sum of squares: %.2f"
% np.mean((y - diabetes_y_test) ** 2))
# Explained variance score: 1 is perfect prediction
print('Variance score: %.2f' % regr.score(diabetes_X_test, diabetes_y_test))

# Plot outputs
plt.scatter(diabetes_X_test, diabetes_y_test,  color='black')
plt.plot(diabetes_X_test, y, color='blue', linewidth=3)

plt.xticks(())
plt.yticks(())

plt.show()




In [ ]: