eda:在資料中經常會用到exploratory data analysis
屬性的數值分布檢視:
可以看數值的離群點在哪,也可以簡單進行資料分析,分布的範圍是否很大,是否可以看做類別屬性,是否可以分bin:
for i in ['parameter'+str(i) for i in range(1,11)]:
plt.figure(figsize=(14,8))
plt.scatter(x=range(len(train)), y=train[i], label='train')
plt.scatter(x=range(len(train),len(test)+len(train)), y=test[i], label='test')
plt.title(i)
plt.legend()#圖上寫圖例的意思,在圖的角落裡寫上不同的線是做什麼的
plt.show()
根據圖上的資訊,可以設定閾值,將那些樣例去掉。(train的裡面) , 對於test裡的這個屬性的離群點?
離群點:
點異常、值異常:如果乙個資料例項離其他資料太遠,那麼它就是異常的。包括某個特徵的值。
上下文異常:異常是上下文特定的。這種異常在時間序列資料中很常見。
資料不平衡:
在分類問題上通常會出現出具不平衡的問題,主要有兩種解決辦法:
第一種是正常分類訓練的時候loss函式的權重不一樣。如果使用sklearn裡自帶的線性回歸logisticregression(class_weight='balanced')或logisticregression(class_weight=)
第二種是資訊重取樣:
under_sample欠取樣,及將多的那個類按照一定要求的樣例。
tomek links:指的是乙個點周圍最近的點是另乙個類的點,在訓練的時候為了更容易訓練,這樣的點我們可能要去掉。
from imblearn.under_sampling import tomeklinks
tl = tomeklinks(return_indices=true, ratio='majority')
x_tl, y_tl, id_tl = tl.fit_sample(x, y) #print('removed indexes:', id_tl)
plot_2d_space(x_tl, y_tl,x,y, 'tomek links under-sampling')
over-sampling過取樣的方法: smote 因為欠取樣可能刪除掉有用的資訊,一些異常點可能是有意義的(去掉可能會出現下溢),一些噪音在訓練的時候也是有意義的(泛化能力強)。所以在平時我們通常使用smote來增加樣例少的資料,之後使用tomek links將不易區分的樣例去掉。而平時我們常用的過取樣是簡單得將資料樣本複製或者簡單變換得到。這樣資訊量幾乎沒有增加。而smote是在少量樣本之間自動生成乙個樣本。
正常來說如果3個類別資料量的比例是1:2:3,我們不會重取樣。如果有的類別比例是1:8才會重取樣。
cross-validation交叉驗證:
正常的交叉驗證:k-folds
: k折,訓練k次,之後最終test資料進入k個分類器,得到的結果求平均值。
資料分析課程(2)pandas
series學習 pandas 入門 author sonny date 2019 06 import pandas as pd pandas兩種資料結構 series,dataframe from pandas import series series初始化方式 通過列表初始化,通過字典初始化 l...
資料分析 資料分析概述
了解業務 了解資料 確認業務和資料 預期分析和管理 資料分析方式01.了解資料資料 1.測量標度型別 屬性本源並不是數字或者符號,通過測量標度將數值或者符號和物件的屬性建立關聯。屬性的型別 測量尺度 nominal 標稱 等於或者不等於 一對一的變換 ordinal 序數 大於或者小於 單調函式的變...
資料分析 資料分析的誤區
在資料分析的過程中,我們難免會走一些彎路,但有些彎路是可以避免的,下面我將介紹幾個資料分析過程中常見的誤區 我們一定都聽說過二戰中的乙個經典示例 軍方為了提高戰鬥機飛行員的生還率,打算在飛機上增加裝甲的厚度,但不能在所有部位加厚,這樣會喪失戰機的靈活性,於是軍方請了統計學家來研究,這些專家在一開始就...