




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、機器學習算法介紹基本概念分類監(jiān)督式學習 多輪學習以達到目的:實現(xiàn)回歸或分類非監(jiān)督式學習 特定方法實現(xiàn)聚類。(由于目的性不明確,所以一般沒有多輪)強化學習 不斷學習,永無止境分類算法 適用因變量為離散變量回歸算法 適用因變量為連續(xù)變量聚類和分類的差別聚類:無限種類別可能分類:有限種類別可能監(jiān)督式學習工作機制這個算法由一個目標變量或結(jié)果變量(或因變量)組成。此變量由已知的一系列預(yù)示變量(自變量)預(yù)測而來。利用這一系列變量,我們生成一個將輸入值映射到期望輸出值的函數(shù)。這個訓練過程會一直持續(xù),直到模型在訓練數(shù)據(jù)上獲得期望的精確度。例子線性回歸,決策樹,SVM,K 近鄰算法,邏輯回歸 等非監(jiān)督式學習工作
2、機制沒有任何目標變量或結(jié)果變量要預(yù)測或估計。用在不同的組內(nèi)聚類分析。例子關(guān)聯(lián)算法, K 均值算法強化學習工作機制訓練機器進行決策。機器被放在一個能讓它通過反復(fù)試錯來訓練自己的環(huán)境中。機器從過去的經(jīng)驗中進行學習,并且嘗試利用了解最透徹的知識作出精確的判斷。 例子馬爾可夫決策過程十大機器學習算法1、線性回歸2、邏輯回歸3、決策樹4、SVM5、樸素貝葉斯6、k-Means算法7、kNN算法8、Apriori算法9、最大期望算法(EM)10、PageRank監(jiān)督式學習與非監(jiān)督式學習的差別監(jiān)督式學習方法,要求: 事先明確知道各個類別的信息 所有待分類項都有一個類別與之對應(yīng)如果不能滿足上述兩個條件(例如有
3、海量數(shù)據(jù)),則需適用聚類算法,即非監(jiān)督式學習。監(jiān)督式學習監(jiān)督式學習非監(jiān)督式學習非監(jiān)督式學習線性回歸 邏輯回歸決策樹 樸素貝葉斯SVM KNNK-meansAprioriEMPageRank線性回歸適用場景 根據(jù)連續(xù)變量估計實際數(shù)值(房價、呼叫次數(shù)、總銷售額等)。原理 可通過擬合最佳直線來建立自變量和因變量的關(guān)系。擬合結(jié)果是條直線 Y= a *X + b:其中Y是因變量,a是斜率,x是自變量,b是截距 最佳直線叫做回歸線。系數(shù) a 和 b 通過最小二乘法獲得。Python代碼from sklearn import linear_modelx_train=input_variables_value
4、s_training_datasetsy_train=target_variables_values_training_datasetsx_test=input_variables_values_test_datasetslinear = linear_model.LinearRegression()linear.fit(x_train, y_train)linear.score(x_train, y_train)線性回歸針對線性回歸容易出現(xiàn)欠擬合的問題,采取局部加權(quán)線性回歸。在該算法中,賦予預(yù)測點附近每一個點以一定的權(quán)值,在這上面基于波長函數(shù)來進行普通的線性回歸.可以實現(xiàn)對臨近點的精確擬合同
5、時忽略那些距離較遠的點的貢獻,即近點的權(quán)值大,遠點的權(quán)值小,k為波長參數(shù),控制了權(quán)值隨距離下降的速度,越大下降的越快。 線性回歸針對數(shù)據(jù)的特征比樣本點多的問題:一、嶺回歸二、前向逐步回歸邏輯回歸#Import Libraryfrom sklearn.linear_model import LogisticRegression#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset# Create logistic regression o
6、bjectmodel = LogisticRegression() # Train the model using the training sets and check scoremodel.fit(X, y)model.score(X, y)#Predict Outputpredicted= model.predict(x_test)邏輯回歸基于最優(yōu)化方法的最佳回歸系數(shù)確定: 梯度下降法-隨機梯度下降法(根據(jù)梯度更新權(quán)重)牛頓法或擬牛頓法(最大熵模型)決策樹使用場景 這個監(jiān)督式學習算法通常被用于分類問題。 它同時適用于分類變量和連續(xù)因變量。原理 在這個算法中,我們將總體分成兩個或更多的同類
7、群。 這是根據(jù)最重要的屬性或者自變量來分成盡可能不同的組別。 回歸樹預(yù)測值為葉節(jié)點目標變量的加權(quán)均值 分類樹某葉節(jié)點預(yù)測的分類值應(yīng)是造成錯判損失最小的分類值。細說決策樹(1)混亂度判斷熵 熵:E = sum(-p(I)*log(p(I),I=1:N(N類結(jié)果,如客戶是否流失) 所有樣本都屬于一個類別I(最整齊),那么熵為0,如果樣本完全隨機,那么熵為1 信息增益 信息增益:原樣本的熵-sum(區(qū)分后的各部分熵),增益越大表示區(qū)分的方法越好 Gain(Sample,Action) = E(sample) - sum(|Sample(v)|/Sample * E(Sample(v)除了熵以外,還有
8、GINI不純度,錯誤率兩種計算混亂度的方法,定義不同但效果類似。細說決策樹(2)建構(gòu)樹生成樹(1) 從根節(jié)點t=1開始,從所有可能候選S集合中搜索使不純性降低最大的劃分S;(2)使用劃分S將節(jié)點1(t=1)劃分成兩個節(jié)點t=2和t=3;(3)在t=2和t=3上分別重復(fù)劃分搜索過程終止樹(1)節(jié)點達到完全純性;(2)樹的深度達到用戶指定的深度;(3)節(jié)點中樣本的個數(shù)少于用戶指定的個數(shù);(4) 異質(zhì)性指標下降的最大幅度小于用戶指定的幅度。細說決策樹(3)剪枝prune當分類回歸樹劃分得太細時,會對噪聲數(shù)據(jù)產(chǎn)生過擬合作用。因此我們要通過剪枝來解決。剪枝又分為前剪枝和后剪枝:前剪枝:在構(gòu)造樹的過程中就
9、知道那些節(jié)點需要減掉,及早的停止樹增長。后剪枝:在構(gòu)造出完整樹之后再按照一定方法進行剪枝,方法有:代價復(fù)雜性剪枝、最小誤差剪枝、悲觀誤差剪枝等等。決策樹代碼 def createTree(dataSet,labels): classList = example-1 for example in dataSet#將最后一行的數(shù)據(jù)放到classList中 if classList.count(classList0) = len(classList): return classList0 if len(dataSet0) = 1:#這里為什么是1呢?就是說特征數(shù)為1的時候 return majori
10、tyCnt(classList) bestFeat = chooseBestFeatureToSplit(dataSet) print(bestFeat) bestFeatLabel = labelsbestFeat#運行結(jié)果no surfacing myTree = bestFeatLabel:#運行結(jié)果no surfacing: del(labelsbestFeat) featValues = examplebestFeat for example in dataSet#第0個特征值 uniqueVals = set(featValues) for value in uniqueVals:
11、 subLabels = labels: myTreebestFeatLabelvalue = createTree(splitDataSet (dataSet,bestFeat,value),subLabels) return myTree Python代碼支持向量機適用場景 這是一種統(tǒng)計分類及回歸分析方法算法 支持向量機將向量映射到一個更高維的空間里, 在這個空間里建立有一個最大間隔超平面。 在分開數(shù)據(jù)的超平面的兩邊建有兩個互相平行的超平面, 分隔超平面使兩個平行超平面的距離最大化。 假定平行超平面間的距離或差距越大, 分類器的總誤差越小。支持向量機支持向量機優(yōu)缺點優(yōu)點:(1)非線性映射是
12、SVM方法的理論基礎(chǔ),SVM利用內(nèi)積核函數(shù)代替向高維空間的非線性映射;(2)對特征空間劃分的最優(yōu)超平面是SVM的目標,最大化分類邊際的思想是SVM方法的核心;(3)支持向量是SVM的訓練結(jié)果,在SVM分類決策中起決定性作用。因此,模型需要存儲空間小,算法魯棒性( Robust )強。缺點:(1) SVM算法對大規(guī)模訓練樣本難以實施(2) 用SVM解決多分類問題存在困難經(jīng)典的支持向量機算法只給出了二類分類的算法,而在數(shù)據(jù)挖掘的實際應(yīng)用中,一般要解決多類的分類問題。樸素貝葉斯#Import Libraryfrom sklearn.naive_bayes import GaussianNB #Ass
13、umed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset# Create SVM classification object model = GaussianNB() # there is other distribution for multinomial classes like Bernoulli Naive Bayes, Refer link# Train the model using the training sets and che
14、ck scoremodel.fit(X, y) #Predict Outputpredicted= model.predict(x_test)樸素貝葉斯算法 對于給出的待分類項,求解在此項出現(xiàn)的條件下各個類別出現(xiàn)的概率,哪個最大,就認為此待分類項屬于哪個類別。 自變量:x=a1,a2,.,an 因變量:假設(shè)我們的結(jié)論有True/False兩種 根據(jù)樣本可得到p(a1|T), p(a2|T), ., p(an|T), p(a1|F), p(a2|F), ., p(an|F) 我們想比較p(T|x)和p(F|x),則根據(jù)貝葉斯定理: p(T|x)=p(x|T)p(x|T)*p(T)/p(x)=p(
15、a1|T)p(a1|T)* *p(a2|T)p(a2|T)* *.* *p(an|T)p(an|T)*p(T)/p(x) p(T|x)*p(x)=p(x|T)p(x|T)*p(T)=p(a1|T)p(a1|T)* *p(a2|T)p(a2|T)* *.* *p(an|T)p(an|T)*p(T) p(F|x)*p(x)=p(x|F)p(x|F)*p(T)=p(a1|F)p(a1|F)* *p(a2|F)p(a2|F)* *.* *p(an|F)p(an|F)*p(F) 由此得出x情況下T的概率和F的概率。KNN(K最鄰近算法)適用場景 該算法可用于分類問題和回歸問題。然而,在業(yè)界內(nèi),K最近鄰算
16、法更常用于分類問題。原理 K最近鄰算法是一個簡單的算法。它儲存所有的案例,通過周圍k個案例中的大多數(shù)情況劃分新的案例。根據(jù)一個距離函數(shù),新案例會被分配到它的 K 個近鄰中最普遍的類別中去。 這些距離函數(shù)可以是歐式距離、曼哈頓距離、明式距離或者是漢明距離。 前三個距離函數(shù)用于連續(xù)函數(shù),第四個函數(shù)(漢明函數(shù))則被用于分類變量。KNN(K最鄰近算法)實現(xiàn)流程(1)計算已知類別數(shù)據(jù)集中的點與當前點之間的距離(2)按照距離遞增次序排序(3)選取與當前點距離最近的k個點(4)確定前k個點所在類別的出現(xiàn)頻率(5)返回前k個點出現(xiàn)頻率最高的類別作為當前點的預(yù)測分類Python代碼#Import Library
17、from sklearn.neighbors import KNeighborsClassifier#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset# Create KNeighbors classifier object model KNeighborsClassifier(n_neighbors=6) # default value for n_neighbors is 5# Train the model using the
18、 training sets and check scoremodel.fit(X, y)#Predict Outputpredicted= model.predict(x_test)KNN(K最鄰近算法)補充說明 KNN算法不僅可以用于分類,還可以用于回歸。通過找出一個樣本的k個最近鄰居,將這些鄰居的屬性的平均值賦給該樣本,就可以得到該樣本的屬性。更有用的方法是將不同距離的鄰居對該樣本產(chǎn)生的影響給予不同的權(quán)值(weight),如權(quán)值與距離成反比。K均值算法使用場景 K均值算法是一種非監(jiān)督式學習算法,它能解決聚類問題。 使用 K均值算法來將一個數(shù)據(jù)歸入一定數(shù)量的集群(假設(shè)有 k 個集群)的過程
19、是簡單的。 一個集群內(nèi)的數(shù)據(jù)點是均勻齊次的,并且異于別的集群。算法 1、從D中隨機取k個元素,作為k個簇的各自的中心。 2、分別計算剩下的元素到k個簇中心的相異度,將這些元素分別劃歸到相異度最低的簇。 3、根據(jù)聚類結(jié)果,重新計算k個簇各自的中心,計算方法是取簇中所有元素各自維度的算術(shù)平均數(shù)。 4、將D中全部元素按照新的中心重新聚類。 5、重復(fù)第4步,直到聚類結(jié)果不再變化。 6、將結(jié)果輸出。K均值算法如何確定K值 K 均值算法涉及到集群,每個集群有自己的質(zhì)心。一個集群內(nèi)的質(zhì)心和各數(shù)據(jù)點之間距離的平方和形成了這個集群的平方值之和。同時,當所有集群的平方值之和加起來的時候,就組成了集群方案的平方值之
20、和。 我們知道,當集群的數(shù)量增加時,所有集群平方和之和會持續(xù)下降。但是,如果你將結(jié)果用圖表來表示,你會看到距離的平方總和快速減少。到某個值 k 之后,減少的速度就大大下降了。在此,我們可以找到集群數(shù)量的最優(yōu)值。工作流程 #k-means 聚類算法 def kMeans(dataSet, k, distMeans =distEclud, createCent = randCent): m = shape(dataSet)0 clusterAssment = mat(zeros(m,2) centroids = createCent(dataSet, k) clusterChanged = Tru
21、e while clusterChanged: clusterChanged = False; for i in range(m): minDist = inf; minIndex = -1; for j in range(k): distJI = distMeans(centroidsj,:, dataSeti,:) if distJI minDist: minDist = distJI; minIndex = j if clusterAssmenti,0 != minIndex: clusterChanged = True; clusterAssmenti,: = minIndex,min
22、Dist*2 print centroids for cent in range(k): ptsInClust = dataSetnonzero(clusterAssment:,0.A = cent)0 centroidscent,: = mean(ptsInClust, axis = 0) return centroids, clusterAssment 創(chuàng)建k個點作為起始質(zhì)心,可以隨機選擇(位于數(shù)據(jù)邊界內(nèi)) 當任意一個點的簇分配結(jié)果發(fā)生改變時 對數(shù)據(jù)集中的每一個點對每個質(zhì)心 計算質(zhì)心與數(shù)據(jù)點之間的距離將數(shù)據(jù)點分配到距其最近的簇對每個簇,計算簇中所有點的均值并將均值作為質(zhì)心 Pyhton代碼
23、K-MEANS性能分析優(yōu)點 (1)是解決聚類問題的一種經(jīng)典算法,簡單、快速。 (2)當結(jié)果簇是密集的,而簇與簇之間區(qū)別明顯時, 它的效果較好。缺點 (1)在簇的平均值被定義的情況下才能使用,這對于處理符號屬性的數(shù)據(jù)不適用。 (2)要求用戶必須事先給出要生成的簇的數(shù)目k。 (3)對初值敏感,對于不同的初始值,可能會導(dǎo)致不同的聚類結(jié)果。 (4)不適合于發(fā)現(xiàn)非凸面形狀的簇,或者大小差別很大的簇。 (5)對于噪聲和孤立點數(shù)據(jù)敏感,少量的該類數(shù)據(jù)能夠?qū)ζ骄诞a(chǎn)生極大影響。K-MEANS性能分析改進:(1)對于離群點和孤立點敏感:離群點檢測的LOF算法,通過去除離群點后再聚類,可以減少離群點和孤立點對于聚
24、類效果的影響。(2)k值選擇:開始設(shè)定k值,每跑一次K-means,根據(jù)k個聚類的距離情況,合并距離最近的類,不斷重復(fù),最終得到合適數(shù)目的聚類數(shù)??梢酝ㄟ^一個評判值E來確定聚類數(shù)得到一個合適的位置停下來,而不繼續(xù)合并聚類中心。(3)初始聚類中心的選擇:選擇批次距離盡可能遠的K個點(首先隨機選擇一個點作為第一個初始類簇中心點,然后選擇距離該點最遠的那個點作為第二個初始類簇中心點,然后再選擇距離前兩個點的最近距離最大的點作為第三個初始類簇的中心點,以此類推,直至選出K個初始類簇中心點。)(4)只能發(fā)現(xiàn)球狀簇:如果數(shù)據(jù)集中有不規(guī)則的數(shù)據(jù),往往通過基于密度的聚類算法更加適合,比如DESCAN算法K-M
25、EANS補充相異度 相異度就是兩個東西差別有多大(例如用什么來說明人類與章魚的相異度明顯大于人類與黑猩猩的相異度) 歐式距離,曼哈頓距離,閔科夫斯基距離什么叫聚類 所謂聚類問題,就是給定一個元素集合D,其中每個元素具有n個可觀察屬性,使用某種算法將D劃分成k個子集,要求每個子集內(nèi)部的元素之間相異度盡可能低,而不同子集的元素相異度盡可能高。其中每個子集叫做一個簇。AdaBoost算法原理(1)針對同一個訓練集訓練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構(gòu)成一個更強的最終分類器(強分類器)。(2)算法本身是通過改變數(shù)據(jù)分布來實現(xiàn)的,根據(jù)每次訓練集中每個樣本的分類是否正確,以及上次的總
26、體分類的準確率,來確定每個樣本的權(quán)值。(3)將修改過權(quán)值的新數(shù)據(jù)集送給下層分類器進行訓練,最后將每次訓練得到的分類器融合起來,作為最終的決策分類器Python代碼#Import Libraryfrom sklearn.ensemble import GradientBoostingClassifier #Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset# Create Gradient Boosting Classifier obj
27、ectmodel= GradientBoostingClassifier(n_estimators=100, learning_rate=1.0, max_depth=1, random_state=0) model.fit(X, y) predicted= model.predict(x_test)AdaBoost工作流程:將最小錯誤率minError設(shè)為無窮大對數(shù)據(jù)集中的每一個特征(第一層循環(huán)): 對每個步長(第二層循環(huán)): 對每個不等號(第三層循環(huán)): 建立一棵單層決策樹并利用加權(quán)數(shù)據(jù)集進行測試 如果錯誤率低于minError,將當前單層決策樹設(shè)為最佳單層決策樹返回最佳單層決策樹構(gòu)建弱分
28、類器對每次迭代: 找到最佳的單層決策樹 將最佳單層決策樹加入到單層決策樹數(shù)組 計算alpha,計算新的權(quán)重向量D 更新累計類別估計值 如果錯誤率小于minError,則退出循環(huán)構(gòu)建強分類器優(yōu)點:(1)AdaBoost是一種有很高精度的分類器(2)可以使用各種方法構(gòu)建弱分類器(3)弱分類器構(gòu)造特別簡單,不用做特征篩選(4)不會過擬合缺點:(1)執(zhí)行效果依賴于弱分類器的選擇,迭代次數(shù)和 弱分類器的數(shù)目不太好設(shè)定(2)訓練時間過長(3)容易受到噪聲干擾,數(shù)據(jù)不平衡導(dǎo)致分類精度下降。Apriori原理(1)尋找所有不低于最小支持度的項集(頻繁項集);(2)使用頻繁項集生成規(guī)則。PS:支持度: 數(shù)據(jù)集中
29、包含該項集的記錄所占的比例;頻繁項集: 支持度大于最小支持度的項集。對數(shù)據(jù)集中的每條交易記錄tran和每個候選項集can: 檢查一下can是否是tran的子集:如果是,則增加can的計數(shù)值 對每個候選項集:如果其支持度不低于最小值,則保留該項集返回所有頻繁項集列表生成候選項集工作流程發(fā)現(xiàn)關(guān)聯(lián)規(guī)則當集合中項的個數(shù)大于0時: 構(gòu)建一個k個項組成的候選項集的列表 檢查數(shù)據(jù)以確認每個項集都是頻繁的 保留頻繁項集并構(gòu)建k+1項組成的候選項集的列表強化學習-馬爾科夫決策過程原理 系統(tǒng)的下個狀態(tài)不僅和當前的狀態(tài)有關(guān),也和當前采取的動作有關(guān),而與更早之前的狀態(tài)和動作無關(guān)。定義:馬爾科夫決策流程:一個馬爾科夫決
30、策過程由一個五元組構(gòu)成(S,A,Psa, R) 馬爾科夫決策模型已經(jīng)處于某個狀態(tài)s時,我們會以一定的策略來選擇下一個動作a執(zhí)行,然后轉(zhuǎn)換到另一個狀態(tài)ss。我們將這個動作的選擇過程稱為策略(policy)每一個policy起始就是一個狀態(tài)到動作的映射函數(shù):SA。給定也就是給定了a=(s),也就是說,知道了就知道了每個狀態(tài)下一步應(yīng)該執(zhí)行的動作。 數(shù)據(jù)挖掘以對消費者的建模為例,舉一些場景下的常用算法對應(yīng):劃分消費者群體:聚類,分類;購物籃分析: 相關(guān),聚類;購買額預(yù)測: 回歸,時間序列;滿意度調(diào)查: 回歸,聚類,分類;數(shù)據(jù)挖掘主要模型:分類、聚類、預(yù)測及關(guān)聯(lián)數(shù)據(jù)挖掘主要模型:分類、聚類、預(yù)測及關(guān)聯(lián)一
31、、非線性擬合二、貨運量預(yù)測目標:預(yù)測貨運量方法:基于廣義回歸神經(jīng)網(wǎng)絡(luò)(GRNN)輸入量:根據(jù)貨運量影響因素的分析,分別取GDP、工業(yè)總產(chǎn)值、鐵路運輸線路長度、復(fù)線里程比重、公路運輸線路長度、等級公路比重、鐵路貨車數(shù)量和民用載貨汽車數(shù)量8項指標因素作為網(wǎng)絡(luò)輸入輸出量:以貨運總量、鐵路貨運量和公路貨運量3項指標因素作為網(wǎng)絡(luò)輸出。二、貨運量預(yù)測結(jié)果: GRNN神經(jīng)網(wǎng)絡(luò)三項流量預(yù)測的誤差為16342.6947 6360.723 16945.2494三、財政收入影響因素與預(yù)測模型目標:預(yù)測未來財政收入方法:Adaptive-Lasso、神經(jīng)網(wǎng)絡(luò) (1)獲取某市財政收入以及各類收入相關(guān)數(shù)據(jù) (2)完成數(shù)據(jù)
32、預(yù)處理,建立Adaptive-Lasso變量選擇模型 (3)建立人工神經(jīng)網(wǎng)絡(luò)預(yù)測模型 (4)將得到的預(yù)測值代入構(gòu)建好的人工神經(jīng)網(wǎng)絡(luò)模型中,從而得到財政收入以及各類別收入的預(yù)測值。輸入值:社會從業(yè)人數(shù)(x1),在崗職工工資總額(x2),社會消費品零售總額(x3),城鎮(zhèn)居民人均可支配收入(x4),城鎮(zhèn)居民人均消費性支出(x5),年末總?cè)丝冢▁6),全社會固定資產(chǎn)投資額(x7),地區(qū)生產(chǎn)總值(x8),第一產(chǎn)業(yè)產(chǎn)值(x9),稅收(x10),居民消費價格指數(shù)(x11),第三產(chǎn)業(yè)與第二產(chǎn)業(yè)產(chǎn)值比(x12),居民消費水平(x13)。輸出值:財政收入總值三、財政收入影響因素與預(yù)測模型三、財政收入影響因素與預(yù)測
33、模型1、Adaptive-Lasso變量選擇模型 通過相關(guān)系數(shù),將無關(guān)變量從輸入值中刪除,綜上所述,影響財政收入的關(guān)鍵因素是社會從業(yè)人數(shù)、在崗職工工資、社會消費品零售總額、城鎮(zhèn)居民人均可支配收入、城鎮(zhèn)居民人均消費性支出以及全社會固定資產(chǎn)投資額。 將輸入值和輸出值分為訓練集和測試集,代入三層的 BP神經(jīng)網(wǎng)絡(luò),預(yù)測未來的財政收入。三、財政收入影響因素與預(yù)測模型四、時間序列預(yù)測法交通流量預(yù)測概念: 時間序列預(yù)測法就是通過編制和分析時間序列,根據(jù)時間序列所反映出來的發(fā)展過程、方向和趨勢,進行類推或延伸,借以預(yù)測下一段時間或以后若干年內(nèi)可能達到的水平。 其內(nèi)容包括:收集與整理某種社會現(xiàn)象的歷史資料;對這
34、些資料進行檢查鑒別,排成數(shù)列;分析時間數(shù)列,從中尋找該社會現(xiàn)象隨時間變化而變化的規(guī)律,得出一定的模式;以此模式去預(yù)測該社會現(xiàn)象將來的情況。 常用時間序列預(yù)測問題,比較常用的方法包括:多元線性回歸預(yù)測、AR模型預(yù)測、ARMA模型預(yù)測、指數(shù)平滑預(yù)測、小波神經(jīng)網(wǎng)絡(luò)、RNN等四、時間序列預(yù)測法交通流量預(yù)測步驟: (1)采集4天的交通流浪數(shù)據(jù),每隔15分鐘記錄一次,一共記錄384個時間點的數(shù)據(jù) (2)用3天共288個數(shù)據(jù)訓練小波神經(jīng)網(wǎng)絡(luò) (3)用訓練好的小波神經(jīng)網(wǎng)絡(luò)預(yù)測第4天的交通流量。一、數(shù)據(jù)探索 數(shù)據(jù)質(zhì)量分析 數(shù)據(jù)質(zhì)量分析的主要任務(wù)是檢查原始數(shù)據(jù)中是否存在臟數(shù)據(jù),臟數(shù)據(jù)一般是指不符合要求,以及不能直
35、接進行相應(yīng)分析的數(shù)據(jù),主要包括:缺失值,異常值,重復(fù)數(shù)據(jù)及含有特殊符號(如#、¥、%)的數(shù)據(jù)等。(1)缺失值分析 數(shù)據(jù)的缺失主要包括記錄的缺失和記錄中某個字段信息的缺失 原因:數(shù)據(jù)無法獲取;數(shù)據(jù)遺漏;屬性值不存在 影響:丟失信息;增加不確定性,難把握規(guī)律; 分析:使用簡單的統(tǒng)計分析,可以得到含有缺失值的屬性的個數(shù),以及每個屬性的未缺失數(shù)、缺失率等一、數(shù)據(jù)探索二、數(shù)據(jù)預(yù)處理 數(shù)據(jù)預(yù)處理的主要內(nèi)容包括數(shù)據(jù)清洗、數(shù)據(jù)集成、數(shù)據(jù)變換和數(shù)據(jù)規(guī)約。數(shù)據(jù)預(yù)處理一方面是要提高數(shù)據(jù)的質(zhì)量,另一方面是要讓數(shù)據(jù)更好地適應(yīng)特定的挖掘技術(shù)或工具。2.1 數(shù)據(jù)清洗 數(shù)據(jù)清洗主要是刪除原始數(shù)據(jù)集中的無關(guān)數(shù)據(jù)、重復(fù)數(shù)據(jù),平滑
36、噪聲數(shù)據(jù),篩選掉與挖掘主題無關(guān)的數(shù)據(jù),處理缺失值、異常值等。清洗內(nèi)容主要包括:缺失數(shù)據(jù)處理、相似重復(fù)對象檢測、異常數(shù)據(jù)處理、邏輯錯誤檢測和不一致數(shù)據(jù)等二、數(shù)據(jù)預(yù)處理(1)缺失數(shù)據(jù)處理 處理缺失值的方法可以分為3類:刪除記錄、數(shù)據(jù)插補和不處理。(1)刪除數(shù)據(jù):主要針對缺失值數(shù)量較少、且刪除數(shù)據(jù)對整體數(shù)據(jù)幾乎沒有影響;也可以根據(jù)數(shù)據(jù)缺失挖掘信息. 文獻1利用5組醫(yī)療數(shù)據(jù)集測試了缺失數(shù)據(jù)對于病情陽性概率的影響,以及對分類結(jié)果精確度的影響,并通過knn、判別分析和樸素貝葉斯3種方法在數(shù)據(jù)缺失不同比例的情況下,對分類結(jié)果進行了分析比較;(2)數(shù)據(jù)插補:屬性間的關(guān)聯(lián)性在缺失值估計過程中非常重要,在數(shù)據(jù)挖掘
37、方法中,關(guān)鍵是挖掘?qū)傩蚤g的關(guān)系。數(shù)據(jù)插補的目的在于估計正確的替代值。 文獻2提出了基于不完備數(shù)據(jù)聚類的缺失數(shù)據(jù)填補方法,針對分類變量不完備數(shù)據(jù)集定義約束容差集合差異度,從集合的角度判斷不完備數(shù)據(jù)對象的總體相異程度,并以不完備數(shù)據(jù)聚類的結(jié)果對基礎(chǔ)進行缺失數(shù)據(jù)的填補。 文獻3提出一種基于進化算法的自適應(yīng)聚類方法,該方法的基本思想是將聚類問題轉(zhuǎn)化成一個全局優(yōu)化問題,利用聚類方法填充缺失值。 文獻4針對缺失數(shù)據(jù)問題,提出了多元回歸方法,彌補一元回歸方法的不足。1 Juhola M, Laurikkala J. Missing values: how many can they be to preser
38、ve classification reliability J/OL. Artificial Intelligence Review,2011. (2011-08-01) 2012-12-28.2武森,馮小東,單志廣.基于不完備數(shù)據(jù)聚類的缺失數(shù)據(jù)填補方法J.計算機學報,2012,35(8): 1726-1738.3 Silva J A,Hruschka E R. An evolutionary algorithm for missing values substitution in classification tasksC Proceedings of the HAIS09. Salaman
39、ca:Springer,2009: 195-202.4 Zhang Shichao, Jin Zhi,Zhu Xiaofeng,et al. Missing data analysis: a kernel-based multi-imputation ap-proachCProceedings of Transactions on Comput-ational Science III. Berlin,Heidelberg: Springer,2009:122-142.(2) 相似重復(fù)對象檢測 文獻5:鄰近排序算法(SNM)是重復(fù)記錄檢測的常用方法,該方法基于排序比較的思想 文獻6:多趟排序;文
40、獻7:優(yōu)先隊列排序 文獻8:提出了基于N-gram的重復(fù)記錄檢測方法,并給出了改進的優(yōu)先權(quán)隊列算法以準確地 聚類相似重復(fù)記錄。 文獻9:用依賴圖的概念,計算數(shù)據(jù)表中的關(guān)鍵屬性,根據(jù)關(guān)鍵屬性值將記錄集劃分為小記錄集,在每個小記錄集中進行相似重復(fù)記錄檢測。 文獻10:針對非結(jié)構(gòu)化數(shù)據(jù)的重復(fù)檢測,介紹了復(fù)雜數(shù)據(jù)實體識別的概念和應(yīng)用,分別就XML數(shù)據(jù)、圖數(shù)據(jù)和復(fù)雜網(wǎng)絡(luò)上實體識別技術(shù)進行了討論。5張建中 ,方 正 ,熊 擁 軍 , 等 .對 基 于 S N M數(shù) 據(jù) 清 洗 算 法 的 優(yōu) 化 J . 中 南 大 學 學 報 : 自 然 科 學版,2010,41(6):2240-2245.6Monge
41、A E,Elkan C P. Efficient domain-independentdetection of approximately duplicate database recordsC Proceedings of the ACM-SIGMOD Workshop on Research Issues in Knowledge Discovery and Data Mining. Tucson,Arizona: s.n. 1997.7Hernndez M A,Stolfo S J. Real-world data is dirty:data cleansing and the merg
42、e/purge problemJ. Data Mining and Knowledge Discovery,1998,2(1): 9-37.8邱越峰,田增平,季文,等.一種高效的檢測相似重復(fù)記錄的方法J.計算機學報,2001,24(1): 69-77.9龐雄文,姚占林,李擁軍.大數(shù)據(jù)量的高效重復(fù)記錄檢測方法J.華中科技大學學報:自然科學版,2010,38(2): 8-11.10王宏志,樊文飛.復(fù)雜數(shù)據(jù)上的實體識別技術(shù)研究J.計算機學報,2011,34(10): 1843-1852.二、數(shù)據(jù)預(yù)處理補充: 基于N-gram的重復(fù)記錄檢測方法: 給每個記錄賦一個N-gram值,以該值為鍵來對數(shù)據(jù)中的
43、記錄進行排序。在一賦值時必須盡可能地使相似程度越高的記錄的一價帥值越接近,以保證通過對值排序之后它們將被聚 到鄰近的區(qū)域。所謂記錄的田值是根據(jù)記錄的內(nèi)容并參照全局統(tǒng)計信息而計算出的一個表示記錄特征的整數(shù)值。 基本近鄰排序算法(SNM): (1)創(chuàng)建排序關(guān)鍵字; (2)排序,盡可能的使?jié)撛诘目赡艿闹貜?fù)記錄調(diào)整到一個鄰近的區(qū)域內(nèi); (3)合并,在排序后的數(shù)據(jù)集上滑動一個固定大小的窗口,重復(fù)比較,將數(shù)據(jù)合并。二、數(shù)據(jù)預(yù)處理(3) 異常數(shù)據(jù)處理 異常數(shù)據(jù)的探測主要有基于統(tǒng)計學、基于距離和基于偏離3類方法。文獻11:采用數(shù)據(jù)審計的方法實現(xiàn)異常數(shù)據(jù)的自動化檢測,稱為數(shù)據(jù)質(zhì)量挖掘,由2步構(gòu)成: (1)采用數(shù)
44、理統(tǒng)計方法對數(shù)據(jù)分布進行概化描述,自動獲得數(shù)據(jù)的總體分布特征;(2)針對特定的數(shù)據(jù)質(zhì)量問題進行挖掘以發(fā)現(xiàn)數(shù)據(jù)異常。文獻12:將數(shù)據(jù)按距離劃分為不同的層,在每一層統(tǒng)計數(shù)據(jù)特征,再根據(jù)定義的距離計算各數(shù)據(jù)點和中心距離的遠近來判斷異常是否存在。(聚類)文獻13:基于關(guān)聯(lián)方法,將置信度和支持度很低的點視為異常點。11 Hipp J,Guntzer U, Grimmer U. Data quality mining:making a virtue of necessity C Proceedings of Workshop on Research Issues in Data Mining and Kn
45、owledge Discovery. Santa Barbara: s.n. ,2001.12 Dasu T,Johnson T. Hunting of the snark: finding data glitches using data mining methods C Proceedings of the 1999 Conference of Information Quality. Cam-bridge: s.n.,1999.13 Kimball,R. Dealing with dirty Data. DBMS,vol.9,NO.10, September 1996,pp.55二、數(shù)據(jù)
46、預(yù)處理(3) 異常數(shù)據(jù)處理 在很多情況下,要先分析異常值出現(xiàn)的可能原因,再判斷異常值是否應(yīng)該舍棄,如果是正確的數(shù)據(jù),可以直接在具有異常值的數(shù)據(jù)集上進行挖掘建模。二、數(shù)據(jù)預(yù)處理2.2 數(shù)據(jù)集成 數(shù)據(jù)挖掘需要的數(shù)據(jù)往往分布在不同的數(shù)據(jù)源中,數(shù)據(jù)集成就是將多個數(shù)據(jù)源合并存放在一個一致的數(shù)據(jù)存儲(如數(shù)據(jù)庫)中的過程。(1)實體識別實體識別是指從不同數(shù)據(jù)源識別出現(xiàn)實世界的實體,任務(wù)是統(tǒng)一不同數(shù)據(jù)源的矛盾之處,例如:同名異義;異名同義;單位不統(tǒng)一。(2)冗余屬性識別數(shù)據(jù)集成往往導(dǎo)致數(shù)據(jù)冗余,例如:同一屬性多次出現(xiàn);同一屬性命名不一致導(dǎo)致重復(fù)。仔細整合不同源數(shù)據(jù)能減少甚至避免數(shù)據(jù)冗余與不一致,對于冗余屬性要先分析,檢測到后再將其刪除。二、數(shù)據(jù)預(yù)處理2.2 數(shù)據(jù)集成 目前,常用的消除數(shù)據(jù)不一致的方法有排序、融合和基于規(guī)則3種方法。 文獻14:使用了鄰近排序的方法,根據(jù)定義的關(guān)鍵碼對數(shù)據(jù)集進行排序,使可匹配的記錄在位置上臨近,并檢測數(shù)據(jù)中的不一致。 文獻15:從不同的特征評估每個數(shù)值,通過線性組合各特征值得到整體評估值,再根據(jù)評估值確定正確值。14 Hernndez M A,Stolfo S J. Real-world data is dirty:data cleansing and the merge/purge problemJ. Data Mining and Knowledg
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 有機合成原料在綠色建筑材料的創(chuàng)新開發(fā)趨勢預(yù)測分析預(yù)測考核試卷
- 冷凍飲品企業(yè)的品牌維權(quán)與法律事務(wù)考核試卷
- 木質(zhì)素在土壤改良劑中的作用考核試卷
- 外貿(mào)生鮮類合同范本
- 梁板安裝合同范本
- 檔案提成合同范本
- 外墻水性氟碳漆合同范本
- 金融門面轉(zhuǎn)讓合同范本
- 水管改造施工合同
- 公司與供應(yīng)商合作協(xié)議
- 【英語詞匯】閩教版(三起點)小學英語單詞默寫表(帶音標按順序)(全8冊)
- 初中中考語文記敘文閱讀訓練訓練及答案
- 圍手術(shù)期高血壓患者管理專家共識
- 中國城市人口排名表
- 人教版六年級下冊數(shù)學(全冊)同步隨堂練習一課一練
- GB/T 2573-2008玻璃纖維增強塑料老化性能試驗方法
- GB/T 1265-2003化學試劑溴化鈉
- 工程建設(shè)項目管理培訓教材課件
- 11-化學動力學基礎(chǔ)-2-考研試題資料系列
- 《簡愛》課本劇劇本
評論
0/150
提交評論