Python+AI学习杂记

Python基础

字典

python的字典,key不可以是列表

dict3 = {[1, 1, 1]: “列表”} 

这种形式是不被允许的

拷贝
alist=[1,2,3,["a","b"]]

1.直接赋值,当原始列表发生改变,被赋值列别也发生改变

b=alist
print(b)
#[1, 2, 3, ['a', 'b']]
alist.append(5)
print(alist)
print(b)
#[1, 2, 3, ['a', 'b'], 5]
#[1, 2, 3, ['a', 'b'], 5]

2.copy浅拷贝

>>> import copy

>>> c=copy.copy(alist)
>>> print alist;print c
[1, 2, 3, ['a', 'b']]
[1, 2, 3, ['a', 'b']]
>>> alist.append(5)
>>> print alist;print c
[1, 2, 3, ['a', 'b'], 5]
[1, 2, 3, ['a', 'b']]

>>> alist[3]
['a', 'b']
>>> alist[3].append('cccc')
>>> print alist;print c
[1, 2, 3, ['a', 'b', 'cccc'], 5]
[1, 2, 3, ['a', 'b', 'cccc']]

3.深拷贝deepcopy,无论原始对象如何改变,拷贝对象都不会改变

>>> import copy

>>> d=copy.deepcopy(alist)
>>> print alist;print d
[1, 2, 3, ['a', 'b']]
[1, 2, 3, ['a', 'b']]
>>> alist.append(5)
>>> print alist;print d
[1, 2, 3, ['a', 'b'], 5]
[1, 2, 3, ['a', 'b']]
>>> alist[3]
['a', 'b']
>>> alist[3].append("ccccc")
>>> print alist;print d
[1, 2, 3, ['a', 'b', 'ccccc'], 5]
[1, 2, 3, ['a', 'b']] 
生成器
L = [x*x for x in range(5)]
print(L)
#[0, 1, 4, 9, 16]
L = (x*x for x in range(5))
print(L)
#<generator object <genexpr> at 0x0000020E0A325CC8>

当使用中括号"[ ]“号时,产生的L是一个列表,当使用小括号”( )"时,L就变成了一个生成器

new__和__init

init__方法为初始化方法,为类的实例提供一些属性或完成一些动作
new 方法创建实例对象供__init
方法使用,__init__方法定制实例对象
继承不可变数据类型时需要用到__new__方法

正则表达式

[1-9][0-9]{4,}
[1-9]表示1-9任意一个数字
[0-9]表示0-9任意一个数字
{4,}表示这个正则表达式的长度不受限制

数据预处理

空数据处理

删除包含空值的记录
自动补全
手动补全缺失值

噪声处理

分箱
回归
计算机检查与人工检查结合
聚类

聚类算法

K-means
Mean-Shift
基于密度的带噪声的空间聚类的应用(DBSCAN)
基于高斯混合模型(GMM)的期望最大化(EM)聚类
凝聚层次聚类

分类器

线性回归
逻辑回归
SVM(支撑向量机)
NBayes(朴素贝叶斯)
K近邻
决策树

关联分析算法

Apriori算法

Ridge回归和Lasso回归

两种方法都是为了解决过拟合问题
不同的是,岭回归(Ridge Regression)可以理解为在线性回归的损失函数的基础上,加,入一个L2正则项,来限制W不要过大。而Lasso可以理解为在线性回归基础上加入一个L1正则项,同样来限制W不要过大。Lasso由于使用L1正则项,所以具有一定的特征选择功能,因为L1正则倾向于产生稀疏稀疏,它可以将一些“对标签没有用处”的特征对应的系数压缩为0,进而将对结果有较大影响的特征突显出来,而岭回归中L2正则项不具备这个功能。

逻辑回归中,同时加入L1和L2正则项不会使结果更加准确。

PCA中常用的是垂向偏移(perpendicular offsets)
SVM的核函数

线性核函数
多项式核函数
径向基核函数
傅里叶核函数
样条核函数
Sigmoid核函数

集成学习

集成学习中,各个模型之间有低相关性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值