04_Python簡答題

在這裏插入圖片描述

博文配套視頻課程:Python面試題與面試技巧


Python有哪方面的應用

  1. 常規軟件研發,支持B/S、C/S架構:Python支持函數式編程和OOP面向對象編程,能夠承擔任何種類軟件的開發工作,因此常規的軟件開發、腳本編寫、網絡編程等都屬於標配能力
  2. 科學計算:掌握語言:numpy、pandas、matplotlib 等庫的興起,讓Python越來越適合做科學計算、繪製高質量的2D和3D圖像
  3. 自動化運維:Python的簡單、高效是運維工程師的首選,Python在運維方面已經深入人心,Saltstack就是大名鼎鼎的自動化運維平臺
  4. 雲計算:開源雲計算解決方案OpenStack就是基於Python開發的
  5. Web開發:Python有很多的Web開發框架,例如:Django、Flask,其中Pytohn + Django應用範圍非常廣泛,速度快,學習門檻也低,能夠幫助快速搭建可用的Web服務
  6. 網絡爬蟲:也稱網絡蜘蛛,是大數據行業獲取數據的核心工具。沒有網絡爬蟲自動地、不分晝夜地、高智能地在互聯網上爬取免費的數據,那些大數據相關的公司恐怕要少四分之三,而Python中基於爬蟲的Scrapy框架絕對是目前的中流砥柱
  7. 機器學習與人工智能:在大量數據的基礎上,結合科學計算、機器學習、深度學習、神經網絡來讓數據產生巨大的價值,而基於Python的sklearn、以及googl開源的TensorFlow深度學習框架絕對是目前學習人工智能的首選語言

簡單說明機器學習的步驟

  1. 獲取數據:read_csv | read_xls | from sklearn.datasets | dataset.make_moons | scrapy
  2. 數據清洗:isnull, notnull、fillna、dropna、astype、pd.cut 對數據
  3. 特徵工程:One-hot PCA PolynomialFeatures
  4. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=1),交叉驗證 (訓練集又分爲訓練集和驗證集)
  5. 選擇合適的模型:線性迴歸、邏輯迴歸、K-means、決策樹、決策迴歸、集成學習、隨機森林、TensorFlow、貝葉斯
  6. 模型優化 超參數 (對超參數進行網格搜索)、特徵工程(PCA)、準確率、精確率、召回率、欠擬合、過擬合、增加樣本數量、刪除異常點、
  7. 保存與加載:job.load、job.dump

實例、類屬性以及實例、類靜態方法的區別

在Python中一切皆對象,類是一個特殊的對象即類對象,描述類的屬性稱爲類屬性,它屬於類。類屬性在內存中只有一份,所有實例對象公用,在__init__外部定義。實例屬性:用來描述類創建出來的實例對象,需要通過對象來訪問,在各自對象的內存中都保存一份,在__init__方法內部定義

class Person():
    count = 0  # 此處i爲類屬性

    def __init__(self, name):
        self.name = name  # 此處name爲實例屬性
        Person.count += 1

    def show(self):
        print(self.name)


per = Person("張三")  # 實例化
print(per.name)
# 類屬性,實例和類都可以訪問
print(per.count,Person.count)
# 實例屬性,類不能訪問
print(Person.name)
  1. 實例方法由對象調用,至少一個self參數,self代表對象的引用。
  2. 類方法由類調用,至少一個cls參數,並且需要裝飾器@classmethod修飾
  3. 靜態方法由類調用,不需要參數,需要裝飾器@staticmethod修飾
# 類屬性與實例屬性的區別
class Person():
    count = 0  # 此處i爲類屬性

    # 實例對象和類對象都可以調用。
    @classmethod
    def add(cls):
        cls.count += 1

    # 靜態方法主要是用來存放邏輯性的代碼,邏輯上屬於類,但是和類本身沒有關係,
    # 也就是說在靜態方法中,不會涉及到類中的屬性和方法的操作。可以理解爲,
    # 單純的函數,它僅僅託管於某個類的名稱空間中,便於使用和維護。

    @staticmethod
    def method():
        print('static method........')

    def __init__(self, name):
        self.name = name  # 此處name爲實例屬性
        Person.add() # self.add()

    # 只能由實例對象調用
    def show(self):
        print(self.name)

per = Person("張三")  # 實例化
print(per.name)
# 類屬性,實例和類都可以訪問
print(per.count, Person.count)
# 實例屬性,類不能訪問
# print(Person.name)
per.show()
per.method()
Person.method()

Python機器學習算法簡介

  1. 機器學習和深度學習目的:根據現有的數據經驗對未來進行預測

  2. 所有算法本質都是數學函數,機器學習的過程就是找到函數的參數,以讓函數曲線儘量擬合數據的過程 (誤差值變小的過程)

  3. 不那麼精確,卻是比沒有算法要可靠, 機器學習不探究事物的本質,不追求精確模型,只用基本的模型算法,直接以數據驅動預測

  4. 機器學習算法分類:

    4.1 監督學習:有標籤(預測結果)

    4.2 分類:對離散型變量預測的監督學習算法,定性輸出,郵件過濾,金融欺詐

    4.3 迴歸 (權重 + 偏值)、邏輯迴歸 (權重 + 偏值 + 決策邊界)、KNN (K近鄰)、決策樹 (信息熵)、貝葉斯 (TF-IDF)、向量機 (尋找最大間隔)、隨機森林、集成學習

  5. 無監督學習無標籤(預測結果)聚類:數據沒有標註,基於數據內部結構尋找樣本的自然集羣、新聞聚類、文章推薦

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章