【机器学习快速入门教程1】前期准备

章节1:前期准备

本文包含本教程所需要的编程语言Python和开发环境Anaconda的简单介绍。

Anaconda安装

之所以推荐使用Anaconda,是为了让大家省去复杂的安装和配置Tensorflow的时间,快速入门机器学习。而Anaconda指的是一个开源的Python发行版本,其包含了conda、Python、numpy、tensorflow等等180多个科学包及其依赖项。可以根据这篇文章来安装Anaconda,安装完成打开后有以下界面,可以在右边Environments中配置或导入你所需要的科学包(后面课程有用到),而本教程接下来使用Jupyter notebook来进行机器学习的编程练习。

【机器学习快速入门教程1】前期准备_第1张图片

Python基础

我们只回顾后面学习中将要使用的Python的一些核心概念,如果你已经熟悉了Python,可以跳过以下内容。如果你是Python的初学者,在全面了解Python后再学习后面的章节会更好。

Python在线学习资源

  • Learn Python the Hard Way
  • Codecademy
  • Learnpython.org

变量

在Python中,你可以将任何值直接赋予一个变量,接着就可以直接引用和操作该变量。

myVariable = 'hello world'
print(myVariable)
hello word

列表

我们从Python中最基本的数据容器列表讲起,

# basic list in Python# basic 
X = [2, 5, 7, -2, 0, 8, 13]
# lists are 0-indexed, so index 2 is the third element in X
print(X[2])
7

分片

指的是列表的子集(下标从0开始)

# slicing
y = X[0:2]
print(y)
y = X[:-2]  # equivalent to x[0:4] 
print(y)
[2, 5]
[2, 5, 7, -2, 0]

列表操作

列表中的各种方法:

  • 在列表中找到值为7的下标
print(X.index(7))
2
  • 计算列表中的元素个数
print(len(X))
7
  • 在列表末尾添加元素
X.append(99)
print(X)
[2, 5, 7, -2, 0, 8, 13, 99]
  • 在下标为1的地方插入元素
X.insert(1, 55)
print(X)
[2, 55, 5, 7, -2, 0, 8, 13, 99]

复杂列表

在Python中创建列表最便捷的方法就是通过对其他的列表进行操作,注意:** 是指数乘法操作,x**2指x^2。
新列表是x的平方

z = [x**2 for x in X]
print(z)
[4, 3025, 25, 49, 4, 0, 64, 169, 9801]

新列表是True/False(根据元素是否大于3)

z = [x>3 for x in X]
print(z)
[False, True, True, True, False, False, True, True, True]

字典

字典是另一种存储数据的方法,可以使用key来查找数据

z = {'name':'Gene', 'apples':5, 'oranges':8}
print(z['name'])
print(z['oranges'])
if 'apples' in z:
    print('yes, the key apples is in the dict z')
Gene
8
yes, the key apples is in the dict z

循环

for循环

names = ['Alice', 'Bob', 'Carol', 'David']
for name in names:
    print('Hi %s' % name)
Hi Alice
Hi Bob
Hi Carol
Hi David

从range中的两个端点获取一组整数

for i in range(5, 9):
    print(i)
5
6
7
8

函数

函数是指一段可以重复使用的代码块

def myFunction(myArgument):
    print('Hello '+myArgument)
    
myFunction('Alice')
myFunction('Bob')
Hello Alice
Hello Bob

类给Python带来了面向对象编程

class MyClass(object):
    def __init__(self, message): # constructor
        self.message = message   # assign local variable in object
    
    def print_message(self, n_times=2):
        for i in range(n_times):
            print('%s' % self.message)

M = MyClass('Hello OF Course!')
M.print_message(3)
Hello OF Course!
Hello OF Course!
Hello OF Course!

Python中有许多可以使用的函数库
让我们来导入两个库:math和matplolib.pyplot(化名为plt)
用math库来计算1的余弦值

import matplotlib.pyplot as plt
import math

z = math.cos(1)
print(z)
0.5403023058681398

绘图

我们来绘制sine函数的曲线,后面我们将学习更多关于绘图方面的概念

X = [0.1*x for x in range(-50,50)]
Y = [math.sin(x) for x in X]

# make the figure
plt.figure(figsize=(6,6))
plt.plot(X, Y)
plt.xlabel('x')
plt.ylabel('y = sin(x)')
plt.title('My plot title')
【机器学习快速入门教程1】前期准备_第2张图片

你可能感兴趣的:(【机器学习快速入门教程1】前期准备)