聚類是一種無監督學習,不知道資料的類標籤,它將相似的物件歸到同乙個簇中,將不相似的物件歸到不同簇。簇內的物件相似度越高,聚類的效果越好。(計算相似度,需要選擇相似度計算方法,取決於具體應用)
k-均值是最早的一種聚類演算法,它可以發現k個不同的簇,且每個簇的中心採用簇中所含值的均值計算而成。優點:容易實現;缺點:可能收斂到區域性最小值,在大規模資料集上收斂較慢;適用資料型別:數值型資料。
k-均值的工作流程:首先,隨機確定k個初始點作為質心(k有使用者給定,唯一的引數);然後將資料集中的每個點分配到乙個簇中,就是把資料點分配給距離最近的之心;這一步完成之後,每個簇的之心更新為該簇所有點的平均值。迴圈執行這兩步,直到質心不再變化,結束迴圈。(計算質心-分配-計算質心-分配-…)
可以使用後處理來提高聚類效能:將具有最大誤差平方和(sum of squared error, sse)的簇劃分為兩個簇,也可以將某兩個簇合併;量化方法為合併最近的質心或者合併兩個使得sse增幅最小的質心。
二分k-均值演算法:該演算法首先將左右點作為乙個簇,然後將該簇一分為二,之後選擇乙個簇再進行劃分。選擇哪乙個簇進行劃分的方法?選擇可以最大程度降低sse的值的簇進行劃分,也可以直接選擇sse最大的簇進行劃分。
小結:聚類的演算法有好幾種類別,本書只介紹了k-均值。k-均值演算法有很多變形,另外層次聚類和密度聚類的方法也被廣泛使用,讀者可以自行了解。
從大規模資料集中尋找物品間的隱含關係被稱作關聯分析或關聯規則學習(association rule learning)。關聯分析的目標包括:發現頻繁項集和發現關聯規則。
頻繁項集(frequent item sets)是經常出現在一塊的物品集合,關聯規則(association rules)暗示兩種物品之間可能存在很強的關係。(例如:是乙個頻繁項集,->是乙個關聯規則)
支援度:資料集中包含該項集的記錄的比例。置信度:類似條件概率,置信度(->)= 支援度()/ 支援度()。
apriori原理:如果乙個項集是頻繁的,那麼它的所有子集也是頻繁的。反過來說,如果乙個項集是非頻繁的,那麼他的所有超集也是非頻繁的。這意味著一旦發現非頻繁集,那麼它的超集都可以直接略過。
apriori演算法是發現頻繁項集的一種方法,它需要兩個輸入引數:資料集和最小支援度。該演算法首先會生成所有單個物品的項集列表,接著掃瞄資料集來檢視那些項集滿足最小支援度要求,那些不滿足最小支援度的項集會被去掉,然後對剩下來的項集進行組合以生成包含兩個元素的項集。掃瞄資料集,求項集支援度,去掉不滿足最小支援度的項集,該過程重複進行直到沒有項集為止。
從頻繁項集中挖掘關聯規則:前件->後件,挖掘關聯規則需要提高最小可信度引數!如果某條規則並不滿足最小可信度要求,那麼任何左部為該規則前件子集的規則也不會滿足最小可信度要求。
小結:關聯分析是用於發現大資料集中元素間有趣關係的乙個工具集。兩個主要任務:發現頻繁項集和發現關聯規則。apriori演算法從單元素項集開始,通過組合滿足最小支援度要求的項集來形成更大的集合。每次計算支援度時都需要掃瞄整個資料集,當資料集很大時,這會顯著降低頻繁項集發現的速度。下一章的fp-growth演算法只需要對資料集進行兩次遍歷,能夠顯著加快速度。
fp-growth是乙個非常好的頻繁項集發現演算法。它基於apriori構建,但在完成相同任務時採用了不同的技術。它將資料集儲存在乙個特定的稱作fp樹的結構之後,用該樹來尋找頻繁項集。雖然該演算法能夠高效第發現頻繁項集,但不能用於發現關聯規則。
fp-growth演算法只需要對資料庫進行兩次掃瞄,而apriori演算法對於每個潛在的頻繁項集都會掃瞄資料集判定給定模式是否頻繁,因此fp-growth演算法的速度要比apriori演算法快。兩次掃瞄:第一次用來統計項集的頻率,第二次只考慮那些頻繁項集。
發現頻繁項集的基本過程:(1)構建fp數(2)從fp樹中挖掘頻繁項集
fp樹的結構,如何構建fp樹,如何挖掘fp樹請參考其他部落格。fp-growth演算法
fp-growth演算法發現頻繁項集-構建fp樹
小結:fp-growth演算法是一種用於發現資料集中頻繁模式的有效方法。fp-growth演算法利用apriori原則,但由於它只對資料集掃瞄兩次,因此fp-growth演算法執行更快。在fp-growth演算法中,資料集儲存在fp樹中。fp樹構建完成後,可以通過查詢元素項的條件基,及構建條件fp樹來發現頻繁項集。該過程不斷以更多元素作為條件重複進行,直到fp樹只包含乙個元素為止。
Linux筆記第三部分
最近開學什麼的事比較多,然後今天開始學校安排了培訓,全日制,早上9點到晚上7點,遭不住,不過培訓的機器用的ubantu,頓時覺得自己會玩的 捂臉 linux 13linux使用者基礎 1.使用者 用來限制使用者或程序可以使用的資源 組 用來方便組織管理使用者 2.每個使用者 組 都會有乙個useri...
Linux筆記第三部分
etc passwd中儲存了使用者資訊,etc shadow中儲存了密碼的hash結果。etc passwd中的gid指的是初始使用者組,即使用者登入系統就會擁有這個使用者組的相關許可權 有效使用者組指的是touch乙個新檔案時,生成檔案的所以組,可以通過groups命令檢視,第乙個即為有效使用者組...
劇本第三部分
第三部分劇本 場景一 女生宿舍,a趴在桌子上睡覺,電腦螢幕亮著,是vs 但是就寫了一行 小碼趴在a的胳膊上睡著。突然,a醒了,發現自己上課要遲到了,a 哎呀,完了完了,大中午的怎麼趴在這睡著了 邊說話邊收拾書包 轉頭看向小碼 a 把你放哪呢 說話的時候四周環視 算了,跟我去吧,我先把你放書包裡 說話...