實訓小結(5)

**

3.12 複習pandas的一些基本語法

**
python中,pandas中的Series對象和DataFrame對象
1、Series對象:
Series是一個一維數組對象,它包含一組索引和一組數據,可以理解爲一組帶索引的數組
2、DataFrame是一個表格型的數據結構,它提供有序的列和不同類型的類值
DataFrame將兩個或多個Series統一爲單個數據結構

reshape可以用於numpy庫裏的ndarray和array結構以及pandas庫裏面的DataFrame和Series結構。
使用reshape(-1,1)之後,數據集似乎變成了一列
使用reshape(1,-1)之後,數據集直接變成了一行
報錯:AttributeError: ‘Series’ object has no attribute ‘reshape’
解決辦法:
用values方法將Series對象轉化成numpy的ndarray,再用ndarray的reshape方法.
data[‘Amount’].values.reshape(-1, 1)
報錯:DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ),
for example using ravel(). y = column_or_1d(y, warn=True)
解決方法:
在Numpy中經常使用到的操作由扁平化操作,Numpy提供了兩個函數進行此操作,他們的功能相同,但在內存上有很大的不同.
flatten()和ravel()都能夠使得多維數組扁平化爲1維數組

問題2:
對數據做標準化處理後,預測的結果也是標準化處理後的值,如何還原到原來的單位來對比數據呢

**

3.13學習非數值型特徵值編碼

**
對非數值型特徵的處理:
數據特徵分類:
無序特徵、有序特徵、數值型特徵

離散特徵的編碼:
離散特徵的取值之間沒有大小意義:color:[red, blue],那麼使用one-hot編碼
離散特徵的取值之間有大小意義:比如size:[x,xl,xxl],那麼使用數值的映射{x:1,xl:2,xxl:3}
有很多種編碼方式,比如one-hot編碼(獨熱編碼),也可以映射有序特徵,對於分類型特徵,可以對類別進行編碼

3.14 解決列表與文件的讀寫問題
1、將一個list列表存入到一個txt文件中,此時的txt文件中的內容時字符串形式
2、第二次想再次讀出列表的時候,此時是字符串的形式,不太容易讀取
3、解決辦法:在寫入文件的時候使用逗號分隔
在讀出文件的時候通過split可以分開,再新建一個list列表append進去就可以了

with open('data/ip.txt','w',encoding='utf-8') as f:
    #print(ip_list)
    for line in ip_list:
        f.writelines(line+",")

with open('data/ip.txt','r',encoding='utf-8') as f:
    content = f.read()
    ip_list = content.split(',')
print(ip_list)

**

3.14對機器學習基本概念的學習

**
數據本身是具有傾斜的: 例如生病的人和不生病的人(後者一定多於前者)

做一些分類器,調用一些開源庫,調好參數

訓練數據(文本、圖像、聲音)——>提取特徵——>使用某個機器學習算法——>得到模型

難點:怎麼建立模型、參數是怎麼學到的

特徵選取:深度學習的引入,從數據讓深度模型幫助我們選取特徵

流程:數據收集、數據清洗、特徵工程、數據建模

導數和偏導數:偏導數也是函數在某一點沿座標軸正方向的變化率
區別在於:
導數,指的是一元函數中,函數y=f(x)在某一點處沿x軸正方向的變化率;
偏導數,指的是多元函數中,函數y=f(x1,x2,…,xn)在某一點處沿某一座標軸(x1,x2,…,xn)正方向的變化率。
梯度即函數在某一點最大的方向導數,函數沿梯度方向函數有最大的變化率。
概念   物理意義
導數   函數在該點的瞬時變化率
偏導數  函數在座標軸方向上的變化率
方向導數 函數在某點沿某個特定方向的變化率
梯度   函數在該點沿所有方向變化率最大的那個方向

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