999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于K- Means 與DBSCAN 聚類算法據背景下基于高校綜合性數據的學生行為分析與研究

2020-11-05 09:52:02田春子楊德會王勇強孫淑營
科學技術創新 2020年32期
關鍵詞:分類分析學生

田春子 楊 萬 楊德會 王勇強 孫淑營

(北京交通大學海濱學院,河北 黃驊061199)

1 概述

現在人們大都是處在數據化的時代[3],信息化迅速的發展,同時學校信息化進度也逐漸加快,校園里的信息化規模逐漸的擴大,例如學生存儲[3]在學校的校園卡日常消費數據、學期成績數據、去圖書館借書學習次數、課后上機實驗數據等校園活動,這些活動都一直在產生各種類型的數據,例如學生使用校園網產生的網絡日志也呈現指數級的增長,因此形成了學校里的大數據狀態[3]。

因此怎樣更好的利用信息結果去提升學生管理質量和效率,是目前需要特別面對的問題,本文結合數據挖掘算法(K-Means 與DBSCAN)和大數據技術分析學生在校期間產生的多類型數據,從中得出有幫助的、有意義的結果,以便學校工作者更好的管理學生,提高他們的工作效率和服務質量,讓學校管理工作人員對學生有更多的了解,讓他們在工作時能找到有價值的指導,從而可以為學生提供更好的幫助[3]。

2 算法介紹

聚類與分類有著離不開的關系,分類可以通過劃分歸類、層次歸類、密度、網格、模型法等等來分類。聚類需要具有很多較好的特點:

伸縮性:小于500 這樣的數據的處理可能會有較好的表現,但是在上萬甚至上百萬的數據量下可能出現的結果偏離,所以伸縮性是有必要的。

高緯度:在低維(二維或三維以下)的信息處理下,人們也許可以自己處理很快的處理出來,所以在高緯度的聚類分類是非常復雜的處理,具有高緯度處理也是有必要的。

數據挖掘中會出現的數據量的繁多、具有噪聲的、模糊的、隨機的,所以在數據量的堆積下分類可能出現一些效應(結果不匹配)。通過聚類算法可以一步步解決,甚至自己可以從分類的結果中發現數據的奇特歸類。

聚類算法是數據挖掘常見算法,通過挖掘的數據選定有效值(這里表示屬性),計算每個屬性的值(維度)對應的距離計算與閾值(分類的標準),距離是數據決定的,閾值可以通過結果去改變慢慢精確。

2.1 K-means 算法

k 均值聚類算法(k-means clustering algorithm)通過迭代分析計算獲取局部最優結果,一次次迭代都會使情況趨于穩定(最優)。

算法步驟:初始化目標點,通過計算與相應目標點較近的距離進行歸類,每次迭代更新目標點(可以是平均值)。終止條件可以是以下任何一個:

(1)沒有(或最小數目)對象被重新分配給不同的目標點。

(2)沒有(或最小數目)目標點再發生變化。

(3)誤差平方和局部最小[5]。

2.2 DBSCAN 算法

DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪聲的基于密度的聚類方法)是一種基于密度的空間聚類算法。通過尋找對應距離(半徑內)進行歸類,而且歸類的集合都是一起的(如果半徑沒有修改)。

算法步驟:DBSCAN[8]需要二個參數:掃描半徑(DR)和最小包含點數(minPts)。任選一個未被訪問(unvisited)的點開始,找出與其距離在DR 之內(包括DR)的所有附近點。

如果附近點的數量≥minPts,則當前點與其附近點形成一個簇,并且出發點被標記為已訪問(visited)。然后遞歸,以相同的方法處理該簇內所有未被標記為已訪問(visited)的點,從而對簇進行擴展。

如果附近點的數量<minPts,則該點暫時被標記作為噪聲點。

如果簇充分地被擴展,即簇內的所有點被標記為已訪問,然后用同樣的算法去處理未被訪問的點。

3 算法應用與數據分析

K-Means 以屬性值計算出距離最近(最優)進行歸類,DBSCAN 以屬性值計算兩點距離是否在閾值范圍內以此來歸類。與DBSCAN 不同的是DBSCAN 一次性就能出現結果,K-Means 可以通過迭代多次來精確閾值的范圍,而DBSCAN 只能通過結果觀察去慢慢改變(缺少靈活性),于此同時可以發現DBSCAN 是具有具體的結果數據(穩定結果),K-Means 的隨機性較高,最后的結果會有一定偏差(這里的偏差指的是迭代的次數的影響)。K-Means 可以多屬性(高維)處理而DBSCAN 不行(這里只能二維),在數據分析中可能K-Means 在多維優勢可以體現出來。

3.1 K-Means 算法在學生行為分析中的應用

K-Means 算法在學生行為分析中的應用,在數據集中隨機挑選或者自動生成一個參照點(計算距離的樣本點),生成的點通常就是分類的個數,每個未被標記訪問的數據點,都將與這些生成的參照點進行距離計算,與較近的一個點歸為一類,依次對每個未標記訪問的點進行計算。

訪問一遍之后可以再進行迭代,從每個類里面再次隨機生成每個類里面的參照點,迭代次數越多分類變化會漸漸趨于穩定(分類可能不變化)。

K-Means 算法偽代碼代碼如下:

01:Set<Cluster>chooseCenterCluster (){隨機選取中心點,構建成中心類。

02:Set<Cluster>點空間申請用來放點集合;

03:Random 隨機數用來隨機選取點的;

04:Point 從點集合中獲取隨機點使用隨機數挑選一個;

05:boolean 用來判斷點是否被選取;

06:if (cluster 是否與隨機點相同)

07:隨機點被使用就標記為false;

10:if (沒被標記為false)

11:增加集合點,數量加一;

12:return clusterSet;

13:void cluster(Set<Cluster>clusterSet)//為每個點分配一個類

14:float min_dis 距離;

15:兩點獲取最小距離;

16:if (點距離不同)

17:min_dis 獲取當前最小距離;

18:獲取點的id;

19:標記當前點的兩點間最小距離;

20:新清除原來所有的類中成員。把所有的點,分別加入每個類別

以上代碼為K-Means 對點的選取以及分類,介紹了K-Means 的主要思想。用需要先了解算法思想再去看代碼可能容易理解。

運行效果圖如圖1 所示。

以上的效果圖可以分析出對應屬性的分類情況,這里以canteen 與money 為例的數據分析統計,這里的輸出分類以后者的數值為準,所以是money,可以看出87.34(單位為百元)最多(人數),58.50 最少,以大局看來,大部分人花費8734 左右(元)都是比較多,從圖中信息看出花費6000-9000 生活費學生數量較多。

圖1 K-Means 分類統計效果圖(canteen 與money 屬性)

3.2 DBSCN 算法在學生行為分析中的應用

DBSCN 算法在學生行為分析中的應用,通過對數據的計算歸類,在數據中初始化一個點(數據隨機提取)作為本次迭代的起始點,并將其加入到數據集中;將取到的數據心點從未訪問樣本集合中標記為已使用;只要數據集不為空集,那么每次從其中提取出首個數據點,如果該數據點為起始對象,那么就將同時存在在該起始對象的數據集中的所有點和未訪問集合中的點記錄到數據集中,并且從中標記這些點;找到數據中所有的點后,集合數目增一,然后將那些出現在未訪問的集合原始拷貝中,且未出現在當前未訪問集合的點集合作為本次迭代生成的集合,最后從起始對象集合中標記出現的數據點;當不滿足迭代條件時,結束數據點訪問,繼續訪問其他未訪問的數據點。

DBSCAN 算法代碼如下:

室內環境中VOCs的來源是多種多樣的。木材在室內,無論是木梁和柱材的實木形式,或作為工程產品人造板、地板或家具,都會排放VOCs。

01:private void densityConnected(double[][])

02:boolean;//是否已經歸為某個類

03:boolean 標記為false;//是不是core 的"鄰居"

04:移除點//對某個core 點處理后就從core 集中去掉

05:for(point 遍歷點集合)

06:Isneighbour 標記為false;

07:isputToCluster 標記為false;

09:if cluster 是否與隨機點相同))//如果已經歸為某個類

10:隨機點被使用就標記為true;

11:break;

12:if(沒被標記為false)

13:continue;//已在聚類中,跳過,不處理

14:if(點的鄰居)//是目前加入的core 點的"鄰居"嗎?,ture的話,就和這個core 加入一個類

15:添加該點

16:isneighbour 標記為true;

17:if (是鄰居)// 如果是鄰居,才會接下來對鄰居進行densityConnected 處理,否則,結束這個core 點的處理

18:if(cores.contains(points[i]))

19:移除該點

以上代碼為DBSCAN 對點的分類,介紹了DBSCAN 的主要思想。用需要先了解算法思想再去看代碼可能容易理解。

運行效果圖如圖2 所示。

以上的效果圖可以分析出對應屬性的分類情況,這里以canteen 與money 為例的數據分析統計,這里的輸出分類以后者的數值為準,所以是money,可以看出74.69(單位為百元)最多(人數),從圖中信息看出花費6400-8300(元)生活費學生數量較多,結合剛剛K-means 分析的結果可以看出7500 左右的花費占主要,所以可以結合學生個人情況去建議學生每學期的花費使用(增加生活費或者減少生活費)。

圖2 DBSCAN 分類統計效果圖(canteen 與money 屬性)

4 結果分析建議

4.1 K-Means 算法性能分析

在通過10000 個大數據的計算下本程序對K-Means 的效率相對滿意,對信息處理的速度較快,前期出現過空間棧的超出,也盡快解決,通過限定分類的數量(一次處理)。所以總體可以發現K-Means 的速度是較快的,但是對空間要求較高,不過已經解決了。

4.2 DBSCAN 算法性能分析

DBSCAN 的效率較低,因為算法特性,會有重復處理的過程,但是在這里也優化了一番,速度提升明顯,在10000 個大數據的壓力下,最慢是2 分鐘左右,比起沒有優化過的無限期(30分鐘至少)快了很多,這個算法效率較低,空間要求也高。

5 算法分析比較

對算法的各個角度出發,分析算法的特性以及需要的標準,如表1。

6 結論

大數據是算法的用武之地,在本次的成果中解決了一次性的統計輸出,大大提高了數據統計的速度。

對算法的數據統計可以了解出學生的大體情況,可以通過實際考察來調整學生的在校活動,學校也可以通過結果來改善校園環境。

表1 算法 特性及標準

7 展望

從算法的應用出發,算法的功能基本完善,但還是有考慮不是特別全面的地方需要進一步完善,主要不足之處如下:

(1)用戶不能有效看見數據的細節部分,比如分類的數據集。

(2)初次接觸的用戶可能不了解算法機制存在迷惑。(3)算法優化上可以結合分類算法來提高效率。

猜你喜歡
分類分析學生
分類算一算
隱蔽失效適航要求符合性驗證分析
分類討論求坐標
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
趕不走的學生
數據分析中的分類討論
教你一招:數的分類
學生寫話
電力系統及其自動化發展趨勢分析
學生寫的話
主站蜘蛛池模板: 大香伊人久久| 国产真实乱人视频| 国产第二十一页| 综合色天天| 天天色天天操综合网| 99热亚洲精品6码| 女人18一级毛片免费观看| 国产日韩精品欧美一区灰| 91精品伊人久久大香线蕉| 国产91小视频| 国产欧美又粗又猛又爽老| 99热这里只有精品国产99| 久久女人网| 无码一区中文字幕| 色综合中文综合网| 99无码中文字幕视频| 国产在线观看一区精品| 欧美天堂在线| 三上悠亚在线精品二区| 国产在线专区| 国产日韩久久久久无码精品 | 国产在线拍偷自揄拍精品| 亚洲综合第一页| 国产丝袜第一页| 91极品美女高潮叫床在线观看| 亚洲欧洲日韩久久狠狠爱| 国产丝袜无码精品| 久久久黄色片| 亚洲无码视频喷水| 亚洲成人在线网| 国产麻豆福利av在线播放| 黄色网址免费在线| 欧美一级特黄aaaaaa在线看片| 久久黄色影院| 精品无码一区二区三区在线视频| 日韩高清成人| 亚洲成人网在线播放| 91精品国产自产在线观看| 毛片视频网| 日本免费新一区视频| 国产美女视频黄a视频全免费网站| 午夜无码一区二区三区在线app| 1级黄色毛片| 激情乱人伦| 人妻出轨无码中文一区二区| 国产在线日本| 国产91丝袜在线播放动漫 | 丁香婷婷在线视频| 天堂在线视频精品| 亚洲最大福利网站| 日韩毛片基地| 永久天堂网Av| 性色生活片在线观看| 免费网站成人亚洲| 欧美一区二区丝袜高跟鞋| 国产精品.com| 亚洲成人免费在线| 亚洲欧美国产五月天综合| 色首页AV在线| 亚洲一区二区三区国产精华液| 久久精品人人做人人爽电影蜜月| 永久免费精品视频| 国产呦视频免费视频在线观看| 国产流白浆视频| 国产三级精品三级在线观看| 精品无码国产自产野外拍在线| 日韩成人免费网站| 91破解版在线亚洲| 色视频国产| 无码区日韩专区免费系列| 手机在线国产精品| 亚洲最新地址| 五月六月伊人狠狠丁香网| 在线观看亚洲精品福利片| 久热re国产手机在线观看| 亚洲 成人国产| 国产免费a级片| 日韩欧美中文在线| 人妻21p大胆| 免费一看一级毛片| 激情综合图区| 在线看AV天堂|