對於剛入門的數據挖掘小伙伴們,先要建立一個數據挖掘的流程概念。
首先,我們拿到相應的數據,這個數據有的是通過數據庫,利用hive或者SQL獲取你用於分析的數據;或者直接通過一些上游分析得到的數據(例如通過生物信息分析流程得到的初步結果)。
拿到數據之后,需要先對數據進行一個初步探索,需要去了解數據的各個緯度信息:
第一步,對數據的了解和可視化
1、幾行幾列,有多少個特征,多少樣本
2、是否有缺失值,看看缺失值的情況
3、看數據類型,是否有一些字符型數據,因為后續的模型需要用到的是數值型數據
4、對數據做個可視化,看看數據長什么樣
第二步,對目標的了解以及對數據的初步處理
1、對數據挖掘的目標要有所理解,通過理解,可以進行這一步的主要分析
2、缺失值:通過對數據以及目標的理解,看看 a、是否可以直接刪除該缺失數據 b、如果不能刪除,用什么樣的方法填充它比較好,常見的有均值,中位數,或者拉格朗日法,牛頓法等填充。這個填充要基於對數據的了解,才方便自己選擇具體方法進行處理,例如你的數據可能是由於低於某些儀器的檢測下限所造成缺失的,那么可以用0來填充。
3、異常值:看數據是否處於異常,可以用 3σ原則,PCA,箱線圖等等,至於是否要處理也要看建模的目標對於異常值的考慮。
第三步,數據預處理
主要是對數據進行歸一化,標准化,字符型數據轉化成數值性數據,包括min-max,z-score, one-hot
第四步,特征工程
經歷了數據的預處理之后,接下去就是進行特征工程了,特征工程顧名思義就是對數據里面的特征進行一個操作,選擇后續可以提高模型效果的特征。
1、相關性分析,選擇一些與目標強相關性的特征
2、遞歸法,一開始,可以讓所有特征進入模型,之后利用模型選擇出來的important_feature得到重要特征,再選擇top n的特征(n由自己選擇)進入模型訓練
3、還有其他一些方法(后續補充)
第五步,建立模型
在進行特征工程之后,我們一般會建立2-3個模型,來比較這幾個模型在這個任務上哪個模型更好。
例如:
分類模型:KNN、貝葉斯分類、決策樹、隨機森林、SVM、邏輯回歸。。。
回歸模型:簡單線性回歸、多重線性回歸、一元非線性回歸、lasso回歸、嶺回歸。。。
以上內容是初步的一個內容,也是數據挖掘的基本流程,后續會對每一步進一步的展開說明,並且有相關的數據來展示。
第一次用博客來記錄自己的學習內容,希望可以通過這個平台多輸出一些優質的內容。
如有需要聯系我的話,可以發email給我:18868801916@163.com