MachineLearning入門 6(資料匯入)

2022-08-26 23:45:20 字數 2369 閱讀 8992

定量研究最重要的是如何提出問題,而不是資料的統計方法;

定量研究是乙個全面的過程,不只是資料,也不只是統計,而是運用統計來研究資料,資料、統計方法、理念,三者缺一不可,其中,理念是最重要的。

在訓練機器學習的模型時,需要用到大量的資料,最常用的做法是利用歷史的資料來訓練模型。這些資料通常會以csv的格式儲存,或者能夠方便的轉化為csv格式。在開始啟動機器學習專案之前,必須先將資料匯入到python中。

下面介紹三種將csv資料匯入到python中的方法,以便完成對機器學習演算法的訓練。

csv檔案使用(,)分隔的文字檔案。在資料匯入之前,通常會審查一下csv檔案中包含的內容。在審查csv檔案時,通常要注意以下幾個方面。

檔案頭:如果csv檔案裡包含檔案頭的資訊,可以很方便的使用檔案頭資訊來設定讀入資料字段的屬性名稱。如果檔案裡不包含檔案頭資訊,需要自己手動設定讀入檔案的字段屬性名稱。資料匯入時,設定字段屬性名稱,有助於提高資料處理程式的可讀性。

檔案中的注釋:在csv檔案中,注釋行是以#開頭的。是否需要對讀入的注釋行做處理,取決於採用什麼方式讀入csv檔案。

分隔符:csv檔案的標準分隔符是逗號(,),當然,也可以使用tab鍵或空格鍵作為自定義的分隔符。當使用這兩種分隔符時,檔案讀取是要指明分隔符的。

引號:當有的字段值中有空白時,這些值通常都會被引號引起來,預設使用雙引號來標記這些字段值。如果採用自定義格式,那麼在檔案讀取時要明確在檔案中採用的自定義格式。

本章中選擇的pima indians資料集就是從uci中獲取的。這是乙個分類問題的資料集,主要記錄了印第安人最近五年內是否患糖尿病的醫療資料。這些資料都是以數字的方式記錄的,並且輸出結果是0或1,使我們在機器學習的演算法中建立模型變得非常方便。

採用標準python類庫匯入資料

python提供了乙個標準類庫csv,用來處理csv檔案。這個類庫中的reader()函式用來讀入csv檔案。當csv檔案被讀入後,可以利用這些資料生成乙個numpy陣列,用來訓練演算法模型。

1

from csv import

reader

2import

numpy as np3#

使用標準的python類庫匯入csv資料

4 filename='

/home/aistudio/work/pima_data1.csv

'5 with open(filename,'rt'

) as raw_data:

6 readers=reader(raw_data,delimiter=','

)7 x=list(readers)

8 data=np.array(x).astype('

float')

9print(data.shape)

(768, 9)

採用numpy匯入資料

也可以使用numpy的loadtxt()函式匯入資料。使用這個函式處理的資料沒有檔案頭,也就是說,資料型別是一樣的。**如下:

1

from numpy import

loadtxt2#

使用numpy匯入csv資料

3 filename='

/home/aistudio/work/pima_data1.csv

'4 with open(filename,'rt'

) as raw_data:

5 data=loadtxt(raw_data,delimiter=','

)6print(data.shape)

(768, 9)

採用pandas匯入資料

通過pandas來匯入csv檔案要使用pandas.read_csv()函式。這個函式返回值是dataframe,可以很方便地進行下一步處理。函式名稱非常直觀,便於**的閱讀和後續的對資料的處理。在機器學習的專案中,經常利用pandas來做資料清洗與資料準備工作。因此,在匯入csv檔案時,推薦使用pandas。

1

from pandas import

read_csv2#

使用pandas匯入csv資料

3 filename='

/home/aistudio/work/pima_data1.csv

'4 names=['

preg

','plas

','pres

','skin

','test

','mass

','pedi

','age

','class']

5 data=read_csv(filename,names=names)

6print(data.shape)

(768, 9)

這段**為資料補充了檔案頭。

Machine Learning 梯度下降

對於lost function利用梯度下降的方法實現引數調整,梯度下降在每一次迭代的過程中需要全部樣本參與,而隨機梯度法或增量梯度法在迭代中利用樣本中的乙個樣本更新引數。梯度下降達到全域性最優 include include using namespace std define maxiter 22...

安裝Machine Learning環境

公升級python版本到3.5以上。詳情參考linux公升級python版本 步驟1中也包含了安裝pip 第一批ml環境 pip install tensorflow pip install keras pip install beautifulsoup4 pip install lxml pip ...

機器學習(Machine Learning)

最近開始接觸機器學習,簡稱ml。ml 可以這樣理解,從一堆資料中提煉出特徵值。首先,我們需要在計算機中儲存歷史的資料。接著,我們將這些 資料通過機器學習演算法進行處理,這個過程在機器學習中叫做 訓練 處理的結果可以被我們用來對新的資料進行 這個結果一般稱之為 模型 對新資料 的 過程在機器學習中叫做...