python有什么基本的容器
列表,元组,集合,字典
元组和list有什么区别
列表是动态数组,它们不可变且可以重设长度(改变其内部元素的个数)。
元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。
元组缓存于Python运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存。
这些区别结实率两者在设计哲学上的不同:
列表可被用于保存多个互相独立对象的数据集合
元组用于描述一个不会改不安的事务的多个属性
---------------------
作者:藤藤菜丶
来源:CSDN
原文:https://blog.csdn.net/Star_SDK/article/details/80600673
版权声明:本文为博主原创文章,转载请附上博文链接!
lambda表达式知道吗
用于创建匿名函数,表达式,用于实现简单的逻辑
字典是用的什么数据结构
dictionary字典,是除列表外python最灵活的内置数据结构类型,列表是有序的对象集合,字典是无序的对象集合。字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种通过名字或者关键字引用的数据结构,其键可以是数字、字符串、元组,这种结构类型也称之为映射。字典类型是Python中唯一內 建的映射类型
给你一个字典你要对它做修改你会怎么做
增:list['key'] = vaule
删:del list[key]
改:list['key'] = vaule
is知道吗
传统机器学习知道什么模型?
- Logistic回归:Logistic是用来分类的,是一种线性分类器
Logistic回归优点:
1、实现简单;
2、分类时计算量非常小,速度很快,存储资源低;
缺点:
1、容易欠拟合,一般准确度不太高
2、只能处理两分类问题(在此基础上衍生出来的softmax可以用于多分类),且必须线性可分;
- 线性回归:线性回归才是真正用于回归的,而不像logistic回归是用于分类,其基本思想是用梯度下降法对最小二乘法形式的误差函数进行优化
线性回归优点:
实现简单,计算简单;
缺点:
不能拟合非线性数据;
- SVM(支持向量机):
LR(逻辑回归)和SVM(支持向量机)有什么区别?
https://www.cnblogs.com/zhizhan/p/5038747.html
决策树是怎么找分裂节点的?
GBDT和决策树有什么区别?
XGBoost知道吗,说说它和GBDT的区别?
深度学习有什么防止过拟合的方法?
bn的作用?
- 减轻过拟合
- 改善梯度传播(权重不会过高或过低)
- 容许较高的学习率,能够提高训练速度。
- 减轻对初始化权重的强依赖,使得数据分布在激活函数的非饱和区域,一定程度上解决梯度消失问题。
- 作为一种正则化的方式,在某种程度上减少对dropout的使用。
- 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原文: https://www.cnblogs.com/makefile/p/batch-norm.html?utm_source=debugrun&utm_medium=referral © 康行天下
LSTM的结构?
resNet知道么
排序有哪些,快排的思想
https://blog.csdn.net/weixin_41571493/article/details/81875088
快速排序:从数列中挑出一个元素,称为 “基准”(pivot);
重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作;
递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。
---------------------
作者:傻了吧嗒
来源:CSDN
原文:https://blog.csdn.net/weixin_41571493/article/details/81875088
版权声明:本文为博主原创文章,转载请附上博文链接!
topK():有 N (N>1000000)个数,求出其中的前K个最小的数(又被称作topK问题)
https://www.cnblogs.com/gczr/p/7007592.html
利用快速排序的分划函数找到分划位置K,则其前面的内容即为所求。该算法是一种非常有效的处理方式,时间复杂度是O(N)
def partition(data,start,end):
if len(data)==1:
return 0
small=start
p=small+1
while p<=end:
if data[p]<data[start]:
small+=1
data[p],data[small]=data[small],data[p]
p+=1
data[start],data[small]=data[small],data[start]
return small
def topk(data,k):
if k==0:
return None
if len(data)<=k:
return data
left=0
right=len(data)-1
s=partition(data,left,right)
while s+1!=k: #下标加1才能与前k的k进行比较
if s+1>k:
right=s-1
if s+1<k:
left=s+1
s=partition(data,left,right)
return data[:k]