(内容主要摘抄自机械工业出版社《Python与数据挖掘》)
1.range函数:用于快速生成序列
range(5),可得到[0,1,2,3,4]
for i in range(5):即为平常的 for(i=0;i<5;i++)
range(a,b)返回 列表[a,a+1,……,b-1]
len()返回一个列表的长度,range(len(L))可以迭代整个列表L
2.else:
for循环同样支持break和continue语句,循环语句可以有一个else语句,当for循环迭代整个列表后或while循环条件变为假时,循环并非通过break语句终止时,便会执行else语句。
3.数据结构:
主要数据结构:
标量:整数、浮点数等
序列:列表、字符串、元组、Unicode字符串、字节数组、缓冲区、xrange对象
映射:字典(数据结构)
集合
列表:大小可变
元组:元组和字符串均具有不可变性
字典:映射的一种,序列按照顺序存储数据,字典则通过键存储数据。内部主要由一系列“键:值”对组成,常用新建方法category={‘Apple’:'fruit','football':'sport','Harry Potter','film'}
集合:与数学理论相对应,创建方式set1={1,2,3} set2={[2,3,4]},可进行减、并、交、异或、真包含判断等操作
4.函数
def fun4(a=1,*number,**kwargs):
print a,numbers,kwargs
def add1(num):
num+=1
在代码中给一个变量赋值的地方决定了这个变量将存在于哪个作用域。
Python可以自定义类,具有继承属性。
机器学习主要问题:
1.有监督学习:
1)分类:样本属于两个或多个类别,训练数据上带有标签。建立模型,根据训练结果,对测试数据进行分类。一定程度上可以认为是有监督学习的离散形式。主要方法:贝叶斯,svm
2)回归:如果希望的输出是一个或多个连续的变量,可称为回归
线性回归:拟合得到一个合适的函数
逻辑回归:是softmax的一种情况,主要针对二分类问题。使用逻辑函数
2.无监督学习
仅有输入向量x,没有目标向量y。可以挖掘数据中相似样本的分组,被称为聚类(K-means算法);也可以确定输入样本空间的数据分布,被称作密度估计;还可以将数据从高维空间映射到低维空间,以便进行数据可视化。