Python 資料預處理

2022-05-28 22:24:23 字數 2260 閱讀 1518

匯入標準庫

import

numpy as np

import

matplotlib.pyplot as plt

import pandas as pd

匯入資料集

dataset = pd.read_csv('

data (1).csv

') #

read_csv:讀取csv檔案

#建立乙個包含所有自變數的矩陣,及因變數的向量

#iloc表示選取資料集的某行某列;逗號之前的表示行,之後的表示列;冒號表示選取全部,沒有冒號,則表示選取第幾列;values表示選取資料集裡的資料。

x = dataset.iloc[:, :-1].values #

選取資料,不選取最後一列。

y = dataset.iloc[:, 3].values #

選取資料,選取每行的第3列資料

缺失資料

from sklearn.preprocessing import imputer #

進行資料探勘及資料分析的標準庫,imputer缺失資料的處理

#imputer中的引數:

missing_values 缺失資料,定義怎樣辨認確實資料,預設值:nan ;strategy 策略,補缺值方式 : mean-平均值 , median-中值 , most_frequent-出現次數最多的數 ; axis =0取列 =1取行

imputer = imputer(missing_values = '

nan', strategy = '

mean

', axis =0)

imputer = imputer.fit(x[:, 1:3])#

擬合fit

x[:, 1:3] = imputer.transform(x[:, 1:3])

分類資料

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()

#因為purchased是因變數,python裡面的函式可以將其識別為分類資料,所以只需要labelencoder轉換為分類數字

labelencoder_y=labelencoder()

y=labelencoder_y.fit_transform(y)

將資料集分為訓練集和測試集

from sklearn.model_selection import

train_test_split

x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=0)

#x_train(訓練集的字變數),x_test(測試集的字變數),y_train(訓練集的因變數),y_test(訓練集的因變數)

#訓練集所佔的比重0.2~0.25,某些情況也可分配1/3的資料給訓練集;train_size訓練集所佔的比重

#random_state決定隨機數生成的方式,隨機的將資料分配給訓練集和測試集;random_state相同時會得到相同的訓練集和測試集

特徵縮放

#

特徵縮放(兩種方式:一:standardisation(標準化);二:normalisation(正常化))

from sklearn.preprocessing import

standardscaler

sc_x=standardscaler()

x_train=sc_x.fit_transform(x_train)#

擬合,對x_train進行縮放

x_test=sc_x.transform(x_test)#

sc_x已經被擬合好了,所以對x_test進行縮放時,直接轉換x_test

資料預處理模板

(1)匯入標準庫

(2)匯入資料集

(3)缺失和分類很少遇到

(4)將資料集分割為訓練集和測試集

(5)特徵縮放,大部分情況下不需要,但是某些情況需要特徵縮放

Python資料預處理

1.匯入資料檔案 excel,csv,資料庫檔案等 df read table file,names 列名1,列名2,sep encoding file是檔案路徑,names預設為檔案的第一行為列名,sep為分隔符,預設為空,表示預設匯入為一列 encoding設定檔案編碼,匯入中文時,需設定utf...

python資料預處理

scikit learn 提供的binarizer能夠將資料二元化 from sklearn.preprocessing import binarizer x 1,2,3,4,5 5,4,3,2,1 3,3,3,3,3 1,1,1,1,1 print before transform x binar...

python資料預處理

import pandas as pd 缺失值處理 df pd.read excel users caizhengjie desktop a.xlsx print df 直接呼叫info方法就會返回每一列的缺失值 print df.info print isnull方法判斷哪個是缺失值 print ...