數據(data)是事實或觀察的結果,是對客觀事物的邏輯概括,是用於表示客觀事物的未經加工的的原始素材……在計算機系統中,數據以二進制信息單元0,1的形式表示(百度百科)程序員
後半句看懂了,至於前半句,仍是忘記比較好。數據庫
簡單地說,任何事物的結果都是數據,注意是結果,不是過程,過程是一個動做,是驅動結果的行爲。設計模式
更簡單一點,用任何媒體記錄的東西都是數據,好比一本書中的文字,一張光盤中的信息,固然了,程序員們也許第一個想到的是數據庫中的數據。微信
假設有客戶發了一條微信:app
一般管這叫「信息」,那麼信息和數據有什麼區別?機器學習
假設你在另外一個手機上恢復和某人的聊天記錄,你管這個叫什麼?叫「歷史數據」對吧,因此說,數據是信息的集合。一般把某一類數據叫作數據集,好比圖片數據集,聊天記錄數據集。實際上這些名詞不必區分得那麼詳細,這些概念一般都很直白,不會弄錯,即便弄錯了也不要緊,你管數據集叫信息集也不影響理解。學習
人是很善於分類的,什麼事情都要分分類,最近比較熱門的分類是垃圾分類:spa
23種設計模式還分紅五、七、11三類:設計
對於每天打交道的數據,也少不了要分分類。大致上,數據能夠分爲結構化數據和非結構化數據,對於結構化數據的每一維度,還能夠根據類型和尺度進一步劃分。日誌
結構化數據指可以用行列存儲,有嚴格維度劃分的數據,科學家的實驗數據,關係型數據庫的表記錄,都是結構化數據。
與結構化對應的是非結構化數據,好比某個系統產生的日誌,一封郵件,一張圖片,一段視頻,一段微信聊天記錄……可見世界上的大部分數據都是非結構化數據。
顯然結構化數據更易於分析和處理,實際上大部分統計學模型和機器學習模型都只能使用格式化數據,不少時候,在面對非格式化數據時,不得不將其轉換成結構化數據。
對於一條非格式化數據,首先可以提取出的信息是數據的大小,固然,大小的度量根據數據集的不一樣可能會有所差別。
來看一下美團上對蘇州松鶴樓的評價:
第一條評論的文字比較多,其餘大多數評論都很短,這符合常理,畢竟大多數人都很懶。
「帶爸爸媽媽去吃的,想着讓父母多吃點菜式,就團了這個,比單點合算,吃的也很好,老爸老媽很喜歡,挑剔的廚師老爸對菜的評價8分,扣分點服務態度,大堂人員態度很好,雖然咱們沒有預定,但大堂積極的爲咱們安排了位置,可是二樓領班也很好,美中不足餐桌服務生,態度不是很積極,上菜也沒有介紹菜名,吃的一臉懵,最後用排除法就算猜着了。整體來說推薦。 #銀魚蓴菜湯# #東坡肉# #清溜河蝦仁# #蓴菜銀魚羹#」
這條評論有194個字(包括標點),松鶴樓共有274人評論,平均評論是21個字,在沒有大量重複語句的前提下,差很少能夠認定這條品論是精品評論了。
接下來對評論進行分詞解析:
1 mport pandas as pd 2 from jieba.analyse import ChineseAnalyzer 3 4 content = '帶爸爸媽媽去吃的,想着讓父母多吃點菜式,就團了這個,比單點合算,吃的也很好,老爸老媽很喜歡,挑剔的廚師老爸對菜的評價8分,扣分點服務態度,大堂人員態度很好,雖然咱們沒有預定,但大堂積極的爲咱們安排了位置,可是二樓領班也很好,美中不足餐桌服務生,態度不是很積極,上菜也沒有介紹菜名,吃的一臉懵,最後用排除法就算猜着了。整體來說推薦。' \ 5 '#銀魚蓴菜湯# #東坡肉# #清溜河蝦仁# #蓴菜銀魚羹#' 6 length = len(content) 7 print('length =', length) 8 9 segments = [] 10 analyzer = ChineseAnalyzer() 11 # 進行中文分詞 12 for word in analyzer(content): 13 segments.append({'word': word.text, 'count': 1}) 14 15 df = pd.DataFrame(segments) 16 # 詞頻統計 17 word_feq = df.groupby('word')['count'].sum() 18 # 按count降序排序,取出現次數最多的前30個詞 19 word_feq_n = word_feq.sort_values(ascending=False)[:30] 20 print(word_feq_n)
使用'ChineseAnalyzer'時可能出現:ImportError: cannot import name 'ChineseAnalyzer',安裝whoosh便可:pop install whoosh
代碼先對這條評論進行分詞,再統計詞頻最高的前30個詞,結果以下:
其中「好」、「積極」、「合算」、「喜歡」這類正面的詞共出現了5次,「不足」出現了1次,說明用顧客對本次用餐仍是比較滿意的。評論中出現了「咱們」、「爸爸」、「媽媽」,說明該顧客是多人用餐。「態度」、」菜」、 「上菜」都出現了,一般來講,若是態度和菜比較差,顧客不會用「不足」來評價,最可能的不足是「上菜」。
根據這些分析,能夠獲得格式化數據:
對於後三個字段,簡單地用2表示好,1表示通常,0表示差。
藉助相似的方法,咱們能夠將非結構化數據轉換成結構化數據,從而挖掘出更多的信息。
對於結構化數據來講,某一列的類型可分爲定量數據和定性數據。若是可以參與加減乘除這類運算,那麼這個數據就是定量數據,不然是定性數據。
看起來很簡單,好比某個企業的員工信息:
姓名這類文本類型確定是定性數據。年齡能夠相減,獲得的年齡差是有意義的,是定量數據;學號、性別、電話,雖然也是數字,可是進行減法沒有任何意義,所以也是定性數據。對於定量數據來講,能夠計算這一維度的平均數、最大值、最小值等信息。
比定性和定量更進一步,根據每一列參與數學運算的程度,結構化數據的一列可歸爲4個尺度之一:定類尺度、定序尺度、定距尺度、定比尺度。
每一個維度的數據都有一個測度中心,它是一個描述數據趨勢的數值,也被稱爲數據平衡點,平均數是經常使用的測度中心。
定類尺度主要包含文字和類別數據,好比姓名、訂單號、產品類別、發貨地址等,這類數據一般是字符串格式,沒法參與加減乘除這類數學運算。
兩種數學運算可能適合定類尺度——等式運算和包含運算,好比咱們能夠比較幾個訂單的發貨地址是否相同,或者產品是否隸屬於某個大類之下。
有些數據雖然能夠用數字表示,但仍然屬於定類尺度,好比電話號碼,對電話號進行加減乘除和除了等式以外的大小比較都是毫無心義的。
很明顯,定類尺度沒法使用均值、中位數,可是能夠經過統計的方式計算定類尺度數據的衆數,所以定類尺度的測度中心是數據的衆數。
(關於中位數和衆數,可參考 關於平均數)
定類尺度數據沒法按照天然屬性排序,而定序尺度數據能夠支持大小比較運算,從而對數據進行排序。這裏的排序,指對數據進行大小比較是有意義的前提下進行的排序,而不是指程序上的asc和desc。
定序尺度不能進行乘除運算,這容易理解,可是不少數資料上說定序尺度不能進行加減法運算(減法和加法是一回事,a-b至關於a+(-b)),並把這一點做爲判判定序尺度的依據,這就不容易理解了,須要換一種容易斷定的方式。
咱們常常看到企業的人員的學歷統計圖:
上圖是某個互聯網公司的人員學歷,分爲大專、本科、博士、碩士4個等級,能夠編號爲一、二、三、4。學歷的排序是有意義的,可是學歷相減呢?或許也是有意義的,3-1=2,4-2=2,兩個2都表示學歷的等級差,但這個等級差是否有用就值得商榷了,你能立刻聯想到什麼地方須要這個差值嗎?所以咱們說,判判定序尺度的依據之一是:數據並不必定是不能相減,只是相減後的差值不多有(或根本沒有)明確的用途。另外一個依據是,定序尺度一般用中位數而不是均值做爲測度中心。上圖的中位數是2,表示本科佔了大多數;而均值多是2.1,它並無一個明確的類別。所以HR在介紹時會說:「咱們公司的平均學歷是本科」,而不是說:「咱們公司的平均學歷比本科高那麼一丟丟。
定距尺度除了具有定序尺度的特徵外,還能夠進行有意義的加減法運算。
上海近20年11月份的平均氣溫、某個企業員工的年齡,這些都是定距尺度,兩個定距尺度的差是有意義的,而且很經常使用:去年11月的平均氣溫比今年高了2℃,老李比小王大10歲。顯然,定距尺度數據可使用均值做爲測度中心。
對於給定的數據集來講,咱們每每想了解數據的波動性,此時須要用到標準差:
其中r是均值,N是數據總量。
下表示2個射擊運動員5輪射擊後的數據:
均值是都9.5,彷佛而兩者實力至關。但經過觀察數據會發現,甲是發揮型選手,成績波動較大,能夠打出「超級環」,也會打出大失水準的「低級環」;相反,乙的發揮比較穩定,老是與平均成績接近。
每一次射擊的成績均會產生波動,用每一次射擊的得分減去平均成績表示本次波動,獲得了下面的數據:
如今能夠計算出二人的整體波動了:
能夠看出,乙的波動遠遠小於甲的波動,說明乙的穩定性更高。
關於標準差和數據波動的更多信息,可參考:方差、均方差和協方差
可否使用標準差也能夠做爲定序尺度和定距尺度的參考斷定依據之一。對於人類的智商來講,平均智商一般使用中位數,並且計算智商的波動是沒有意義的,所以智商屬於定序尺度。固然,智商也許會出現波動,好比看見美女智商降低70%,但這屬於玄學問題了。
定比尺度數據是最牛的一種,處理定距尺度的特性外,還能夠進行乘除運算,同時還具備絕對或天然的起點,即存在能夠做爲比較的共同起點或基數。
收入和存款是典型定比尺度,咱們常常說某某的收入是本身的2倍。
定比尺度和定距尺度也很微妙,關鍵仍是看乘除法是否有明確的意義。好比考試分數,0分能夠做爲天然的起點,可是咱們一般直說A比B高了30分,而不說A比B的分數高一倍,所以分數是用來肯定兩人之間的距離的,而不是比例。我家的面積是100平米,同窗家是200平米,同窗家比我家的面積大一倍,面積是定比尺度。
做者:我是8位的
出處:https://mp.weixin.qq.com/s/XJROL6iAFZ5XuFNq4WT86g
本文以學習、研究和分享爲主,如需轉載,請聯繫本人,標明做者和出處,非商業用途!
掃描二維碼關注做者公衆號「我是8位的」