相對于武漢,北京的秋來的真是早,九月初的傍晚,就能夠感覺到絲絲絲絲絲絲的涼意。
最近兩件事挺有感覺的。
看某發布會,設計師李劍葉的話挺讓人感動的。“**的設計是內斂和克制的…。希望設計成為一種,可以被忽略的存在感”。
其次,有感于不斷跳Tone的婦科圣手,馮唐,“有追求、敢放棄”是他的標簽。
“如何分辨出垃圾郵件”、“如何判斷一筆交易是否屬于欺詐”、“如何判斷紅酒的品質和檔次”、“掃描王是如何做到文字識別的”、“如何判斷佚名的著作是否出自某位名家之手”、“如何判斷一個細胞是否屬于腫瘤細胞”等等,這些問題似乎都很專業,都不太好回答。但是,如果了解一點點數據挖掘(Data Mining)的知識,你,或許會有柳暗花明的感覺。
的確,數據挖掘無處不在。它和生活密不可分,就像空氣一樣,彌漫在你的周圍。但是,很多時候,你并不能意識到它。因此,它是陌生的,也是熟悉的。
本文,主要想簡單介紹下數據挖掘中的算法,以及它包含的類型。然后,通過現實中觸手可及的、活生生的案例,去詮釋它的真實存在。
一、數據挖掘的算法類型
一般來說,數據挖掘的算法包含四種類型,即分類、預測、聚類、關聯。前兩種屬于有監督學習,后兩種屬于無監督學習,屬于描述性的模式識別和發現。
(一)有監督學習
有監督的學習,即存在目標變量,需要探索特征變量和目標變量之間的關系,在目標變量的監督下學習和優化算法。例如,信用評分模型就是典型的有監督學習,目標變量為“是否違約”。算法的目的在于研究特征變量(人口統計、資產屬性等)和目標變量之間的關系。
(1)分類算法
分類算法和預測算法的最大區別在于,前者的目標變量是分類離散型(例如,是否逾期、是否腫瘤細胞、是否垃圾郵件等),后者的目標變量是連續型。一般而言,具體的分類算法包括,邏輯回歸、決策樹、KNN、貝葉斯判別、SVM、隨機森林、神經網絡等。
(2)預測算法
預測類算法,其目標變量一般是連續型變量。常見的算法,包括線性回歸、回歸樹、神經網絡、SVM等。
(二)無監督學習
無監督學習,即不存在目標變量,基于數據本身,去識別變量之間內在的模式和特征。例如關聯分析,通過數據發現項目A和項目B之間的關聯性。例如聚類分析,通過距離,將所有樣本劃分為幾個穩定可區分的群體。這些都是在沒有目標變量監督下的模式識別和分析。
(1)聚類分析
聚類的目的就是實現對樣本的細分,使得同組內的樣本特征較為相似,不同組的樣本特征差異較大。常見的聚類算法包括kmeans、系譜聚類、密度聚類等。
(2)關聯分析
關聯分析的目的在于,找出項目(item)之間內在的聯系。常常是指購物籃分析,即消費者常常會同時購買哪些產品(例如游泳褲、防曬霜),從而有助于商家的捆綁銷售。