ML岗位面试:10.11下午—上海某公司算法岗位(偏机器学习,互联网数字行业)技术面试考点之XGBoost的特点、python的可变不可变的数据类型、赋值浅拷贝深拷贝区别

Interview:算法岗位面试—10.11下午—上海某公司算法岗位(偏机器学习,互联网数字行业)技术面试考点之XGBoost的特点、python的可变不可变的数据类型、赋值浅拷贝深拷贝区别

导读:其实,考察的知识点,博主都做过,但是,emmm,这些知识点,在我写代码中,几乎不会用到,so,会遗忘。所以,还需要下功夫,去多回忆回忆啦。

目录

XGBoost的特点

1、XGBoost的损失函数

Python语言基础知识点考察

1、可变不可变的数据类型

2、赋值、浅拷贝、深拷贝区别


XGBoost的特点

1、XGBoost的损失函数

往期文章:ML之XGBoost:XGBoost算法模型(相关配图)的简介(XGBoost并行处理)、关键思路、代码实现(目标函数/评价函数)、安装、使用方法、案例应用之详细攻略

Python语言基础知识点考察

1、可变不可变的数据类型

python中主要有6种标准数据类型,分为可变和不可变两类。
不可变类型:该数据类型对象所指定内存中的值不可以被改变。
(1)、在改变某个对象的值时,由于其内存中的值不可以被改变,所以,会把原来的值复制一份再进行改变,这样就会计算机会开辟一段新的内存空间来存储新的值。

可变类型:该数据类型的对象所指定的地址上面的值可以被改变。
(1)、变量被改变后,其所指向的内存地址上面的值,直接被改变,没有发生复制行为,也没有发生开辟新的内存地址行为,不会重新开辟空间。

不可变类型—非嵌套数据 可变类型—可嵌套数据

Number数字
String字符串

Tuple元组

List列表
Dictionary字典
Set集合

结合拷贝

例子:a = 521
copy.copy 和 copy.deepcopy 没有区别,都会开辟新空间存储数据。

结合拷贝

例子:a = [[521], {'521':521}]
copy.copy没有办法保证数据的独立性,拷贝第一层的引用。
copy.deepcopy完全拷贝所有的层级,都会有自己的空间。

2、赋值、浅拷贝、深拷贝区别

首先,需要明确一点,浅拷贝和深拷贝之间的区别只适用于容器对象(包含其他对象的对象,如列表或类实例)。对于非容器对象没有区别,都是对象拷贝,相当于重新赋值,生成一个新的对象。

敲重点,面试时,下边三句回答即可!

  • 简单的来说,在有指针的情况下,浅拷贝只是增加了一个指针指向已经存在的内存。
  • 深拷贝就是增加一个指针并且申请一个新的内存,使这个增加的指针指向这个新的内存。
  • 应用copy.copy浅拷贝、copy.deepcopy深拷贝功能的时候,会根据当前拷贝的数据类型,可变类型和不可变类型有不同的处理方式。
    (1)、对于不可变对象(数字、字符串、元祖),浅拷贝和深拷贝是没有区别的。
    (2)、对于可变对象(列表、字典、集合),浅拷贝第一次层引用,而深拷贝是完全拷贝。

1、赋值—对象赋值实际上是简单的对象引用

比较简单,赋值就是对物体进行贴标签操作,作用于同一物体。

  • 赋值:值不变,地址不变;
  • copy浅拷贝和deepcopy深拷贝:值相等,地址不相等;

2、浅拷贝—只拷贝父对象

A shallow copy constructs a new compound object and then (to the extent possible) inserts references into it to the objects found in the original.
(1)、浅拷贝是指拷贝的只是原对象元素的引用,换句话说,浅拷贝产生的对象本身是新的,但是它的内容不是新的,只是对原对象的一个引用。
(2)、浅拷贝是指把存放变量的地址值传给被赋值,最后两个变量引用了同一份地址。

  • 浅拷贝会创建一个新的容器对象(compound object)。
  • 对于对象中的元素,浅拷贝就只会使用原始元素的引用(内存地址)。
常见的浅拷贝操作有:

  • 使用切片操作[:]
  • 使用工厂函数(如list/dir/set)
  • copy模块的copy()方法

1、浅拷贝的代码实现

import copy
b=copy.copy(a)

3、深拷贝—完全拷贝父对象及其子对象

A deep copy constructs a new compound object and then, recursively, inserts copies into it of the objects found in the original.
(1)、深拷贝是指被赋值的变量开辟了另一块地址用来存放要赋值的变量的值(内容)。
1、深拷贝的应用: 主要是希望在改变新的数组(对象)的时候,不改变原数组(对象),即原来的东西还要使用。

  • 1)深拷贝和浅拷贝一样,都会创建一个新的容器对象(compound object)
  • 2)和浅拷贝的不同点在于,深拷贝对于对象中的元素,深拷贝都会重新生成一个新的对象

常见的深拷贝操作有:

  • copy.deepcopy

2、深拷贝的代码实现

import copy
b=copy.deepcopy(a)

Interview:算法岗位面试—10.11下午—上海某公司算法岗位(偏机器学习,互联网数字行业)技术面试考点之XGBoost的特点、python的可变不可变的数据类型、赋值浅拷贝深拷贝区别相关推荐

  1. Interview:算法岗位面试—10.11下午—上海某公司算法岗位(偏数据分析,证券金融行业)技术面试考点之sqlserver语言相关考察点复习

    Interview:算法岗位面试-10.11下午-上海某公司算法岗位(偏数据分析,证券金融行业)技术面试考点之sqlserver语言相关考察点复习 导读:其实,考察的知识点,博主都做过, 还包括sql ...

  2. Interview:算法岗位面试—10.16下午—上海某公司算法岗位(偏图像算法,国内顶端医疗行业)技术面试之一点技术都没问

    Interview:算法岗位面试-10.16下午-上海某公司算法岗位(偏图像算法,国内顶端医疗行业)技术面试之一点技术都没问 反思:时间把控,应该更好一点,讲解内容,应该更全面一点,最重要的是,讲解的 ...

  3. Interview:算法岗位面试—10.15下午—上海某公司算法岗位(偏机器学习,合资制造行业)技术面试考点之电话面试—研究项目的技术考察

    Interview:算法岗位面试-10.15下午-上海某公司算法岗位(偏机器学习,合资制造行业)技术面Interview:算法岗位面试-10.15下午-上海某公司算法岗位(偏机器学习,合资制造行业)技 ...

  4. Interview:算法岗位面试—10.15上午—上海某公司算法岗位(偏图像算法,制造行业)技术面试考点之AI算法与实际场景结合产生商业价值的头脑风暴

    Interview:算法岗位面试-10.15上午-上海某公司算法岗位(偏图像算法,制造行业)技术面试考点之AI算法与实际场景结合产生商业价值的头脑风暴 导读:一心想去互联网,未必能够发挥自己最大价值, ...

  5. Interview:算法岗位面试—10.31下午上海某银行总部公司(二面,四大行之一)之项目简介、比赛介绍、某个比赛的过程

    Interview:算法岗位面试-10.31下午上海某银行总部公司(二面,四大行之一)之项目简介.比赛介绍.某个比赛的过程 导读:明天还有事,更多详细内容后期再更新哈 目录 项目简介.比赛介绍.某个比 ...

  6. Interview:算法岗位面试—10.29下午上海某电子(偏传统ML算法,外企)数据结构算法+晚上国内某保险公司(偏AI算法,世界500强)技术面试之分类算法、回归算法、聚类算法等细节考察

    ML岗位面试:10.29下午上海某电子(偏传统ML算法,外企)数据结构算法+晚上国内某保险公司(偏AI算法,世界500强)技术面试之分类算法.回归算法.聚类算法等细节考察 Interview:算法岗位 ...

  7. Interview:算法岗位面试—10.24下午—上海某软件公司(机器学习,上市)电话面试—考察SVM、逻辑回归、降低过拟合、卷积网络基础等

    Interview:算法岗位面试-10.24下午-上海某软件公司(机器学习,上市)电话面试-考察SVM.逻辑回归.降低过拟合.卷积网络基础等 导读:当时电话来的非常快,我刚做完一家公司的笔试,接着来了 ...

  8. Interview:算法岗位面试—10.23下午—上海某科技公司算法岗位(偏机器学习算法,上市)技术面试之比赛积累、项目经验、个人未来发展

    Interview:算法岗位面试-10.23下午-上海某科技公司算法岗位(偏机器学习算法,上市)技术面试之比赛积累.项目经验.个人未来发展 导读:该面试,是线上笔试通过之后,邀约的面试.整个面试过程比 ...

  9. Interview:算法岗位面试—10.12上午—上海某科技公司图像算法岗位(偏图像算法,互联网AI行业)技术面试考点之LoR逻辑回归的底层代码实现、特征图计算公式

    ML岗位面试:10.12上午-上海某科技公司图像算法岗位(偏图像算法,互联网AI行业)技术面试考点之LoR逻辑回归的底层代码实现.特征图计算公式 Interview:算法岗位面试-10.12上午-上海 ...

最新文章

  1. java 三个参数的运算符,java – 三个参数运算符:局部变量可能尚未初始化
  2. ML之catboost:基于自定义数据集利用catboost 算法实现回归预测(训练采用CPU和GPU两种方式)
  3. Dataset之OttoGroup:OttoGroup数据集的简介、下载、案例应用之详细攻略
  4. 我的2017年前端之路总结
  5. php新闻列表排序,javascript 新闻列表排序简单封装
  6. linux SCP远程拷贝文件方法及not a regular file 错误解决方法
  7. 使用CodeBlocks编译64位程序(用的编译器仅仅是windows sdk的)
  8. mac系统的UTF-8 BOM编码
  9. GoLang获取硬盘序列号
  10. 三目表达式和if-else语句完全一样吗?
  11. 悠歌“即时”游戏回合文案
  12. springboot网上投资借贷中介服务毕业设计-附源码221506
  13. cidaemon.exe
  14. SOtime -- JS的时间戳与日期转换操作
  15. C语言第1讲——基本编程知识
  16. word wps 出版 常用操作
  17. win 7使用mimikatz实现MS14-068漏洞
  18. 统计学习方法——最小二乘法及其具体实现
  19. tf-faster-rcnn训练报错: Loaded runtime CuDNN library: 7.0.5 but source was compiled with: 7.1.4.r-rcn
  20. 常见UNIXLINUX系统

热门文章

  1. windows7下硬盘安装32位ubuntu12.04LTS
  2. 10月25日lol服务器维护,《LOL》lol10月25日停机维护到什么时候 10.25维护结束时间...
  3. java 什么是内存屏障,java内存屏障和可见性
  4. psp能装安卓软件吗_客户crm 软件能定制吗
  5. 自己在CODING过程中遇到的问题以及解决(C/VC)
  6. Zynq器件的时钟系统
  7. ARM uboot Legacy uImage 和 fit img (Flattened uImage Tree)原理介
  8. LeetCode 集锦(二十二) - 第 101 题 Symmetric Tree
  9. 个人机房重构--七层实现登录
  10. android不能使用udp获取数据解决