国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Python在校園大數(shù)據(jù)中的應(yīng)用研究

2020-05-12 06:06:26朱正國
商丘師范學(xué)院學(xué)報 2020年6期
關(guān)鍵詞:匯總消費行為校園

朱正國

(安徽城市管理職業(yè)學(xué)院,安徽 合肥 230011)

伴隨著信息技術(shù)的發(fā)展和學(xué)校信息化建設(shè)的加強(qiáng),每天都會產(chǎn)生大量信息化數(shù)據(jù),如何有效利用好這些數(shù)據(jù)資源是目前很多學(xué)校面臨的問題.

當(dāng)今社會已經(jīng)進(jìn)入大數(shù)據(jù)時代,各種數(shù)據(jù)正在迅速膨脹變大,人們將越來越依賴大數(shù)據(jù)[1].大數(shù)據(jù)具備海量、多樣、高速、易變四大特點和數(shù)據(jù)類型繁多、價值密度相對較低、處理速度快時效性要求高三大特征[2].當(dāng)今高校也進(jìn)入了大數(shù)據(jù)時代,各種關(guān)聯(lián)性數(shù)據(jù)正在呈幾何級的增加,Python在大數(shù)據(jù)時代越來越凸顯出它的優(yōu)勢.Python豐富的工具包讓它在數(shù)據(jù)搜集、科學(xué)計算、文件處理、數(shù)據(jù)處理、數(shù)據(jù)可視化、人工智能、自動化控制等方面具備很大的優(yōu)勢.我們使用Python進(jìn)行校園大數(shù)據(jù)的數(shù)據(jù)采集、分析、匯總,給學(xué)校的教學(xué)改進(jìn)和學(xué)生管理提供決策支持.

1 Python在數(shù)據(jù)處理上的優(yōu)勢分析

Python是一種計算機(jī)程序設(shè)計語言.它是面向?qū)ο蟮膭討B(tài)腳本語言,起初主要用于自動化腳本的編寫,后期版本的更新和新增的語言功能使得Python語言現(xiàn)在可以用來進(jìn)行大型項目和獨立項目的開發(fā)[3].

Python在處理數(shù)據(jù)上具備以下優(yōu)勢:(1)代碼量少,開發(fā)速度快;(2)豐富的數(shù)據(jù)處理包,對于正則表達(dá)式、html解析、xml解析等處理起來非常方便;(3)使用成本低,且不要額外操作;(4)語法簡單,學(xué)習(xí)快、維護(hù)成本低;(5)Python是免費開源的、且兼容眾多平臺.正是由于Python不需要考慮諸如如何管理程序使用的內(nèi)存之類的底層細(xì)節(jié)、可移植性、可擴(kuò)展性良好等優(yōu)點,非常適合高校做大數(shù)據(jù)分析.

2 Python在數(shù)據(jù)處理上的應(yīng)用

2.1 數(shù)據(jù)搜集

學(xué)校每天的數(shù)據(jù)資源非常多,既有傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,又有包含視頻、音頻、文本以及其他形式的非結(jié)構(gòu)化數(shù)據(jù).數(shù)據(jù)收集就是要對這些碎片化的數(shù)據(jù)進(jìn)行收集的同時進(jìn)行清洗來保證數(shù)據(jù)質(zhì)量,同時還要更新數(shù)據(jù)模式來確定數(shù)據(jù)實體之間的關(guān)系,統(tǒng)一格式存儲,以便給后期數(shù)據(jù)分析階段提供有效的優(yōu)質(zhì)數(shù)據(jù)資源[4].

本文研究的Python工具版本是Python3,開發(fā)工具使用的是Eclipse,具體開發(fā)環(huán)境搭建過程在此不做詳細(xì)闡述,網(wǎng)上案例很多.Python抓取的系統(tǒng)包括:網(wǎng)頁形式各種校方教務(wù)、學(xué)工系統(tǒng)、門戶網(wǎng)站、包含人臉識別的視頻采集分析系統(tǒng)的智慧教室、校園一卡通系統(tǒng)、相關(guān)的各種交流論壇、實訓(xùn)室管理系統(tǒng)、以及在線學(xué)習(xí)平臺網(wǎng)站等.設(shè)計思路是首先進(jìn)入校園門戶網(wǎng)站,根據(jù)該網(wǎng)絡(luò)爬出所有相關(guān)連的網(wǎng)站和系統(tǒng)url,包括校內(nèi)和校外的,部分實現(xiàn)代碼如下:

def crawl(pages,depth=2):

for i in range(depth):

newpages = set()

for page in pages:

try:

c = urllib.request.urlopen(page)

except:

print(’Invaild page:’,page)

continue

soup = bs4.BeautifulSoup(c.read())

links = soup(’a’)

for link in links……

通過一個循環(huán)抓取當(dāng)前頁面上所有的鏈接,我們盡可能多地去抓取鏈接,之所以選擇set而不使用list是防止重復(fù)的現(xiàn)象,我們可以將爬取的網(wǎng)站存放到文件或者M(jìn)ySQL或者是MongoDB里.

output = sys.stdout

outputfile = open(’chengguan.txt’,’w’)

sys.stdout = outputfile

list = GetFileList(chengguan,[])

這一步的目的是做數(shù)據(jù)資源的來源分析.接下來,需要做的是“關(guān)鍵詞”搜索,如:“學(xué)生成績”“某某班級”“某某人”“某某實訓(xùn)室”等,部分實現(xiàn)代碼如下:

import jiban

import jiban.analyse

text = “關(guān)鍵詞”

fenci_text = jiban.cut(text)……

通過Python編寫的網(wǎng)絡(luò)爬蟲程序,只需要設(shè)計好規(guī)則,程序就會自動的、不間斷的按照既定規(guī)則去抓取你所需要的數(shù)據(jù).同時對抓取的數(shù)據(jù)進(jìn)行存儲、分析、過濾、建立索引,方便后期查詢與檢索,通過這一系列過程所得到的分析結(jié)果還會對以后的抓取過程給出反饋和指導(dǎo)[5].

2.2 數(shù)據(jù)清洗

通過Python爬蟲抓取的數(shù)據(jù)是臃腫的、散亂的、未校驗、不規(guī)則的,在提交給“數(shù)據(jù)分析”之前,還需要進(jìn)行“數(shù)據(jù)清理”工作.因為Python是不間斷地進(jìn)行數(shù)據(jù)搜集工作,如果不進(jìn)行數(shù)據(jù)清洗,那么爬蟲庫也將越來越龐大、對其進(jìn)行的分析時間也將越來越長,逐漸的就會失去其意義.

我們利用數(shù)據(jù)挖掘、數(shù)理統(tǒng)計、預(yù)定義清理的規(guī)則等對數(shù)據(jù)進(jìn)行審查和校驗,剔除重復(fù)、錯誤的信息,保證數(shù)據(jù)的準(zhǔn)確、一致、有用[6].本研究部分Python編寫的數(shù)據(jù)清洗代碼如下:

import pandas as pd

import numpy as np

from collections import Counter

from sklearn import preprocessing

from matplotlib import pyplot as plt

matplotlib inline

import seaborn as sns

plt.rcParams[’font.sans-serif’]= [’SimHei’]

plt.rcParams[’axes.unicode_minus’]= False

sns.set(font=’SimHei’)

data=pd.read_excel(’...’)

data.head()

data.shape

data.describe()

data.isnull().any()

total = data.isnull().sum().sort_values(ascending=False)

print(total)

data.duplicated().sum()

data.drop_duplicates()

for i in cat_col:

print(pd.Series(data[i]).value_counts())

plt.plot(data[i])

dummies=pd.get_dummies(data[cat_col])

dummies

數(shù)據(jù)清洗路徑如圖:

圖2 數(shù)據(jù)清洗路徑

2.3 數(shù)據(jù)分析

爬取后的數(shù)據(jù)經(jīng)過數(shù)據(jù)清洗后還需要經(jīng)過數(shù)據(jù)分析這個過程來挖掘其潛在的價值,我們可以用傳統(tǒng)的方法來對數(shù)據(jù)進(jìn)行分析諸如數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)、統(tǒng)計分析等[7].只是需要按照大數(shù)據(jù)的特點來進(jìn)行調(diào)整:首先對于處理海量信息化數(shù)據(jù)的分析,我們需要借助Map/ Reduce模型經(jīng)過數(shù)據(jù)拆分處理和結(jié)果匯總二個過程,一次完整的分析可能需要多次類似的處理過程;其次,正如前面所說的大數(shù)據(jù)的應(yīng)用有很強(qiáng)的時效性,數(shù)據(jù)的價值會隨著時間的推移而不斷降低,因此我們在進(jìn)行數(shù)據(jù)分析時需要處理和平衡好效率和準(zhǔn)確率之間的關(guān)系[7].

高校大數(shù)據(jù)分析需要從多維度進(jìn)行:例如課堂教學(xué)質(zhì)量分析,通過清洗后的課堂視頻數(shù)據(jù),我們可以得到課堂的出勤、教師提問、學(xué)生舉手抬頭鼓掌包括學(xué)生上課睡覺等情況;例如學(xué)校科目分析,通過清洗后的相關(guān)教學(xué)數(shù)據(jù),可以得到不同學(xué)年、不同教師對同一科目的教學(xué)成果,可以得到同一教師在不同學(xué)期、不同專業(yè)的同一科目教學(xué)成果;例如具體學(xué)生學(xué)習(xí)分析,可以通過清洗后的教學(xué)數(shù)據(jù)、學(xué)工數(shù)據(jù)、一卡通數(shù)據(jù),獲得該學(xué)生不同學(xué)科的 成績、進(jìn)出宿舍打卡時間統(tǒng)計信息、進(jìn)出教室打卡時間統(tǒng)計信息、進(jìn)出實訓(xùn)室打卡時間統(tǒng)計信息、科目教師對其評價匯總信息、該學(xué)生在學(xué)校推薦在線學(xué)習(xí)平臺學(xué)習(xí)情況匯總信息;例如學(xué)生消費分析,可以通過該學(xué)生的一卡通在校園內(nèi)食堂刷卡消費記錄、零食品店鋪刷卡消費記錄,獲得該學(xué)生不同時間段消費記錄匯總信息、不同類型消費對比信息.

本研究,部分Python編寫的數(shù)據(jù)分析代碼如下:

from collections import defaultdict

def group_data(data,key_name):

grouped_data=defaultdict(list)

for data_point in data:

grouped_data[data_point[key_name]].append(data_point)

return grouped_data……

數(shù)據(jù)分析的結(jié)果,很容易了解哪些課是受歡迎的;哪些教師是學(xué)生喜歡的,哪些院系重視教學(xué)工作;哪些課程需要改進(jìn),如何改進(jìn);哪些教師應(yīng)該獲得幫助,需要哪些幫助;哪些課程應(yīng)該獲得更多的投入;哪些教師應(yīng)該獲得獎勵;哪些教室應(yīng)該進(jìn)行改造,如何改造;哪些院系應(yīng)該淘汰哪些課程等.

數(shù)據(jù)分析的結(jié)果,能夠幫助學(xué)校健全學(xué)生信息,例如生源、家庭條件、專業(yè)背景、學(xué)習(xí)習(xí)慣、學(xué)習(xí)成績、消費習(xí)慣、網(wǎng)絡(luò)瀏覽習(xí)慣、上課狀態(tài)、對某些科目的喜好程度、校內(nèi)社交情況、主動上網(wǎng)在線學(xué)習(xí)情況、主動預(yù)約實訓(xùn)室學(xué)習(xí)情況等;這些信息具有很高的價值,角度全面、且信息處于不斷變化之中.

按照一定規(guī)則分析出的數(shù)據(jù),就可以進(jìn)行下一步環(huán)節(jié):數(shù)據(jù)匯總.

2.4 數(shù)據(jù)匯總與反饋

通過Python進(jìn)行數(shù)據(jù)搜集和分析,我們可以匯總出在校學(xué)生的各科學(xué)習(xí)情況、學(xué)生成績階段性對比情況、同級學(xué)生對比情況、同科學(xué)生對比情況、不同教師上同一科目的教學(xué)效果對比情況、同一教師上不同班級教學(xué)效果對比情況等;同時還匯總出學(xué)生在校消費行為報告、不同學(xué)生消費行為對比分析報告、不同時間段學(xué)生消費行為分析報告、學(xué)生在考試前和考試后消費行為分析報告等;以及學(xué)生消費行為和當(dāng)天上課效果關(guān)聯(lián)性分析、學(xué)生在節(jié)假日前后消費和學(xué)習(xí)效果關(guān)聯(lián)性分析等.

這些分析匯總數(shù)據(jù),對學(xué)校進(jìn)行教學(xué)診改、學(xué)生個性化優(yōu)勢教學(xué)、學(xué)生消費行為指導(dǎo)等,提供了決策數(shù)據(jù)支持.

3 總結(jié)及后續(xù)工作

本文運用Python對安徽城市管理職業(yè)學(xué)院的校園大數(shù)據(jù)進(jìn)行挖掘分析,旨在為校園大數(shù)據(jù)的充分利用探索可行路線.現(xiàn)在很多高校都在探索校園大數(shù)據(jù)問題,大部分是從發(fā)展規(guī)劃的角度去探索數(shù)據(jù)分析問題,包括挖掘關(guān)乎學(xué)校發(fā)展的各類數(shù)據(jù)指標(biāo),然后從幾個維度進(jìn)行縱、橫向比較分析,從而分析學(xué)校發(fā)展存在的問題[2].本研究以學(xué)生為中心,進(jìn)行數(shù)據(jù)搜集、挖掘、清洗、分析、匯總,通過對學(xué)生的多維度分析,從而更好地培養(yǎng)人才.

當(dāng)然,在研究的過程中,也遇到了一些問題:比如信息不全面,為此學(xué)校在智慧校園的改造過程中,把以前那些互聯(lián)性較差的、數(shù)據(jù)統(tǒng)一標(biāo)準(zhǔn)較差的系統(tǒng)進(jìn)行了逐步改造,現(xiàn)在學(xué)校的各種系統(tǒng)基本都是web方式部署,且建立了統(tǒng)一的數(shù)據(jù)標(biāo)準(zhǔn);比如缺乏數(shù)據(jù)分析的模式和方法,用戶需求零散瑣碎,數(shù)據(jù)價值難以真實體現(xiàn)等等[9].為了解決諸如此類問題,我們參考了多所其他院校分析模式結(jié)合網(wǎng)上專家的一些指導(dǎo)方向,通過摸索實驗,建立了適合本校的研究模式.利用Python對校園信息化大數(shù)據(jù)的分析應(yīng)用,只是起點,后續(xù)還有很多需要完善的地方.如何利用好這些數(shù)據(jù),讓其價值得到充分的體現(xiàn),是我們每個教育工作者都應(yīng)該盡力去做的事情.

猜你喜歡
匯總消費行為校園
常用縮略語匯總
系統(tǒng)抽樣的非常規(guī)題匯總
淺析花卉市場中的消費行為
校園的早晨
琴童(2017年3期)2017-04-05 14:49:04
春滿校園
淺析當(dāng)代大學(xué)生消費行為
中國市場(2016年44期)2016-05-17 05:14:40
開心校園
供應(yīng)商匯總
供應(yīng)商匯總
基于大學(xué)生消費行為的團(tuán)購網(wǎng)站建設(shè)
临夏县| 大邑县| 天门市| 乌苏市| 渭源县| 萨嘎县| 高青县| 连城县| 中方县| 辽阳县| 会同县| 昭通市| 武乡县| 平和县| 集贤县| 孝感市| 宜良县| 探索| 安阳县| 边坝县| 钦州市| 东平县| 衡阳市| 南阳市| 高唐县| 新余市| 来安县| 常熟市| 东台市| 香河县| 荣昌县| 泰兴市| 甘谷县| 信宜市| 顺义区| 永兴县| 石景山区| 通江县| 贵阳市| 兴安县| 合江县|