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
趕不走的學生
數據分析中的分類討論
教你一招:數的分類
學生寫話
電力系統及其自動化發展趨勢分析
學生寫的話
主站蜘蛛池模板: 少妇极品熟妇人妻专区视频| 日本手机在线视频| 免费va国产在线观看| 亚洲Va中文字幕久久一区| 在线国产欧美| 国产精品福利一区二区久久| 欧美一级片在线| 国产精女同一区二区三区久| 亚洲国产91人成在线| 免费无码AV片在线观看中文| 亚洲天堂视频网站| 亚洲免费人成影院| 亚洲天堂视频网站| 国产成人一区二区| 国内精自视频品线一二区| 亚洲国产成人久久精品软件| 亚洲一区毛片| 久久黄色影院| 国产日韩欧美成人| 综合色88| 亚洲国产AV无码综合原创| 国产日韩精品欧美一区灰| 欧美日韩一区二区在线免费观看| 国产成人精品18| 99免费视频观看| 国产系列在线| 色综合久久88| 中字无码精油按摩中出视频| 国产成人AV综合久久| 天天躁夜夜躁狠狠躁躁88| 国产毛片基地| 99在线视频免费| 超碰精品无码一区二区| 国产成年女人特黄特色毛片免| 亚洲床戏一区| 五月天久久综合| 欧美另类视频一区二区三区| 园内精品自拍视频在线播放| 久久这里只有精品8| av在线无码浏览| 日本欧美视频在线观看| 色综合中文字幕| 77777亚洲午夜久久多人| 日韩毛片免费观看| 久久黄色视频影| 色有码无码视频| 手机在线看片不卡中文字幕| 国内精自视频品线一二区| 亚洲五月激情网| 91丝袜在线观看| 91蝌蚪视频在线观看| 久久国语对白| 色婷婷综合激情视频免费看| 亚洲另类国产欧美一区二区| 国产一区二区三区在线无码| 91福利一区二区三区| 亚洲天堂视频在线观看免费| 免费无遮挡AV| 国产精品第一区| 蜜芽一区二区国产精品| 少妇人妻无码首页| 午夜日本永久乱码免费播放片| 欧美日韩午夜| 色欲色欲久久综合网| 免费观看欧美性一级| 欧美有码在线| 91黄视频在线观看| 国产国拍精品视频免费看 | 美美女高清毛片视频免费观看| 熟妇丰满人妻| 国产日韩欧美精品区性色| 日韩精品亚洲一区中文字幕| 国产高清又黄又嫩的免费视频网站| 亚洲成a人在线播放www| 秋霞一区二区三区| 亚洲Va中文字幕久久一区| 在线看片免费人成视久网下载| 国产福利免费观看| 在线观看视频一区二区| 91黄色在线观看| 亚洲综合第一页| 国产成人av一区二区三区|