Interview:算法岗位面试—10.11下午—上海某公司算法岗位(偏机器学习,互联网数字行业)技术面试考点之XGBoost的特点、python的可变不可变的数据类型、赋值浅拷贝深拷贝区别
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數字 Tuple元組 | List列表 Dictionary字典 Set集合 |
| 結合拷貝 例子:a = 521 | 結合拷貝 例子:a = [[521], {'521':521}] |
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)、淺拷貝是指把存放變量的地址值傳給被賦值,最后兩個變量引用了同一份地址。
| 常見的淺拷貝操作有:
|
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、深拷貝的應用: 主要是希望在改變新的數組(對象)的時候,不改變原數組(對象),即原來的東西還要使用。
| 常見的深拷貝操作有:
|
2、深拷貝的代碼實現
import copy b=copy.deepcopy(a)
?
總結
以上是生活随笔為你收集整理的Interview:算法岗位面试—10.11下午—上海某公司算法岗位(偏机器学习,互联网数字行业)技术面试考点之XGBoost的特点、python的可变不可变的数据类型、赋值浅拷贝深拷贝区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Pytorch之CNN:基于Pytorc
- 下一篇: Interview:算法岗位面试—10.