数据挖掘算法_算法篇(01) 数据挖掘算法初探
前言
無(wú)論是傳統(tǒng)行業(yè),還是互聯(lián)網(wǎng)行業(yè)。掌握數(shù)據(jù),就是掌握規(guī)律。當(dāng)你了解了市場(chǎng)數(shù)據(jù),對(duì)它進(jìn)行分析,就可以得到市場(chǎng)規(guī)律。當(dāng)你掌握了產(chǎn)品自身的數(shù)據(jù),對(duì)它進(jìn)行分析,就可以了解產(chǎn)品的用戶來(lái)源、用戶畫像等等。所以說(shuō)數(shù)據(jù)是個(gè)全新的視角。
當(dāng)我們談?wù)摂?shù)據(jù)分析的時(shí)候,都在講些什么呢?這里可以把數(shù)據(jù)分析分成三個(gè)重要的組成部分。
數(shù)據(jù)采集:它是我們的原材料,也是最“接地氣”的部分,因?yàn)槿魏畏治龆家袛?shù)據(jù)源。
數(shù)據(jù)挖掘:它可以說(shuō)是最“高大上”的部分,也是整個(gè)商業(yè)價(jià)值所在。之所以要進(jìn)行數(shù)據(jù)分析,就是要找到其中的規(guī)律,來(lái)指導(dǎo)我們的業(yè)務(wù)。因此數(shù)據(jù)挖掘的核心是挖掘數(shù)據(jù)的商業(yè)價(jià)值,也就是我們所談的商業(yè)智能 BI。
數(shù)據(jù)可視化:它可以說(shuō)是數(shù)據(jù)領(lǐng)域中萬(wàn)金油的技能,可以讓我們直觀地了解到數(shù)據(jù)分析的結(jié)果。
在這個(gè)專欄中,我們主要學(xué)習(xí)第二個(gè)部分:數(shù)據(jù)挖掘算法,一定程度上,也可以稱為機(jī)器學(xué)習(xí)算法。
一、數(shù)據(jù)挖掘的基本流程
數(shù)據(jù)挖掘的過(guò)程可以分成以下 6 個(gè)步驟:
商業(yè)理解:數(shù)據(jù)挖掘不是我們的目的,我們的目的是更好地幫助業(yè)務(wù),所以第一步我們要從商業(yè)的角度理解項(xiàng)目需求,在這個(gè)基礎(chǔ)上,再對(duì)數(shù)據(jù)挖掘的目標(biāo)進(jìn)行定義。
數(shù)據(jù)理解:嘗試收集部分?jǐn)?shù)據(jù),然后對(duì)數(shù)據(jù)進(jìn)行探索,包括數(shù)據(jù)描述、數(shù)據(jù)質(zhì)量驗(yàn)證等。這有助于你對(duì)收集的數(shù)據(jù)有個(gè)初步的認(rèn)知。
數(shù)據(jù)準(zhǔn)備:開(kāi)始收集數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行清洗、數(shù)據(jù)集成等操作,完成數(shù)據(jù)挖掘前的準(zhǔn)備工作。
模型建立:選擇和應(yīng)用各種數(shù)據(jù)挖掘模型,并進(jìn)行優(yōu)化,以便得到更好的分類結(jié)果。
模型評(píng)估:對(duì)模型進(jìn)行評(píng)價(jià),并檢查構(gòu)建模型的每個(gè)步驟,確認(rèn)模型是否實(shí)現(xiàn)了預(yù)定的商業(yè)目標(biāo)。
上線發(fā)布:模型的作用是從數(shù)據(jù)中找到金礦,也就是我們所說(shuō)的“知識(shí)”,獲得的知識(shí)需要轉(zhuǎn)化成用戶可以使用的方式,呈現(xiàn)的形式可以是一份報(bào)告,也可以是實(shí)現(xiàn)一個(gè)比較復(fù)雜的、可重復(fù)的數(shù)據(jù)挖掘過(guò)程。數(shù)據(jù)挖掘結(jié)果如果是日常運(yùn)營(yíng)的一部分,那么后續(xù)的監(jiān)控和維護(hù)就會(huì)變得重要。
簡(jiǎn)易版二、算法分類
2.1 按照不同的目的,將常見(jiàn)的算法分成如下幾類:
分類算法:k-近鄰算法(KNN)、決策樹(ID3,C4.5,CART)、樸素貝葉斯(Naive Bayes)、隨機(jī)森林、邏輯回歸、SVM、Adaboost、CART
回歸算法:線性回歸、嶺回歸
聚類算法:K-Means、EM
關(guān)聯(lián)分析:Apriori
連接分析:PageRank
2.2 也可以分成:監(jiān)督學(xué)習(xí)(supervised learning)、無(wú)監(jiān)督學(xué)習(xí)(unsupervised learning)。
在具體介紹前,先簡(jiǎn)述一下數(shù)據(jù)集的構(gòu)成,即:特征值 + 目標(biāo)值;但有些數(shù)據(jù)集是可以沒(méi)有目標(biāo)值的。
根據(jù)有無(wú)目標(biāo)值,就可以分為:監(jiān)督學(xué)習(xí)與無(wú)監(jiān)督學(xué)習(xí)。
監(jiān)督學(xué)習(xí),輸入數(shù)據(jù)是由輸入特征值和目標(biāo)值所組成。輸出可以是一個(gè)連續(xù)的值(稱為回歸),或是輸出是有限個(gè)離散值(稱為分類)。
分類:k-近鄰算法、貝葉斯分類、決策樹與隨機(jī)森林、邏輯回歸 等;
回歸:線性回歸、嶺回歸 等;
無(wú)監(jiān)督學(xué)習(xí),輸入數(shù)據(jù)僅是由特征值所組成;如:聚類 k-means 等。
三、特征工程
在正式介紹特征工程前,先來(lái)看看以下幾個(gè)問(wèn)題:
Q1:為什么需要特征工程(Feature Engineering)?
業(yè)界廣泛流傳,數(shù)據(jù)和特征決定了機(jī)器學(xué)習(xí)的上限,而模型和算法只是逼近這個(gè)上限而已。
Q2:什么是特征工程?
特征工程,是使用專業(yè)背景知識(shí)和技巧處理數(shù)據(jù),使得特征能在機(jī)器學(xué)習(xí)算法上發(fā)揮更好的作用的過(guò)程。Q3:特征工程的位置與數(shù)據(jù)比較
- pandas:數(shù)據(jù)清洗、數(shù)據(jù)處理;
- sklearn:對(duì)于特征的處理提供了強(qiáng)大的接口。
Q4:特征工程主要包含的內(nèi)容
特征抽取、特征預(yù)處理、特征降維;
在正式介紹特征工程之前,先來(lái)簡(jiǎn)單介紹下數(shù)據(jù)集:
3.1 可用數(shù)據(jù)集
Kaggle網(wǎng)址:https://www.kaggle.com/datasets
- 特點(diǎn):大數(shù)據(jù)競(jìng)賽平臺(tái)、數(shù)據(jù)量巨大;
UCI數(shù)據(jù)集網(wǎng)址:http://archive.ics.uci.edu/ml/
- 特點(diǎn):收錄了360個(gè)數(shù)據(jù)集,覆蓋科學(xué)、生活、經(jīng)濟(jì)等領(lǐng)域,數(shù)據(jù)量幾十萬(wàn);
scikit-learn網(wǎng)址:https://scikit-learn.org/stable/datasets/index.html#datasets
- 特點(diǎn):數(shù)據(jù)量較小、方便學(xué)習(xí);
......
3.1.1 Scikit-learn 工具介紹
Python語(yǔ)言的機(jī)器學(xué)習(xí)工具,包括許多知名的機(jī)器學(xué)習(xí)算法的實(shí)現(xiàn),文檔完善,容易上手,豐富的API。
# 安裝包 pip install Scikit-learn包含內(nèi)容:
3.1.2 獲取sklearn自帶的數(shù)據(jù)集API
3.1.3 劃分?jǐn)?shù)據(jù)集
數(shù)據(jù)集會(huì)劃分為兩個(gè)部分:
- 訓(xùn)練數(shù)據(jù):用于訓(xùn)練,構(gòu)建模型;
- 測(cè)試數(shù)據(jù):在模型檢驗(yàn)時(shí)使用,用于評(píng)估模型是否有效;
劃分比例:測(cè)試集一般在20%-30%,不傳參,默認(rèn)25%;
API剖析數(shù)據(jù)集劃分案例本篇,先寫到這里吧!下一篇:特征工程介紹;
總結(jié)
以上是生活随笔為你收集整理的数据挖掘算法_算法篇(01) 数据挖掘算法初探的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 传米哈游年终奖108薪 全公司奖金近40
- 下一篇: 利用python制作漂亮的词云图_利用p