Python----數據預處理
阿新 • • 發佈:2019-03-17
fit das sin missing 隨機 stand plot 行數 逗號
- 導入標準庫
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 # 選取數據,不選取最後一列。
- 缺失數據
from sklearn.preprocessing import Imputer #進行數據挖掘及數據分析的標準庫,Imputer缺失數據的處理 #Imputer中的參數:missing_values 缺失數據,定義怎樣辨認確實數據,默認值:nan ;strategy 策略,補缺值方式 : mean-平均值 , median-中值 , most_frequent-出現次數最多的數 ; axis =0取列 =1取行 imputer = Imputer(missing_values = ‘
- 分類數據
from sklearn.preprocessing import LabelEncoder,OneHotEncoder labelencoder_X=LabelEncoder() X[:,0]=labelencoder_X.fit_transform(X[:,0]) onehotencoder=OneHotEncoder(categorical_features=[0]) X
- 將數據集分為訓練集和測試集
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----數據預處理