匯入標準庫
importnumpy 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 importlabelencoder,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 importtrain_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 ...