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

基于Python的數(shù)據(jù)脫敏與可視化分析

2019-05-22 10:27:32尹詩玉陳小奎師琳
電腦知識與技術(shù) 2019年6期

尹詩玉 陳小奎 師琳

摘要:為分析高校教學(xué)質(zhì)量,并對其進(jìn)行評價,本文基于python語言對教務(wù)系統(tǒng)導(dǎo)出的原數(shù)據(jù)進(jìn)行處理和分析,主要從數(shù)據(jù)導(dǎo)入,數(shù)據(jù)預(yù)處理,及數(shù)據(jù)分析三個層面結(jié)合實(shí)例進(jìn)行分析。首先利用tkinter庫設(shè)計(jì)出數(shù)據(jù)導(dǎo)入的界面;其次闡述數(shù)據(jù)清洗、分組、集成以及脫敏等數(shù)據(jù)預(yù)處理的常用算法,并結(jié)合高校教學(xué)評價這一實(shí)際案例進(jìn)行了演示,借助pandas庫中的dataframe數(shù)據(jù)類型實(shí)現(xiàn)了對“臟數(shù)據(jù)”的清洗,以及對教師姓名的脫敏;最后利用matplotlib庫對處理好的數(shù)據(jù)進(jìn)行數(shù)據(jù)可視化,并結(jié)合所得圖像對各專業(yè)班級及教師的學(xué)習(xí)和教學(xué)狀況進(jìn)行分析與評價。通過本文的數(shù)據(jù)處理,實(shí)現(xiàn)了對教師姓名的脫敏,保護(hù)了教師的隱私,并利用圖形直觀地反映出各教師和班級近幾年的成績分布,使得高??冃Э己烁拥姆奖恪?/p>

關(guān)鍵詞:Python;pandas;數(shù)據(jù)預(yù)處理;數(shù)據(jù)脫敏;數(shù)據(jù)可視化

中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2019)06-0014-04

Data Desensitization and Visual Analysis Based on Python

YIN Shi-yu,CHEN Xiao-kui,SHI Lin

(Anhui University of Science and Technology Institute of Mathematics and Big Date, Huainan 232001,China)

Abstract:In order to analyze the quality of college teaching and evaluate it, this paper based on Python language to process and analyze the original data derived from the educational system, mainly from three aspects: data import, data preprocessing, and data analysis. Firstly, the tkinter library is used to design the interface of data import. Secondly, the common algorithms for data preprocessing such as data cleaning, grouping, integration and desensitization are described. The actual case of college teaching evaluation is demonstrated. The dataframe data in the pandas library is used. The type realizes the cleaning of “dirty data” and the desensitization of the teacher's name. Finally, the matplotlib library is used to visualize the processed data, and the obtained images are used to analyze the learning and teaching status of each professional class and teachers. Through the data processing of this paper, the desensitization of the teacher's name is realized, the privacy of the teacher is protected, and the distribution of the scores of teachers and classes in recent years is visually reflected by the graph, which makes the performance appraisal of the university more convenient.

Key words: Python; pandas; data preprocessing; data desensitization; data visualization

1 背景

人工智能大數(shù)據(jù)時代的到來使得數(shù)據(jù)挖掘與分析日益成為不可或缺的技能。Python是一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,由于其具有豐富的類庫與簡潔性,成為數(shù)據(jù)分析的首選語言。由于數(shù)據(jù)類型的多樣化及其關(guān)聯(lián)關(guān)系的復(fù)雜性,數(shù)據(jù)預(yù)處理是數(shù)據(jù)分析和挖掘前的一個非常重要的工作;再者在數(shù)據(jù)挖掘技術(shù)快速發(fā)展的同時,也帶來了隱私信息容易泄露的難題,這時就需要對敏感信息進(jìn)行脫敏。

2 數(shù)據(jù)導(dǎo)入界面的設(shè)計(jì)

本文借助Python的tkinter包實(shí)現(xiàn)圖形化界面的設(shè)計(jì)。界面主要分為左右兩欄,左邊顯示用戶的登錄信息,右邊一欄供用戶導(dǎo)入數(shù)據(jù)并根據(jù)需要進(jìn)行相關(guān)的數(shù)據(jù)分析;菜單欄的內(nèi)容主要是原專業(yè)成績分布統(tǒng)計(jì),教師評價統(tǒng)計(jì)和教師與專業(yè)成績的關(guān)聯(lián)分析,本文著重闡述前兩項(xiàng),之后將對教師與專業(yè)成績的關(guān)聯(lián)度進(jìn)行分析。設(shè)計(jì)好的圖形化界面如圖1所示。

3 數(shù)據(jù)預(yù)處理

在大數(shù)據(jù)環(huán)境下,由于原始數(shù)據(jù)的雜亂性,重復(fù)性,模糊性,數(shù)據(jù)挖掘與分析的首要任務(wù)就是確保消除所有的“臟數(shù)據(jù)”,即冗余數(shù)據(jù),異常數(shù)據(jù),無用數(shù)據(jù)等,因此引入了數(shù)據(jù)預(yù)處理技術(shù)對原數(shù)據(jù)進(jìn)行處理。

數(shù)據(jù)預(yù)處理技術(shù)主要由數(shù)據(jù)清洗,數(shù)據(jù)集成,數(shù)據(jù)變換,數(shù)據(jù)規(guī)約等四部分組成。數(shù)據(jù)清洗部分主要包含處理缺失數(shù)據(jù)、檢測和過濾異常值,移除重復(fù)數(shù)據(jù)等;數(shù)據(jù)集成部分主要包含使用鍵參數(shù)的DataFrame合并,軸向連接等;數(shù)據(jù)變換部分主要包含利用映射進(jìn)行數(shù)據(jù)轉(zhuǎn)換,替換值等;數(shù)據(jù)規(guī)約就是對數(shù)據(jù)進(jìn)行聚集,進(jìn)一步降低數(shù)據(jù)規(guī)模,方便處理與分析。常見的脫敏方法有:

1)替換:以虛構(gòu)的數(shù)據(jù)代替真值,從而達(dá)到將隱私數(shù)據(jù)保護(hù)起來的目的。

2)無效化:以Null或者***代替真值的一部分,例如對銀行卡或手機(jī)號的處理。

3)置亂:對敏感數(shù)據(jù)列的值打亂后,重新分布,該方法將破壞與其他字段的聯(lián)系,具有局限性。

4)均值化:對數(shù)值型的數(shù)據(jù),首先求解它們的均值,使得脫敏后的值在均值附近。

5)偏移:通過隨機(jī)地對數(shù)據(jù)進(jìn)行移位改變數(shù)據(jù)[1]。

上述五種只是常用的幾種數(shù)據(jù)脫敏的方法,還有很多其他方法如反推斷、FPE、屏蔽,限制返回行數(shù)等等,根據(jù)實(shí)際應(yīng)用情況選取合適的脫敏方法即可。

3.1實(shí)例數(shù)據(jù)分析

本實(shí)例的每學(xué)期高數(shù)成績原始數(shù)據(jù)中包含有學(xué)號、姓名、課程名稱、學(xué)分、平時成績、期中成績、期末成績、實(shí)驗(yàn)成績、總評成績、備注、折算成績、補(bǔ)考成績、重修成績、績點(diǎn)、課程性質(zhì)、課程歸屬、重修標(biāo)記、選課課號、學(xué)年、學(xué)期、是否注冊、學(xué)院、班級、正考學(xué)年學(xué)期,教師姓名共25個屬性列,每學(xué)期記錄約4500條。

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

數(shù)據(jù)清洗是有助于解決數(shù)據(jù)質(zhì)量問題的處理過程,通過分析“臟數(shù)據(jù)”的產(chǎn)生原因及存在形式,對數(shù)據(jù)流的過程進(jìn)行分析,將“臟數(shù)據(jù)”轉(zhuǎn)化成滿足數(shù)據(jù)質(zhì)量要求的數(shù)據(jù)。數(shù)據(jù)清洗通常包括下面集中數(shù)據(jù)的處理[5]。

1)缺失值處理

本文通過對缺失值進(jìn)行檢測,發(fā)現(xiàn)原數(shù)據(jù)中存在少量值為空的數(shù)據(jù),雖然數(shù)量不多但仍會對之后的分析產(chǎn)生影響,為保證之后分析的準(zhǔn)確性,需要將這些數(shù)據(jù)進(jìn)行刪除,經(jīng)過處理后,最終剩下的數(shù)據(jù)還有4300余條。

2)異常值處理

首先導(dǎo)入matplotlib包,畫出有關(guān)數(shù)據(jù)的箱型圖,從圖中可以看出部分?jǐn)?shù)據(jù)的離散程度還是很大的,總評成績?yōu)?.1,0.2等之類的一定是異常值,下面需要對這些數(shù)據(jù)進(jìn)行剔除。結(jié)合該實(shí)例進(jìn)行分析,總評成績的異常值都出現(xiàn)在備注為“缺考”或者“緩考”的記錄條上,因此我們利用備注這一列進(jìn)行異常值的剔除,將備注數(shù)據(jù)是以上兩種情況的進(jìn)行取反操作,所得到的即為總評成績?yōu)檎V档膶W(xué)生記錄。

3)重復(fù)值處理

該實(shí)例的原數(shù)據(jù)來自教務(wù)系統(tǒng),由于學(xué)號是主鍵,其唯一表示了一個學(xué)生,因此不會存在重復(fù)值的存在,該實(shí)例不需要對重復(fù)值進(jìn)行考慮。

3.3 數(shù)據(jù)變換

數(shù)據(jù)變換就是找到數(shù)據(jù)的統(tǒng)一表示方法,對數(shù)據(jù)進(jìn)行歸一化處理,將其轉(zhuǎn)換為有利于分析與挖掘的形式;以及利用映射或替換等手段對敏感數(shù)據(jù)進(jìn)行隱藏,從而保護(hù)個人隱私。

對于該實(shí)例,之后需要分析的僅有班級,學(xué)院,教師姓名,總評成績四個屬性列,而各屬性列的值不用進(jìn)行無量綱化,因此可省去數(shù)據(jù)的標(biāo)準(zhǔn)化處理這一步;然而教師姓名這一屬性列涉及了教師的個人隱私,屬于敏感信息,所以需要對其進(jìn)行脫敏處理,因?yàn)樽罱K要對教師的教學(xué)進(jìn)行評價,所以采用替換的方法來進(jìn)行脫敏處理。首先讀取出表格的教師姓名一列,并建立兩個數(shù)組,一個是原始姓名數(shù)組,一個是替換的教師代號,將教師姓名這一列進(jìn)行替換,以保護(hù)這一敏感數(shù)據(jù)。

3.4 數(shù)據(jù)規(guī)約

數(shù)據(jù)規(guī)約是在對所要解決問題理解的基礎(chǔ)上,尋找數(shù)據(jù)的有用特征,以縮減數(shù)據(jù)規(guī)模,在盡可能保持?jǐn)?shù)據(jù)原貌的同時最大限度地減少數(shù)據(jù)量,對數(shù)據(jù)進(jìn)行降維處理,使得之后的分析與挖掘更加高效[3]。

結(jié)合本實(shí)例進(jìn)行分析,因?yàn)楸景咐詈笮枰治龅氖歉鲗I(yè),班級及教師的學(xué)習(xí)及教學(xué)狀況。需要得到每個班級的平均分后再進(jìn)行評價。故需要先根據(jù)班級這一屬性列對替換后的數(shù)據(jù)進(jìn)行分組后,對總評成績求平均將其聚合。最終只需要保留班級,學(xué)院,總評成績,教師姓名四列即可。

數(shù)據(jù)清洗,變換,規(guī)約的主要代碼如圖2,處理前后的數(shù)據(jù)對比圖如圖3,圖4所示。

3.5 數(shù)據(jù)集成

數(shù)據(jù)集成是將多文件中的數(shù)據(jù)進(jìn)行合并處理,主要涉及的方面有數(shù)據(jù)的選擇,數(shù)據(jù)的沖突以及不一致問題,其中主要包含相同字段屬性的縱向追加和具有相關(guān)屬性疊加的橫向合并等,數(shù)據(jù)橫向合并時,會因?yàn)橥粚ο蟮囊恍傩宰侄卧诓煌募械膶傩悦煌瑢?dǎo)致數(shù)據(jù)冗余,因此消除數(shù)據(jù)冗余是數(shù)據(jù)集成中的一項(xiàng)重要工作[2]。

結(jié)合本實(shí)例,為方便之后對每個班級,每位教師近幾年的學(xué)習(xí)與教學(xué)情況進(jìn)行分析,我們需要將每一學(xué)年的數(shù)據(jù)集成到一張表中。對于每個班級,為保證連接的正確性,首先將每學(xué)期的表格按照班級降序排列,其次利用Pandas庫取出總評成績這一列,最后將每學(xué)期的成績這一列放入新表中,與相關(guān)學(xué)期列對應(yīng),最終所得的表格即為集成后的每個班級的各學(xué)期成績分布表如圖5。

4 圖像分析

Python中具有的Matplotlib包,是數(shù)據(jù)可視化的重要類庫之一,其中包含了豐富的數(shù)據(jù)可視化資源,包括3D,地圖等都有涉及,借助該包可以實(shí)現(xiàn)直線圖、柱狀圖、箱型圖、散點(diǎn)圖以及折線圖。其主要包含以下四部分內(nèi)容:

1)Matplotlib的基礎(chǔ)figure類型。

2)調(diào)整figure的樣式和顏色。

3)添加圖的注釋。

4)其他復(fù)雜圖形[4]。

4.1實(shí)例需求

根據(jù)需求分析,本案例所要分析的是各專業(yè)的近幾年成績分布,以及各教師近幾年的教學(xué)質(zhì)量評價。并且根據(jù)每學(xué)期的總評成績,對班級和教師學(xué)習(xí)與教學(xué)進(jìn)行分析。下面本文將針對這兩種需求,詳細(xì)地闡述描繪繪圖的過程。

4.2 根據(jù)學(xué)期進(jìn)行分析

針對每一個學(xué)期,為了更好地體現(xiàn)該學(xué)期各班級的學(xué)習(xí)情況,需要將每個專業(yè)的總評成績匯總一個表中,選用未進(jìn)行數(shù)據(jù)集成之前的表格即可。首先使用read_excel方法讀取出表格,將專業(yè)作為橫坐標(biāo),總評成績作為縱坐標(biāo);其次選取文件名的中間幾個字符串作為學(xué)期的標(biāo)識;最后進(jìn)行折線圖的繪制。主要代碼如圖6。

用戶進(jìn)行分析時,只需在GUI中選擇需要導(dǎo)入的表格文件,用學(xué)期對文件進(jìn)行命名即可,這里以選取兩個學(xué)期為例,得到的圖形如圖7。結(jié)合圖像可以很直觀的分析出,16-17-1學(xué)期財(cái)務(wù)管理專業(yè),信管專業(yè),土木專業(yè)的成績較為突出,而非金屬專業(yè),彈藥專業(yè)成績處于最下游。

4.3根據(jù)選取的班級或教師進(jìn)行分析

針對每一個班級以及每一位教師,為了更好地體現(xiàn)其近幾年的學(xué)習(xí)及教學(xué)情況,需要將每個班級以及每位教師近幾年的平均成績匯總到一張表中,這時就要選用數(shù)據(jù)預(yù)處理中已經(jīng)過數(shù)據(jù)集成的表。首先使用read_excel方法讀取出表格,將學(xué)期作為橫坐標(biāo),總評成績作為縱坐標(biāo);其次根據(jù)選取的班級或教師名在數(shù)據(jù)表中查找數(shù)據(jù)項(xiàng);最后讀出該數(shù)據(jù)項(xiàng)進(jìn)行折線圖的繪制。主要代碼如圖8。

用戶進(jìn)行分析時,只需在圖形化界面中選擇需要導(dǎo)入的表格文件,采用數(shù)據(jù)預(yù)處理中數(shù)據(jù)集成的方法,這里以選取脫敏后的代號為T23的老師為例,得到的圖形如圖9。結(jié)合圖像可以很直觀地分析出:代號為T23老師在近幾年的教學(xué)中,17-18學(xué)年第一學(xué)期的教學(xué)質(zhì)量最好,15-16學(xué)年第二學(xué)期的教學(xué)質(zhì)量最差。

5 結(jié)語

本文結(jié)合實(shí)例對Python應(yīng)用于數(shù)據(jù)處理時的各階段進(jìn)行了分析,發(fā)現(xiàn)無論在數(shù)據(jù)分析還是數(shù)據(jù)挖掘中,數(shù)據(jù)預(yù)處理都占有很重的地位,占有總工作量的70%左右,因此數(shù)據(jù)處理的準(zhǔn)確性是之后數(shù)據(jù)分析與挖掘的基礎(chǔ),數(shù)據(jù)預(yù)處理中的脫敏一步能夠有效地保護(hù)用戶的隱私,提高系統(tǒng)安全性。在對數(shù)據(jù)進(jìn)行分析時,可視化是一個很好的選擇,能夠更加直觀地對數(shù)據(jù)進(jìn)行簡單的分析?;诒疚牡臄?shù)據(jù)處理步驟之后,更有利于關(guān)聯(lián)分析等更深層次的挖掘。

參考文獻(xiàn):

[1]陳天瑩,陳劍鋒.大數(shù)據(jù)環(huán)境下的智能數(shù)據(jù)脫敏系統(tǒng)[J].通信技術(shù),2016,49(7):915-922.

[2]張治斌,劉威.淺析數(shù)據(jù)挖掘中的數(shù)據(jù)預(yù)處理技術(shù)[J].數(shù)字技術(shù)與應(yīng)用,2017(10):216-217.

[3]孔欽,葉長青,孫赟.大數(shù)據(jù)下數(shù)據(jù)預(yù)處理方法研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2018,28(5):1-4.

[4]李俊華.基于Python的數(shù)據(jù)分析[J].電子技術(shù)與軟件工程,2018(17):167.

[5]葉鷗,張璟,李軍懷.中文數(shù)據(jù)清洗研究綜述[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(14):121-129.

[6]程學(xué)旗,靳小龍,王元卓,郭嘉豐,張鐵贏,李國杰.大數(shù)據(jù)系統(tǒng)和分析技術(shù)綜述[J].軟件學(xué)報,2014,25(9):1889-1908.

[7]馮登國,張敏,李昊.大數(shù)據(jù)安全與隱私保護(hù)[J].計(jì)算機(jī)學(xué)報,2014,37(1):246-258.

[8]劉勘,周曉崢,周洞汝.數(shù)據(jù)可視化的研究與發(fā)展[J].計(jì)算機(jī)工程,2002(8):1-2+63.

【通聯(lián)編輯:王力】

主站蜘蛛池模板: 欧美日本在线播放| 国产成人亚洲无吗淙合青草| 国产成人AV男人的天堂| 亚洲色图欧美视频| 精品自拍视频在线观看| 欧美在线免费| 亚洲日本精品一区二区| 精品少妇人妻一区二区| 伊伊人成亚洲综合人网7777| 国产成人精品在线1区| 日韩经典精品无码一区二区| 精品久久久久久久久久久| 在线国产91| 精品久久香蕉国产线看观看gif| 熟女成人国产精品视频| 亚洲伦理一区二区| 亚洲三级a| 国产女人18水真多毛片18精品 | 91极品美女高潮叫床在线观看| 亚洲二区视频| 又爽又大又黄a级毛片在线视频| 亚洲日韩日本中文在线| 日韩福利在线观看| 99re免费视频| 91麻豆国产视频| 成人精品亚洲| 99久久精品国产综合婷婷| 欧美色图第一页| 久久久久亚洲精品成人网| 少妇露出福利视频| 2021国产乱人伦在线播放| 日韩无码真实干出血视频| 亚洲一欧洲中文字幕在线| 一级看片免费视频| 亚洲av无码成人专区| 亚洲欧美成人影院| 亚洲狼网站狼狼鲁亚洲下载| 国产成人h在线观看网站站| 制服丝袜一区| 在线观看无码av免费不卡网站| 秋霞国产在线| 久久久久免费看成人影片| 亚洲色欲色欲www网| 久久黄色毛片| www亚洲精品| 婷五月综合| 国产精品自拍露脸视频| 日本成人福利视频| 免费一看一级毛片| 激情乱人伦| 久久综合九色综合97婷婷| 亚洲精品国偷自产在线91正片| 婷婷色中文网| 国产日韩欧美精品区性色| 秋霞一区二区三区| 日韩色图在线观看| 日韩麻豆小视频| 伊人色在线视频| 另类专区亚洲| 亚洲丝袜中文字幕| 国产伦片中文免费观看| 亚洲天堂精品在线观看| 97影院午夜在线观看视频| 亚洲精品动漫| 国产a在视频线精品视频下载| 亚洲国产无码有码| 第一页亚洲| 911亚洲精品| 国产福利微拍精品一区二区| 国产亚洲精品自在久久不卡| 国产精品三级专区| 中文字幕人成人乱码亚洲电影| 二级特黄绝大片免费视频大片| 亚洲中文无码h在线观看| 99视频在线免费| 一本大道香蕉久中文在线播放| 广东一级毛片| 九色在线视频导航91| 中文精品久久久久国产网址| 成人日韩精品| 国产精品自在拍首页视频8| 午夜精品久久久久久久99热下载 |