task3特徵工程 task2EDA分析補充

2021-10-04 11:15:44 字數 1846 閱讀 5505

由於task2打卡失誤,僅包含賽題理解,所以在task3中做乙個補充~~

eda中使用到的基本方法:

data.shape()檢視資料行列總數

data.describe()檢視均值,標準差,資料分布等

data.info()資料資訊

data.isnull().sum()檢視資料為空總數

missingno繪製缺失資料分布圖

seaborn包中sns.distplot繪圖

.skew()和.kurt()檢視偏度和峰值

.format(features,data[features].nunique())格式化輸出不同的特徵值

data.corr()檢視資料相關係數

sns.heatmap()繪製資料熱力圖

sns.facetgrid畫出輪廓,然後用map填充內容

sns.pairplot()特徵之間的相互關係視覺化

以下為多變數間的關係視覺化

fig, ((ax1, ax2), (ax3, ax4), (ax5, ax6), (ax7, ax8), (ax9, ax10)) = plt.subplots(nrows=5, ncols=2, figsize=(24, 20))
常見特徵工程處理方法:

使用箱線圖去除異常值

def box_plot_outliers(data_ser, box_scale):

"""利用箱線圖去除異常值

:param data_ser: 接收 pandas.series 資料格式

:param box_scale: 箱線圖尺度,

:return:

"""iqr = box_scale * (data_ser.quantile(0.75) - data_ser.quantile(0.25))

val_low = data_ser.quantile(0.25) - iqr

val_up = data_ser.quantile(0.75) + iqr

rule_low = (data_ser < val_low)

rule_up = (data_ser > val_up)

return (rule_low, rule_up), (val_low, val_up)

上為找出異常值函式

先做log對數化處理

from sklearn import preprocessing

min_max_scaler = preprocessing.minmaxscaler()

data['power'] = np.log(data['power'] + 1)

data['power'] = ((data['power'] - np.min(data['power'])) / (np.max(data['power']) - np.min(data['power'])))

data['power'].plot.hist()

再進行歸一化處理

data['kilometer'] = ((data['kilometer'] - np.min(data['kilometer'])) / 

(np.max(data['kilometer']) - np.min(data['kilometer'])))

data['kilometer'].plot.hist()

繪製熱力圖觀察特徵相關性

未完待續...

Task 3 特徵工程

1 通過箱線圖 或3 sigma 分析刪除異常值 2 box cox轉換 處理有偏分布 3 長尾截斷 1 標準化 換為正態分佈 2 歸一化 3 針對冪律分布,可採用公式 1 x 1 median 1 等頻分桶 2 等距分桶 3 best ks 分桶 類似利用基尼指數進行二分類 4 卡方分桶 1 不處...

Task 3 特徵工程

1.異常處理 2.特徵歸一化 標準化 3.資料分桶 4.缺失值處理 5.特徵構造 1.異常處理 1 通過箱線圖 或3 sigma 分析刪除異常值 2 box cox轉換 處理有偏分布 3 長尾截斷 1 標準化 換為正態分佈 2 歸一化 3 針對冪律分布,可採用公式 1 x 1 median 1 等頻...

金融風控TASK3特徵工程

學習目標 學習特徵預處理 缺失值 異常值處理 資料分桶等特徵處理方法 學習特徵互動 編碼 選擇的相應方法 資料預處理常見方法 缺失值的填充 時間格式處理 物件型別特徵轉換到數值 異常值處理 基於3segama原則 基於箱型圖 資料分箱 固定寬度分箱b 分位數分箱離散數值型資料分箱連續數值型資料分箱 ...