str.strip([char] )//去掉首尾的字符
str.split(str,num)//按照什么把字符串划分
mat.transpose()//转置
from numpy import *//之后用numpy里的东西不用加numpy.
ones((m,n))//构建m行n列的元素全是1的列表
列表相加只是列表的集合里面的元素变多了
要使对应位置相加必须至少把其中一个转化成mat
只有形状对应的矩阵才能相乘,比如说【1,2,3】*mat([4,5,6]).transpose()
int(str)是错的,改成int(float(str))
print("the error rate of this test is: %f" % errorrate)输出函数没有逗号
list(range(6))=[0,1,2,3,4,5]
del(list[index])删除列表中某一元素
for k in range(n)//循环
import random
random.uniform(x,y)在[x,y)之间随机取一个数
import os
print(os.path.getcwd())//获取当前目录
print(os.path.abspath('.'))//获取当前目录
print(os.path.abspath('..'))//获取父目录
print(os.path.abspath(os.curdir))//获取当前目录
//注意python里面如果函数的()相当于创建一个对象
#彻底理解python的切片
str.insert(ind,value)在ind元素前面插入value
首先对ind进行预处理:如果ind<0,则ind+=len(a),这样一来ind就变成了正数下标
预处理之后,
当ind<0时,ind=0,相当于头部插入
当ind>len(a)时,ind=len(a),相当于尾部插入
str[beg:end:delta]
beg 一定能取到
end是最后一个数的后一位
列表的下标有三个参数:beg(起始下标),end(终止下标),delta(变化量)
当delta小于0时,beg默认为len(array)-1,end默认为开头之前。
当delta大于0时,beg默认为0,end默认为最末之后。
当delta未给出时:delta默认为1
%load_ext autoreload
在执行用户代码前,重新装入 软件的扩展和模块。
autoreload 意思是自动重新装入。
它后面可带参数。参数意思你要查你自己的版本帮助文件。一般说:
无参:装入所有模块。
0:不执行 装入命令。
1: 只装入所有 %aimport 要装模块
2:装入所有 %aimport 不包含的模块。
numpy.random.choice(a, size=None, replace=True, p=None)
replace为False生成的随机数不能有重复
使用%matplotlib命令可以将matplotlib的图表直接嵌入到Notebook之中,或者使用指定的界面库显示图表,它有一个参数指定matplotlib图表的显示方式。inline表示将图表嵌入到Notebook中
用python作图
def plotBestFit(weights):
import matplotlib.pyplot as plt
datamat,labelmat=loadDataset()
dataarr=array(datamat)#注意转换为array
xcord1=[];xcord2=[]
ycord1=[];ycord2=[]
n=shape(dataarr)[0]
for i in range(n):
if labelmat[i]==1:
xcord1.append(dataarr[i,0])#只有array能这么用
ycord1.append(dataarr[i,1])
else:
xcord2.append(dataarr[i,0])
ycord2.append(dataarr[i,1])
fig=plt.figure()#作图的关键步骤
ax=fig.add_subplot(111)#作图的关键步骤
ax.scatter(xcord1,ycord1,s=30,c='red',marker='s')#画散点图用scatter
ax.scatter(xcord2,ycord2,s=30,c='green')
x=arange(0,10,0.1)#画连续的直线关键步骤,确定x轴的范围和步长
y=(-weights[0]-weights[1]*x)/weights[2]
ax.plot(x,y)#画直线用plot
plt.xlabel('x1')
plt.ylabel('x2')
plt.show()#显示
weights=gradascend()
plotBestFit(weights.getA())
weights.getA()的意思是把matrix类型的weights转化为array 型,相当于array(weights).这里不能用矩阵,因为矩阵的运算规则和数组不一样