黃素青
摘要:在當(dāng)今信息技術(shù)的發(fā)展中,大數(shù)據(jù)分析技術(shù)發(fā)揮著顯著優(yōu)勢。在進(jìn)行大數(shù)據(jù)分析的過程中,Python編程語言的合理運(yùn)用也至關(guān)重要。為實(shí)現(xiàn)Python編程語言的合理運(yùn)用,促進(jìn)大數(shù)據(jù)分析效率和質(zhì)量的提升,文章基于Python編程語言在大數(shù)據(jù)分析過程中的運(yùn)用策略進(jìn)行分析,將Python編程語言中的Numpy庫用作基礎(chǔ)的數(shù)據(jù)分析工具,Pandas庫用作專用的數(shù)據(jù)分析庫,Matplotlib庫用作可視化數(shù)據(jù)工具,將Scikit-learn庫用于數(shù)據(jù)分析。文章的分析可為Python編程語言的應(yīng)用和大數(shù)據(jù)分析技術(shù)的融合提供科學(xué)參考。
關(guān)鍵詞:大數(shù)據(jù)分析;Python編程語言;運(yùn)用策略
中圖分類號(hào):TP311? 文獻(xiàn)標(biāo)志碼:A
0 引言
隨著云時(shí)代的來臨,數(shù)據(jù)資源爆炸式增長,要挖掘出數(shù)據(jù)中有價(jià)值的信息,關(guān)鍵技術(shù)在于數(shù)據(jù)的加工和分析。目前,大數(shù)據(jù)領(lǐng)域有許多大數(shù)據(jù)分析的工具,Python和R語言等都是非常受歡迎的開發(fā)語言。近幾年,Python的用戶數(shù)量不斷增多,在大數(shù)據(jù)分析領(lǐng)域的用戶量已經(jīng)超過了R語言。Python以其豐富的功能庫,使軟件設(shè)計(jì)人員能夠更高效地完成工作。
1 Python編程語言與大數(shù)據(jù)分析概述
1.1 Python編程語言
Python是一種面向?qū)ο蟮慕忉屝统绦蛟O(shè)計(jì)語言,廣泛應(yīng)用于Web應(yīng)用開發(fā)、數(shù)據(jù)分析、科學(xué)計(jì)算和圖像處理等眾多領(lǐng)域。此種語言語法簡潔、簡單易學(xué),代碼量只有其他語言的1/5~1/10。Python是一種免費(fèi)的開源軟件,用戶可以自由地發(fā)布該軟件的拷貝和修改源代碼,而不需要承擔(dān)任何費(fèi)用且不涉及版權(quán)。它不僅具有良好的跨平臺(tái)性能,同時(shí)也能輕松地將其他語言(如C,C++等)開發(fā)的模塊連接進(jìn)來。Python的標(biāo)準(zhǔn)庫擁有幾百個(gè)類、函數(shù)庫和圖庫,此外,還可以加載第三方函數(shù)庫,在快速開發(fā)時(shí)展現(xiàn)其強(qiáng)大優(yōu)勢。隨著大數(shù)據(jù)市場的不斷壯大,Python以其自身的優(yōu)勢,成為最受歡迎的程序設(shè)計(jì)語言之一。憑借這些優(yōu)勢與特征,Python編程語言在當(dāng)今的軟件設(shè)計(jì)與大數(shù)據(jù)分析中得到了非常廣泛的應(yīng)用。
1.2 大數(shù)據(jù)分析
所謂大數(shù)據(jù)分析,就是對具有巨大規(guī)模的數(shù)據(jù)進(jìn)行分析。具體分析中,其主要的目標(biāo)有3個(gè):(1)需要實(shí)現(xiàn)大量的數(shù)據(jù)交互;(2)需要對數(shù)據(jù)進(jìn)行探索性計(jì)算;(3)需要獲得可視化的數(shù)據(jù)分析結(jié)果。在當(dāng)今的信息化時(shí)代中,大數(shù)據(jù)分析已經(jīng)成為各個(gè)領(lǐng)域信息數(shù)據(jù)管理與應(yīng)用的關(guān)鍵。在使用Python編程語言進(jìn)行大數(shù)據(jù)分析的過程中,為使Python編程語言達(dá)到良好的應(yīng)用效果,開發(fā)人員要明確大數(shù)據(jù)分析所使用的相關(guān)功能庫,然后以此為依據(jù),結(jié)合大數(shù)據(jù)分析的實(shí)際需求,對Python編程語言加以合理應(yīng)用。
2 大數(shù)據(jù)分析中的Python編程語言應(yīng)用策略分析
2.1 將Python編程語言中的Numpy庫用作基礎(chǔ)的數(shù)據(jù)分析工具
在Python編程語言中,Numpy庫屬于一種科學(xué)計(jì)算庫,同時(shí)也是Python編程語言進(jìn)行矢量運(yùn)算以及數(shù)據(jù)組處理的一個(gè)重要工具包。在通過Python編程語言進(jìn)行大數(shù)據(jù)分析的過程中,Numpy是數(shù)據(jù)分析和高性能計(jì)算的基礎(chǔ)。對于大數(shù)據(jù)分析,Numpy庫不僅會(huì)實(shí)現(xiàn)多個(gè)便捷性矢量運(yùn)算接口的提供,同時(shí)也可以實(shí)現(xiàn)Python編程語言數(shù)據(jù)組運(yùn)算效率的顯著提升[2]。因此,在通過Python編程語言進(jìn)行大數(shù)據(jù)分析的過程中,可將Numpy庫用作基礎(chǔ)的數(shù)據(jù)分析工具,以此來為數(shù)據(jù)分析工具的良好應(yīng)用提供足夠幫助。
2.2 將Python編程語言中的Pandas庫用作專用的數(shù)據(jù)分析庫
在Python編程語言的具體應(yīng)用中,Pandas是以Numpy庫為基礎(chǔ)所構(gòu)建的一種高性能數(shù)據(jù)分析庫,通過該數(shù)據(jù)分析庫的應(yīng)用,可實(shí)現(xiàn)數(shù)據(jù)的歸并、分組以及排序等各項(xiàng)操作,同時(shí)也可以對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)方差、極值求解以及求和等統(tǒng)計(jì)計(jì)算?;诖?,在通過Python編程語言進(jìn)行大數(shù)據(jù)分析的過程中,可將Pandas用作專用的數(shù)據(jù)分析庫,以此來實(shí)現(xiàn)數(shù)據(jù)的結(jié)構(gòu)化處理。在大數(shù)據(jù)分析中,第一個(gè)環(huán)節(jié)就是數(shù)據(jù)的采集,而Pandas則可以實(shí)現(xiàn)多種I/O形式的API函數(shù)提供,同時(shí)也可以對txt,csv,SQL Server以及xlsx等多種類型的數(shù)據(jù)文件進(jìn)行讀?。?]。通過這樣的方式,便可為大數(shù)據(jù)分析奠定良好的技術(shù)基礎(chǔ)。如表1所示為Pandas專用數(shù)據(jù)分析庫中的讀取文件常用函數(shù)及其功能情況。
2.3 將Python編程語言中的Matplotlib庫用作可視化數(shù)據(jù)工具
在Python編程語言中,Matplotlib庫屬于最著名的一個(gè)繪圖庫,將Matplotlib庫與Numpy模塊相配合,便可讓大數(shù)據(jù)分析結(jié)果得以可視化顯示。因此,在通過Python編程語言進(jìn)行大數(shù)據(jù)分析的過程中,研究者和技術(shù)人員可將其中的Matplotlib庫用作可視化數(shù)據(jù)工具。在此過程中,需要通過Matplotlib中的liot工具包進(jìn)行繪圖,這個(gè)工具包所提供的繪圖API和Matlab相似,技術(shù)人員只需要調(diào)用模塊提供的函數(shù),便可實(shí)現(xiàn)柱形圖、散點(diǎn)圖以及直方圖等二維、三維圖形的高質(zhì)高效繪制。通過這樣的方式,便可讓大數(shù)據(jù)分析結(jié)果實(shí)現(xiàn)科學(xué)、準(zhǔn)確的可視化顯示,從而讓Python編程語言在大數(shù)據(jù)分析可視化顯示中發(fā)揮出充分的應(yīng)用優(yōu)勢[4]。比如,在對某個(gè)智商數(shù)據(jù)直方圖進(jìn)行隨機(jī)繪制的過程中,規(guī)定其分布形式為正態(tài)分布,數(shù)量為10萬個(gè),sigam(罕見西格瑪,即高智慧)為20,mu(智慧系數(shù))為100,如圖1所示為通過Matplotlib繪制出的智商數(shù)據(jù)正態(tài)分布。
2.4 將Python編程語言中的Scikit-learn庫用來進(jìn)行數(shù)據(jù)分析
在通過Python編程語言進(jìn)行大數(shù)據(jù)分析的過程中,Scikit-learn庫也是一項(xiàng)關(guān)鍵的技術(shù)形式。Scikit-learn庫是將Bumpy庫、Scipy以及Matplotlib作為基礎(chǔ)所構(gòu)建的一個(gè)機(jī)器學(xué)習(xí)庫。在Scikit-learn機(jī)器學(xué)習(xí)庫中,所有的支持算法以及模型都已經(jīng)得到了廣泛驗(yàn)證。就目前來看,其主要支持算法和模型可按照3個(gè)大類進(jìn)行劃分,第一大類是分類,第二大類是回歸,第三大類是聚類。同時(shí),Scikit-learn機(jī)器學(xué)習(xí)庫也可以為大數(shù)據(jù)分析提供科學(xué)的數(shù)據(jù)預(yù)處理、模型選擇以及數(shù)據(jù)降維等功能。而在Scikit-learn機(jī)器學(xué)習(xí)庫中,最為常用的一項(xiàng)大數(shù)據(jù)分析功能便是Logistic回歸。
在通過Logistic回歸法進(jìn)行大數(shù)據(jù)分析的過程中,首先需要進(jìn)行算法設(shè)計(jì)。因?yàn)長ogistic回歸屬于一個(gè)廣義形式的線性分析模型,其實(shí)質(zhì)是通過回歸的形式對分類問題加以解決。假設(shè)x是一個(gè)特征向量,在這個(gè)特征向量中,其屬性值共有n個(gè),則x與n之間的關(guān)系可表示為:x=(x1,x2,x3...xn),而所謂的線性分析模型,則是通過若干個(gè)屬性進(jìn)行線性組合,從而獲得的預(yù)測函數(shù)[5],其公式為:
f(x)=w1x1+w2x2+w3x3+...+wnxn+b (1)
式(1)中的w代表權(quán)重,b代表偏值。如果按照向量的形式加以表示,則其公式可轉(zhuǎn)變?yōu)椋?/p>
f(x)=wTx+b (2)
式(2)中的T代表組合成線性分析模型的屬性個(gè)數(shù)。而在線性模型中,其關(guān)鍵的算法便是w以及b的學(xué)習(xí)。在線性回歸中,最主要的任務(wù)是借助于訓(xùn)練集來實(shí)現(xiàn)w以及b的學(xué)習(xí)和獲得。通過這樣的方式,才可以讓訓(xùn)練集預(yù)測值及其真實(shí)回歸目標(biāo)值這兩者之間具有最小的均方誤差。如果給定了一個(gè)(x,y)樣例數(shù)據(jù)點(diǎn),對于這個(gè)樣本點(diǎn)所具有的預(yù)測值f(x),如果其線性模型和真實(shí)值y相接近,線性回歸模型便由此形成,也就是:
y=wTx+b(3)
線性回歸模型主要表征的是輸入值x和輸出值y這兩者之間所具有的一種線性關(guān)系。
通過Scikit-learn庫中自帶的iris數(shù)據(jù)集對大數(shù)據(jù)進(jìn)行訓(xùn)練以及預(yù)測處理。在此過程中,如果并未將Python科學(xué)計(jì)算包安裝在相應(yīng)的大數(shù)據(jù)分析系統(tǒng)中,則最好對Anaconda進(jìn)行合理的安裝和利用。對于Python編程語言而言,Anaconda是一種十分優(yōu)秀的集成化開發(fā)環(huán)境,其中關(guān)于數(shù)據(jù)科學(xué)方面的第三方包接近200個(gè),可對大數(shù)據(jù)進(jìn)行科學(xué)處理與預(yù)測分析,同時(shí)也可以對Python編程語言的發(fā)行版做出科學(xué)計(jì)算,可以將人工智能形式的開發(fā)環(huán)境構(gòu)建在此基礎(chǔ)上。其中的所有代碼都可通過Anaconda進(jìn)行調(diào)試。在通過Scikit-learn庫中自帶的iris數(shù)據(jù)集對大數(shù)據(jù)進(jìn)行訓(xùn)練以及預(yù)測處理時(shí),其主要的步驟包括以下3個(gè)。
第一,將所需模塊導(dǎo)入。(1)將Numpy模塊導(dǎo)入,此時(shí)可選擇Numpy的別名import numpy as up #np;(2)將Scikit-learn庫中的datasets以及l(fā)inear-model模塊導(dǎo)入,其代碼是from sklearn import linear-model,datasets。
第二,將數(shù)據(jù)導(dǎo)入。使用Scikit-learn庫提供的方法將導(dǎo)入的數(shù)據(jù)分為兩類:訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)。與此同時(shí),自動(dòng)生成相應(yīng)的案例數(shù)據(jù),這些都可以在Python編程語言安裝子目錄中找到,從而為相應(yīng)的數(shù)據(jù)訪問提供專用接口,其核心代碼如下:
iris=datasets.load_iris()
x=iris.data:
y=iris.target:
第三,選擇合理的模型來實(shí)施大數(shù)據(jù)訓(xùn)練以及預(yù)測,在Scikit-learn庫中,須借助于linear-model這一模塊內(nèi)的LogisticRegression類來實(shí)現(xiàn)Logistic的回歸,以此來達(dá)到二分類效果。其核心代碼為:
log_reg=linear_model.LongisticRegression()
lr=log_reg.fit(X_train,y_train)
log_reg.predict(X_test)
Scikit-learn庫會(huì)將訓(xùn)練數(shù)據(jù)的結(jié)果存儲(chǔ)在屬性名結(jié)尾帶下劃線的屬性里,如:系數(shù)或權(quán)重值w將會(huì)在coef_屬性里保存,偏移值b將會(huì)在interecept_屬性里保存,以此為用戶區(qū)分提供便利。
3 結(jié)語
在當(dāng)今的信息化時(shí)代中,大數(shù)據(jù)分析已經(jīng)成為各個(gè)領(lǐng)域數(shù)據(jù)信息管理及其應(yīng)用過程中的一項(xiàng)必要手段。而在大數(shù)據(jù)分析中,作為一種先進(jìn)、簡潔、高效的編程語言,Python編程語言已經(jīng)得到了廣泛應(yīng)用,且發(fā)揮出了非常顯著的應(yīng)用優(yōu)勢。本文分析了Python編程語言在大數(shù)據(jù)處理分析環(huán)節(jié)的運(yùn)用,使用Numpy庫來提高數(shù)據(jù)分析效率,Pandas庫用于快速分析數(shù)據(jù),Matplotlib庫作為數(shù)據(jù)的可視化工具以及將Scikit-learn庫用來進(jìn)行數(shù)據(jù)分析。在大數(shù)據(jù)分析技術(shù)的不斷發(fā)展中,Python編程語言也會(huì)實(shí)現(xiàn)進(jìn)一步的發(fā)展。相信在未來,Python編程語言將會(huì)得到進(jìn)一步的簡化,并能夠在更多新開發(fā)和應(yīng)用的系統(tǒng)中發(fā)揮出良好的兼容性,其大數(shù)據(jù)分析效率也會(huì)得到不斷提升。通過Python編程語言的合理應(yīng)用,將會(huì)讓未來的大數(shù)據(jù)分析變得更加輕松、簡單,從而為各個(gè)領(lǐng)域中的大數(shù)據(jù)信息應(yīng)用和管理提供更多有利條件。
參考文獻(xiàn)
[1]李天格,許鵬.大數(shù)據(jù)專業(yè)“Python程序設(shè)計(jì)”課程建設(shè)探究[J].計(jì)算機(jī)時(shí)代,2022(9):140-142.
[2]盧紹兵.基于Python的混合語言編程及其實(shí)現(xiàn)研究[J].科技資訊,2022(14):31-33.
[3]張雪蓮.試析Python編程語言的特點(diǎn)及應(yīng)用[J].電腦編程技巧與維護(hù),2020(11):29-30,33.
[4]張婭莉,周予.基于大數(shù)據(jù)背景Python編程語言創(chuàng)新實(shí)踐研究[J].數(shù)字技術(shù)與應(yīng)用,2020(6):197-199.
[5]王亮,左文濤.大數(shù)據(jù)收集與分析中Python編程語言運(yùn)用研究[J].計(jì)算機(jī)產(chǎn)品與流通,2020(1):22.
(編輯 李春燕)
Application strategy of the Python programming language in big data analysis
Huang? Suqing
(Fujian Economic School, Fuzhou 350001, China)
Abstract:? In the development of modern information technology, big data analysis has brought its superiority into full play. In the process of big data analysis, the proper use of Python programming language is also crucial. In order to realize the rational application of Python programming language and promote the improvement of the efficiency and quality of big data analysis, this paper analyzes the application strategy of the Python programming language in the process of big data analysis,including the application of the Numpy library in the Python programming language as a basic data analysis tool, the Pandas library as a dedicated data analysis library, the Matplotlib library as a visual data tool, and Scikit-learn library is used for data analysis. It is hoped that this analysis can provide scientific reference for the application of Python programming language and the development of big data analysis technology.
Key words: big data analytics; Python programming language; strategy of use