2020 华为杯 数模 B题 数据挖掘
B題是一道數據挖掘題目
主要難點是 :題目樣本較小,但是樣本的維度又很大,需要分析的目標與數據之間的關系不明顯
解決這個題目應該注重以下幾方面
1、審題,對題目的要求一定要看清楚,特別是對提供的數據一定要仔細查看,最好用一些常規方法檢驗以下數據的分布情況
2、降維之前要把數據處理做好,數據處理很重要
3、建模之前要把降維做好,降維做得對,模型才好用
4、所以從難度上來說數據處理小于數據降維小于模型調整,但是從重要性上來水數據處理大于數據降維大于模型調整,一般人很難做出新的模型去針對這個問題,所以在模型層面大家都一樣,但是在降維方面由于大家選擇的方法不一樣,可能效果就不一樣,數據處理更是看每個人的仔細程度和經驗積累了。
接下來總價以下數據挖掘流程中,每個步驟的方法
數據預處理
缺失值:
空值,超過取值范圍的值
缺失值的處理:
當缺失值占比過高,可以直接刪除此類值
當缺失值占比較低,可以考慮用均值填充,或者臨近值填充
離群值:
簡單統計分析:根據箱線圖、各分位點判斷是否存在異常,例如pandas的describe函數可以快速發現異常值
3西格瑪原則
基于密度:離群點的局部密度顯著低于大部分近鄰點,適用于非均勻的數據集
基于聚類:利用聚類算法,丟棄遠離其他簇的小簇
基于距離:通過定義對象之間的臨近性度量,根據距離判斷異常對象是否遠離其他對象,缺點是計算復雜度較高,不適用于大數據集和存在不同密度區域的數據集
離群值處理:
根據異常點的數量和影響,考慮是否將該條記錄刪除,信息損失多
若對數據做了log-scale 對數變換后消除了異常值,則此方法生效,且不損失信息
平均值或中位數替代異常點,簡單高效,信息的損失較少
在訓練樹模型時,樹模型對離群點的魯棒性較高,無信息損失,不影響模型訓練效果
噪聲:
噪聲是變量的隨機誤差和方差,是觀測點和真實點之間的誤差。
噪聲處理:
分箱操作,就是將數據分成很多小組,用每個小組數據的均值或者中值之類的值取代小組內所有值
回歸法:先建立一個擬合方程,然后重新預測這些數據,可以把噪聲去掉,前提是這一類數據很容易被擬合。
數據歸一化
數據歸一化的目標:
讓數據無量綱化,這樣數據就可以比較。
提高一些算法精度,特別是當算法中使用到“距離”這個概念
提高計算機運算精度
數據歸一化方法:
極值歸一化:
讓數據落在 0 -1 范圍內。
但是極值歸一化的問題在于當出現新的數據,極值可能會改變。
對于離群值比較敏感。
數據被比例放縮。
Zscore方法:
當數據符合正態分布時比較合適,不受離群值影響,對于新數據也不敏感。
數據降維
PCA方法
對數據做協方差計算,獲得協方差矩陣,再對協方差矩陣進行SVD分解,取SVD分解中比較大的特征值對應的特征向量組成轉換矩陣,這個轉化矩陣與原來的高維矩陣相乘可以獲得一個低維的矩陣,也就實現了降維。這個方法的優點在于可以通過選擇特征向量的數目來保留不同程度的信息量,而且一般降維程度比較大。降維之后的數據也容易恢復成原來的數據,這個方法的本質是矩陣論里面的svd分解。但是這個方法不適用于特征選取,因為特征已經被融合了。這方法還可以從空間基的角度來理解。
協方差計算公式:
這個方法還有很多變種解決各種問題,比如IPCA增益 用來處理超級高維數據的加速計算(本質上是分塊并行計算),核PCA處理非線性關系 值得好好研究
LDA方法
有監督學習,將數據降維到低維之后盡量可分,原理再說。。。
在分類問題中應該嘗試使用LDA
逐步線性回歸方法
有前向因子選擇和后向因子選擇,本質就是先用二元函數擬合然后計算統計量F,根據查表如果F顯著,則保留該因子
基于自變量與因變量是線性關系的假設
互信息方法
互信息度量 X 和 Y 共享的信息:它度量知道這兩個變量其中一個,對另一個不確定度減少的程度。例如,如果 X 和 Y 相互獨立,則知道 X 不對 Y 提供任何信息,反之亦然,所以它們的互信息為零。在另一個極端,如果 X 是 Y 的一個確定性函數,且 Y 也是 X 的一個確定性函數,那么傳遞的所有信息被 X 和 Y 共享:知道 X 決定 Y 的值,反之亦然。
隨機森林方法
很強
建模
回歸模型
SVM模型
BP模型
線性模型
分類模型
SVM模型
樹模型
logistic模型
智能優化算法
總結
以上是生活随笔為你收集整理的2020 华为杯 数模 B题 数据挖掘的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机系统 程序和指令
- 下一篇: 吴恩达深度学习一:神经网络