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]


判断链表有无交点?再判断入环节点。;

https://www.jianshu.com/p/09bb560ff025