機器學習日誌之資料預處理

2021-10-04 20:37:56 字數 2301 閱讀 7786

在當今社會的潮流下,機器學習,深度學習等已經得到了深層次的運用,為了鞏固學習效果,也方便尋找**等,我將學習機器學習的一些感悟等進行總結。

1.我們需要引入兩個庫,numpy和pandas。
numpy包含數學計算,矩陣陣列等。

pandas則用來匯入,讀取,管理資料。

import numpy as np

import pandas as pd

2.匯入資料集
收據集一般是.csv的格式,以文字的形式儲存資料,一行為記錄的乙個資料。我們使用pandas庫匯入讀取檔案資料。

dataset = pd.read_csv(

'data.csv'

)//讀取csv檔案

3.將資料轉化成矩陣形式
在後續的計算中,我們需要以矩陣或向量的形式來進行加工,**等工作,故必須將資料轉化成相應的格式。

我們使用dataset.iloc命令完成

x = dataset.iloc[:,

:3].values//讀取其全部行,0至3列

y = dataset.iloc[4,

4].values //讀取第4行,第4列。

4.處理丟失的資料
資料可能因為各種原因而丟失,為了提高機器學習的準確性,我們需要對資料進行處理,我們可以使用平均值或中間值來代替。

我們將引入sklearn.preprocessing庫中的imputer來完成任務。

from sklearn.preprocessing import imputer

imputer = imputer(missing_values =

"nan"

, strategy =

"mean"

, axis =0)

imputer = imputer.fit(x[:,

1:3]

)x[:,

1:3]

= imputer.transform(x[:,

1:3]

)

5.解析分類資料
我們需要將資料的文字型別,如yes或no,分類成數字型別,以供計算。

我們將引用sklearn.preprocessing庫中的 labelencoder來完成工作。

from sklearn.preprocessing import labelencoder, onehotencoder

labelencoder_x = labelencoder()x[

:,0]

= labelencoder_x.fit_transform(x[:,

0])

後建立虛擬變數

onehotencoder = onehotencoder(categorical_features =[0

])x = onehotencoder.fit_transform(x)

.toarray(

)labelencoder_y = labelencoder(

)y = labelencoder_y.fit_transform(y)

6.拆分資料集為訓練集合和測試集合
將資料拆分成用於訓練模型的資料集和用於驗證對比的資料集。比例一般為80:20.我們將使用sklearn.cross_validation庫中的train_test_split完成工作。

from sklearn.cross_validation import train_test_split

x_train, x_test, y_train, y_test = train_test_split( x , y , test_size =

0.2, random_state =

0)

7.特徵量化(特徵縮放)
大部分的演算法都使用兩點間的歐氏距離來表示,但此特徵有時變化很大,故我們可以對其進行特徵標準化。

from sklearn.preprocessing import standardscaler

sc_x = standardscaler(

)x_train = sc_x.fit_transform(x_train)

x_test = sc_x.transform(x_test)

機器學習之資料預處理

1.為什麼需要資料預處理?原始資料來自於現實場景,常常有以下幾個特徵 髒 亂 差 缺。髒體現在原始資料裡混雜許多雜訊資料,亂體現在原始資料各維度量綱不同一。差體現在資料錯誤 出現不尋常不一致,這和髒相似。缺體現在原始資料的某些資料段值的缺失。2.資料預處理的方法。歸一化 標準化和中心化是資料預處理中...

機器學習之資料預處理

from sklearn.preprocessing import standardscaler x scaler standardscaler y scaler standardscaler x train x scaler.fit transform x train y train y scal...

機器學習之資料預處理

資料預處理方法 均值移除 範圍縮放 二值化歸一化 獨熱編碼 標籤編碼 直接呼叫api介面進行處理 輸入 輸出 0.5 5.0 0.6 5.5 0.8 6.0 1.1 6.8 1.4 7.0 y f x 函式 y w0 w1x x 輸入 y 輸出 w0和w1 模型引數 所謂模型訓練,就是根據已知的x和...