版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第0章緒論BigData目錄§0.1大數(shù)據(jù)簡史§0.2大數(shù)據(jù)概念§0.3機器學習§0.1大數(shù)據(jù)簡史本節(jié)通過標志性事件極簡地介紹大數(shù)據(jù)發(fā)展的歷史。美國:代表了大數(shù)據(jù)發(fā)展的世界水平,主要有以下6個標志性事件:11998年,“大數(shù)據(jù)”正式作為一個專用名詞出現(xiàn)在《自然》雜志上22001年,麥塔集團和麥肯錫公司給出了大數(shù)據(jù)的4V特征:體量大(Volume),速度快(Velocity),類型多(Variety),價值高(Value)32006年~2009年,谷歌構建了完整的大數(shù)據(jù)技術生態(tài):大數(shù)據(jù)文件系統(tǒng)→大數(shù)據(jù)計算引擎→大數(shù)據(jù)存儲系統(tǒng)42012年,世界經(jīng)濟論壇發(fā)布《大數(shù)據(jù)大影響》的報告,向全球正式宣布大數(shù)據(jù)時代的到來52016年,DeepMind發(fā)布AlphaGo,展示了數(shù)據(jù)最大的價值——“智慧”:大數(shù)據(jù)讓機器從此由“算”到“學”變得有了智慧,宣布“數(shù)據(jù)成為生產(chǎn)資料、算法成為生產(chǎn)力”的時代正式來臨62022年,開放智能發(fā)布AI大模型ChatGPT3.5版,因其迄今最接近人類對話與思考方式的特點而風靡全球,標志著大數(shù)據(jù)驅(qū)動的機器智慧達到一個全新的高度這些標志性事件表明:毋庸諱言,美國是當前世界上大數(shù)據(jù)科學與技術貢獻最大的國家。
中國:大數(shù)據(jù)發(fā)展起步較晚,但起點高、場景廣、發(fā)展快。
我國大數(shù)據(jù)發(fā)展歷程及相關重大事件簡介如下:12008年,阿里巴巴確定“云計算”和“大數(shù)據(jù)”戰(zhàn)略,決定自主研發(fā)大規(guī)模分布式計算操作系統(tǒng)“飛天”,開啟中國的大數(shù)據(jù)征程22013年,我國的“大數(shù)據(jù)元年”,國家自然科學基金、973計劃、核高基、863等重大研究計劃都把大數(shù)據(jù)列為重大研究課題32014年,“大數(shù)據(jù)”首次寫入我國《政府工作報告》,大數(shù)據(jù)上升為國家戰(zhàn)略42015年4月,全國首個大數(shù)據(jù)交易所——貴陽大數(shù)據(jù)交易所,正式掛牌運營并完成首批大數(shù)據(jù)交易52015年8月,國務院印發(fā)《促進大數(shù)據(jù)發(fā)展行動綱要》,是我國促進大數(shù)據(jù)發(fā)展的第一份權威性、系統(tǒng)性文件,從國家大數(shù)據(jù)發(fā)展戰(zhàn)略全局的高度,提出了我國大數(shù)據(jù)發(fā)展的頂層設計,是指導我國未來大數(shù)據(jù)發(fā)展的綱領性文件62016年,阿里云飛天系統(tǒng)入選2016世界互聯(lián)網(wǎng)最有代表性的15項科技創(chuàng)新成果72017年,習近平在中共中央政治局第二次集體學習時強調(diào):審時度勢、精心謀劃、超前布局、力爭主動實施國家大數(shù)據(jù)戰(zhàn)略,加快建設數(shù)字中國82022年,國家規(guī)劃建設8個國家算力樞紐節(jié)點和10個國家數(shù)據(jù)中心集群,標志著全國一體化大數(shù)據(jù)中心體系完成總體布局,“東數(shù)西算”工程正式全面啟動92024年,我國AI大模型DeepSeek橫空出世,其顛覆性的訓練方法創(chuàng)新與開源生態(tài)構建,使其技術棧在硬件適配層面對美國依賴度顯著降低從十余年前美國一騎絕塵,演變?yōu)楫斍爸忻啦Ⅰ{齊驅(qū)、各具優(yōu)勢的競爭態(tài)勢??偨Y:大數(shù)據(jù)科技發(fā)展格局§0.2大數(shù)據(jù)概念大數(shù)據(jù)概念的形成,有三個標志性事件:11998年,美國《自然》雜志上發(fā)表了一篇名為《大數(shù)據(jù)科學的可視化》的文章,大數(shù)據(jù)正式作為一個專用名詞出現(xiàn)在公共刊物之中。22001年,麥塔集團和麥肯錫公司給出了大數(shù)據(jù)的4V特征:體量大(Volume),速度快(Velocity),類型多(Variety),價值高(Value)32011年,麥肯錫研究院第一次給大數(shù)據(jù)做出相對清晰的定義:“大數(shù)據(jù)是指其大小超出了常規(guī)數(shù)據(jù)庫工具獲取、儲存、管理和分析能力的數(shù)據(jù)集?!焙x:數(shù)據(jù)類型的多樣
性和來源的廣泛性,如1.數(shù)據(jù)類型的多樣性:
(1)數(shù)值,文本,圖片,音頻,視頻(2)xlsx,csv,json,xml,sql,...2.數(shù)據(jù)來源的廣泛性:(1)電商交易數(shù)據(jù)(2)交通流數(shù)據(jù)...含義:大量、多樣化的數(shù)據(jù)一定內(nèi)蘊某種規(guī)律,這個規(guī)律能為企業(yè)或組織帶來顯著的經(jīng)濟效益或其他形式的價值。如:超市通過分析顧客購物數(shù)據(jù),發(fā)現(xiàn)“買尿不濕的男性常順手買啤酒”,于是調(diào)整貨架布局,讓兩者相鄰,啤酒銷量提升30%。這就是從日常交易數(shù)據(jù)中
挖出了消費關聯(lián)價值。含義:海量的數(shù)據(jù)規(guī)模,如1.社交平臺:微信每天產(chǎn)生的數(shù)據(jù)量能裝滿數(shù)萬個普通硬盤2.醫(yī)療領域:一家三甲醫(yī)院每年醫(yī)療產(chǎn)生的病歷、檢驗報告、診療記錄等,數(shù)據(jù)量驚人含義:數(shù)據(jù)從觸發(fā)到響應像“閃電流程”,強調(diào)實時性、高頻率,慢一步就會失去價值,具體說來:1.數(shù)據(jù)產(chǎn)生的速度快2.數(shù)據(jù)流轉(zhuǎn)的速度快3.數(shù)據(jù)分析的速度快4.數(shù)據(jù)處理的速度快4V特征:“大數(shù)據(jù)”區(qū)別于“數(shù)據(jù)”的顯著特征體量大速度快種類多價值高定義所謂大數(shù)據(jù),是指難以在可接受的時間內(nèi)用傳統(tǒng)數(shù)據(jù)庫系統(tǒng)或常規(guī)應用軟件處理的、巨量而復雜的數(shù)據(jù)集。本教材綜合當前主流觀點,給出大數(shù)據(jù)的定義如下:§0.3機器學習一、大數(shù)據(jù)從采集到應用全流程數(shù)據(jù)采集:多源異構數(shù)據(jù)的獲取數(shù)據(jù)來源采集方式技術工具數(shù)據(jù)存儲:海量數(shù)據(jù)的高效管理結構化數(shù)據(jù)非結構化/半結構化數(shù)據(jù)數(shù)據(jù)倉庫與數(shù)據(jù)湖數(shù)據(jù)預處理:清洗、集成、轉(zhuǎn)換與整合對原始數(shù)據(jù)進行清洗、集成、轉(zhuǎn)換、整合,形成標準化數(shù)據(jù)集數(shù)據(jù)分析與挖掘:從數(shù)據(jù)中提取價值描述性分析預測性分析深度挖掘數(shù)據(jù)應用:價值落地與場景賦能企業(yè)決策支持精準營銷智能風控工業(yè)與物聯(lián)網(wǎng)智慧城市本教材主要介紹上述流程中的數(shù)據(jù)分析與挖掘。在上述流程中,數(shù)據(jù)分析與挖掘所用到的技術就是機器學習模型,這是本教材的核心內(nèi)容。機器學習相關的第一個概念是1.變量二、機器學習注:定量變量可直接進行數(shù)學運算,通??芍苯佑糜跈C器學習模型的輸入;
定性變量則需要賦值(通過編碼轉(zhuǎn)換為實數(shù))以后才能輸入模型。2.分類:主要介紹兩個大類——有監(jiān)督學習和無監(jiān)督學習(1)有監(jiān)督學習:研究一個變量Y關于變量X1,…,Xp之間的相關關系,
其中Y稱為監(jiān)督變量(目標變量),X1,…,Xp
稱為特征。(2)無監(jiān)督學習:研究變量X1,…,Xp
的內(nèi)在結構,比如分組結構、特
征關聯(lián)、概率分布等,變量X1,…,Xp
也稱為特征。維度有監(jiān)督學習無監(jiān)督學習數(shù)據(jù)類型有標簽數(shù)據(jù)(X
與Y
配對)無標簽數(shù)據(jù)(僅X)學習目標建立X到Y
的預測模型(如分類、回歸)發(fā)現(xiàn)X
的內(nèi)在結構(如聚類、降維)算法示例決策樹、邏輯回歸、支持向量機(SVM)K-means聚類、主成分分析(PCA)、自編碼器(AE)、密度峰值聚類(DBSCAN)應用場景垃圾郵件分類、天氣預報、圖像識別客戶分群、基因表達模式分析、圖像壓縮三、數(shù)據(jù)分析流程應用級的數(shù)據(jù)分析項目流程十分復雜,此處給出簡易流程。1.有監(jiān)督學習流程無監(jiān)督學習流程,與有監(jiān)督學習流程的區(qū)別主要在于數(shù)據(jù)模塊,此處給出聚類分析的流程。2.無監(jiān)督學習流程強調(diào):上面列出的數(shù)據(jù)分析流程,是我們從數(shù)據(jù)分析小白到行家的門檻,務必理解并掌握,然后(1)面對任何數(shù)據(jù)分析任務我們都可照此流程執(zhí)行;(2)按照流程,組織好語言可向deepseek尋求實現(xiàn)程序上的幫助,
這就大大降低了學習的難度。前面已提及,大數(shù)據(jù)最大的價值就是讓機器擁有了“智慧”,即機器能從數(shù)據(jù)中學習到知識(數(shù)據(jù)內(nèi)蘊的規(guī)律);至于是如何學習的,涉及高等數(shù)學、線性代數(shù)、概率論與數(shù)理統(tǒng)計、運籌學等數(shù)學課程,本教材從略。THANKS!第1章數(shù)據(jù)預處理BigData目錄§1.1數(shù)據(jù)預處理的必要性及流程§1.2數(shù)據(jù)集成§1.3數(shù)據(jù)清洗§1.4數(shù)據(jù)變換§1.1數(shù)據(jù)預處理的必要性及流程原始數(shù)據(jù)為什么要預處理后才能用于分析?一、必要性二、數(shù)據(jù)預處理流程數(shù)據(jù)預處理框架如圖所示:其中數(shù)據(jù)清洗、數(shù)據(jù)集成、數(shù)據(jù)變換、數(shù)據(jù)規(guī)約等含義后續(xù)逐一介紹。§1.2數(shù)據(jù)集成一、數(shù)據(jù)集成的定義簡單說來,數(shù)據(jù)集成就是將多個數(shù)據(jù)集整合為一個數(shù)據(jù)集。我們講最簡單的數(shù)據(jù)集成——數(shù)據(jù)合并,即將兩個或多個表的數(shù)據(jù)合并為一張表。二、數(shù)據(jù)合并的實現(xiàn)1.基于python的數(shù)據(jù)合并的庫是pandas:2.相應語法:語法重要參數(shù)釋義C=pd.concat([A,B],axis=?,join=?)jion=axis=innerouter0增加行列取交集增加行列取并集1增加列行取交集增加列行取并集語法合并方式C=A.combine_first(B)對A和B的列標簽取并集合并,得C的列標簽對A和B的行標簽取并集合并,得C的行標簽對C的(行標簽,列標簽)處的值按A或B的值進行填充merge的功能要強大一些,當然參數(shù)也要復雜一些:語法參數(shù)兩表行為合并結果leftright行數(shù)列數(shù)C=pd.merge(left,right,how=?,on=?)
或
C=left.merge(right,how=?,on=?)how'inner'僅匹配僅匹配交集左表和右表列標簽的并集'outer'全部保留全部保留并集'left'全部保留僅匹配=左表行數(shù)'right'僅匹配全部保留=右表行數(shù)'cross'全部組合全部組合=左行數(shù)×右行數(shù)on合并主鍵:左表和右表所共有的列標簽
數(shù)據(jù)合并示例設有數(shù)據(jù)集A和B,如下表所示:數(shù)據(jù)集A序號idcpugpux11龍芯x2龍芯曦望x33景嘉微x4華為x55摩爾線程數(shù)據(jù)集B序號idcpux1飛騰y22海光x3y44兆芯x55申威(1)按aixs=1,join=‘inner’(增加列、行取交集)進行堆疊合并,結果如下:序號idcpugpuidcpux11龍芯飛騰x33景嘉微x55摩爾線程5申威(2)按how=‘inner’,on=‘cpu’(列取并集、行取交集)進行合并,結果如下:id_xcpugpuid_y1龍芯3景嘉微5摩爾線程(3)應用combine_first進行重疊合并,結果如下:序號cpugpuidx1飛騰龍芯1x2龍芯曦望x3景嘉微3x4華為x5申威摩爾線程5y2海光2y4兆芯4相應的示例程序:#%%數(shù)據(jù)合并示例importnumpyasnpimportpandasaspd#數(shù)據(jù)集AA=pd.DataFrame({'id':[1,np.nan,3,np.nan,5],'cpu':[np.nan,'龍芯',np.nan,'華為',np.nan],'gpu':['龍芯','曦望','景嘉微',np.nan,'摩爾線程']})A.index=['x1','x2','x3','x4','x5’]#數(shù)據(jù)集BB=pd.DataFrame({'id':[np.nan,2,np.nan,4,5],'cpu':['飛騰','海光',np.nan,'兆芯','申威']})B.index=['x1','y2','x3','y4','x5']#對A和B進行合并A_concat_B=pd.concat([A,B],axis=1,join='inner')A_combine_B=A.combine_first(B)A_merge_B=A.merge(B,how='inner',on='cpu')小結:本節(jié)介紹了關于數(shù)據(jù)集成的最直觀概念及典型流程,是需要大家理解并掌握的內(nèi)容。思政:數(shù)據(jù)集成不僅是技術融合,更是資源協(xié)同。如同國家推動數(shù)據(jù)要素市場化,我們也要學會在合規(guī)中實現(xiàn)價值共創(chuàng)。§1.3數(shù)據(jù)清洗一、數(shù)據(jù)清洗的定義簡單說來,數(shù)據(jù)清洗就是檢測并處理數(shù)據(jù)中的臟信息。二、數(shù)據(jù)清洗的流程數(shù)據(jù)清洗流程如右圖所示。流程圖中清洗項只是常見臟信息,還有其他意想不到的臟信息,具體問題具體分析。三、常規(guī)清洗項1.重復項的檢測與處理對于n×p型截面數(shù)據(jù)通過pandas數(shù)據(jù)框的drop_duplicates方法進行檢測與處理。語法主要參數(shù)含義
data.drop_duplicates(subset=None,keep='first’,
inplace=False)subset需要去重列的列名,默認表示刪除重復的行keep
取值{fisrt,last,False},表示重復項的處理方法:first=保留第一個last=保留最后一個False=只要有重復,一個都不保留inplace
取值{True,False},表示是否在原表上進行操作其中data是pandas數(shù)據(jù)框(dataframe)或序列(Series)。2.缺失項的檢測與處理設數(shù)據(jù)集data為n×p型截面數(shù)據(jù)。(1)缺失項的檢測pandas為數(shù)據(jù)框提供了isnull方法來檢測數(shù)據(jù)是否有缺失項:語法含義data.isnull()data中有缺失值的地方為true,否則為Falsedata.isnull().sum()統(tǒng)計data每列缺失值的數(shù)量(2)缺失項的處理pandas為數(shù)據(jù)框提供了兩種方法:刪除法和填充法
△刪除法——dropna語法重要參數(shù)釋義data.dropna(axis=0,how='any')axis:取值{0,1},其中0為刪除行,1為刪除列。how:取值{'any','all'},其中‘a(chǎn)ny’表示只要有缺失值就執(zhí)行刪除操作;'all’表示刪除全部為缺失值的行或列。
△填充法——fillna語法重要參數(shù)釋義
data.fillna(value=None,method=None,axis=1)value:用來填充缺失項的值method:取值{backfill/bfill,pad/ffill},表示填充方法,其中
method=bfill
表示使用后一個非缺失值填充缺失值
method=ffill
表示使用前一個非缺失值填充缺失值axis:取值{0,1},表示填充方向,其中axis=0,沿行方向填充axis=1,沿列方向填充缺失項的填充方法很多,此處僅介紹了pandas提供的方法。其他填充方法主要有針對定量變量的插值法,針對定性變量的隨機填充法,等等。3.異常值的檢測與處理(1)定義所謂異常值,是指其中過大或過小、偏離常態(tài)的值,也稱為離群點。(2)檢測異常值的檢測pandas提供了boxplot方法,即應用箱線圖檢測異常值。
語句示例如下:box=data.boxplot(return_type='dict')sigulary=box['fliers'][0].get_ydata()其中box是一個字典,其‘fliers’鍵對應的值包含了奇異值的坐標;
get_ydata()是獲取奇異值y坐標的方法;sigulary存儲的就是奇異值。(3)處理關于異常值,有兩種處理方法:
△直接刪除,適合樣本容量較大的情形
△光滑處理:通過插值法來校準數(shù)據(jù);
通過pandas提供的rolling方法來平滑數(shù)據(jù)。四、案例分析
【實驗1.2】自建點空氣質(zhì)量監(jiān)測數(shù)據(jù).xlsx是一段時間內(nèi)某個空氣質(zhì)量監(jiān)測站對空氣所含“兩塵四氣”(PM2.5、PM10、CO、NO2、SO2、O3)濃度的監(jiān)測數(shù)據(jù),并同時監(jiān)測了溫度、濕度、風速、氣壓、降水等氣象參數(shù)。數(shù)據(jù)共有234717行、12列,數(shù)據(jù)集的前6行如下表所示。時間PM2.5PM10CONO2SO2O3風速壓強降水量溫度濕度2018/11/1410:0250980.86215460.51020.689.815652018/11/1410:06501040.75716511.91020.789.815642018/11/1410:06521010.75715530.41020.789.815642018/11/1410:0949960.75815490.51020.689.815642018/11/1410:1049940.75915501.41020.689.815642018/11/1410:1448970.76215471.31020.489.81664………………………………請對該數(shù)據(jù)集進行常規(guī)清洗。【問題分析】常規(guī)清洗包括重復項、缺失項、奇異值等幾個方面的檢測和處理。此處的重復項,是指“時間”列中凡是重復時刻對應的數(shù)據(jù)都是重復記錄的數(shù)據(jù)。經(jīng)過前面關于數(shù)據(jù)清洗的學習,我們基本已成為這個方面的行家,然后組織語言向大模型尋求解決方案的求解程序。【組織語言就編程求助大模型】現(xiàn)有一個空氣質(zhì)量檢測數(shù)據(jù)集,保存在文檔“空氣質(zhì)量監(jiān)測數(shù)據(jù).xlsx”中。該數(shù)據(jù)集共有12列,第一列的標簽是“時間”?,F(xiàn)要對該數(shù)據(jù)集進行清洗:(1)請用pandas中drop_duplicates方法對“時間”列中的重復項進行檢測,輸出數(shù)據(jù)集的全部重復項,按保留第一條記錄、刪除其余重復記錄進行處理;(2)請用pandas提供的方法對去重后的數(shù)據(jù)集中除“時間”列之外各列的缺失項進行檢測,并按前向填充法進行填充;(3)請用pandas提供的方法對填充后的數(shù)據(jù)集中的奇異值進行檢測,輸出除“時間”列之外各列的全部奇異值,在同一畫布上畫出各列的箱線圖,并用平滑方法對奇異值進行平滑處理;(4)請在程序中備注好需要我修改的地方。組織的語言將上述組織好的語句輸入deepseek,就會得到我們需要的程序。運行后得到結果描述如下:(1)重復項:共有4488條(2)缺失值:整個數(shù)據(jù)集沒有缺失值(3)奇異值:壓強、降水量、溫度、濕度,這四列沒有奇異值,可視化如下:小結:本節(jié)介紹了數(shù)據(jù)清洗的典型流程;當然,數(shù)據(jù)中的臟信息遠不止這些,大家在數(shù)據(jù)分析與挖掘過程中去發(fā)現(xiàn)它們,并處理它們。思政:數(shù)據(jù)清洗不是“洗白”,而是“求真”。我們處理的不僅是數(shù)據(jù),更是對事實的尊重?!?.4數(shù)據(jù)變換一、數(shù)據(jù)變換的定義廣義上看,凡是改變變量的值的操作都是數(shù)據(jù)變換。二、數(shù)據(jù)變換的流程三、案例分析
【實驗1.3】來自體檢的部分指標數(shù)據(jù).xlsx是某社區(qū)一段時間內(nèi)的體檢信息中的部分數(shù)據(jù),共有23516行、7列,數(shù)據(jù)集的前6行如下表所示。檔案編號性別年齡體質(zhì)指數(shù)鍛煉頻率飲食習慣吸煙情況200100402301男1929.4不鍛煉葷素均衡從不吸煙200100402302男5023.1偶爾葷素均衡吸煙200100402303男5020.99偶爾葷素均衡吸煙200100402304男5020.99偶爾葷素均衡吸煙200100402305男2523.1不鍛煉葷素均衡從不吸煙200100402306女6122每天葷素均衡從不吸煙…………………從表看出,“年齡、體質(zhì)指數(shù)”是定量變量,“性別、鍛煉頻率、飲食習慣、吸煙情況”是定性變量?!咀⒁猓皺n案編號”不是變量】
請對該數(shù)據(jù)集進行下述變換:(1)將年齡和體質(zhì)指數(shù)按醫(yī)學標準離散化為定性變量;(2)將所有定性變量進行賦值:名義變量按“獨熱編碼”賦值,有序變量按“標簽編碼”賦值?!締栴}分析】“年齡”按世界衛(wèi)生組織標準離散化,“體質(zhì)指數(shù)”按中國標準離散化,結果如下:分組名稱年齡范圍分組名稱BMI范圍(kg/m2)青少年13~19體重過低<18.5成人20~59正常范圍18.5~23.9年輕老年人60~74超重24.0~27.9中老年人75~84肥胖≥
28.0高齡老人≥85所以首先需要寫兩個分組函數(shù)分別應用與年齡和體質(zhì)指數(shù)的離散化?!窘M織語言就編程求助大模型】現(xiàn)有一個體檢數(shù)據(jù)集,保存在文檔“來自體檢的部分指標數(shù)據(jù).xlsx”中。該數(shù)據(jù)集共有7列,第1列的標簽是“檔案編號”,不是變量;之后各列標簽分別是“性別、年齡、體質(zhì)指數(shù)、鍛煉頻率、飲食習慣、吸煙情況”。(1)年齡和體質(zhì)指數(shù)是定量變量,請按醫(yī)學標準離散化為定性變量;(2)年齡和體質(zhì)指數(shù)離散化后,“性別、飲食習慣、吸煙情況”是名義變量,其余變量是有序變量,請按相應方法進行賦值,并保存賦值對應的映射;(3)請在程序中備注好需要我修改的地方。組織的語言檔案編號性別年齡體質(zhì)指數(shù)鍛煉頻率飲食習慣吸煙情況年齡分組BMI分組性別_編碼飲食習慣_編碼吸煙情況_編碼鍛煉頻率_編碼年齡分組_編碼BMI分組_編碼200100402301男1929.4不鍛煉葷素均衡不吸煙成人肥胖010013200100402302男5023.1偶爾葷素均衡吸煙成人正常范圍012111200100402303男5020.99偶爾葷素均衡吸煙成人正常范圍012111200100402304男5020.99偶爾葷素均衡吸煙成人正常范圍012111200100402305男2523.1不鍛煉葷素均衡不吸煙成人正常范圍010011200100402306女6122每天葷素均衡不吸煙年輕老年人正常范圍110321200100402307女6113.22每天葷素均衡不吸煙年輕老年人體重過低110320輸出結果如下:小結:數(shù)據(jù)變換是數(shù)據(jù)分析與挖掘所必經(jīng)的流程,大家要深刻理解并熟練應用。思政:數(shù)據(jù)變換教會我們:面對復雜世界,既要尊重規(guī)律,也要勇于重構,以創(chuàng)新思維破解難題。二次開發(fā):從實驗1.2和實驗1.3看出,正如之前所說,學習讓我們成為了相關領域的行家,理解并掌握了相關領域知識后,組織好語言向deepseek等大模型尋求實現(xiàn)程序上的幫助,就能高效的完成數(shù)據(jù)分析和挖掘任務,并能大大地降低學習的難度。從實驗1.2和實驗1.3還看出,常規(guī)數(shù)據(jù)清洗和數(shù)據(jù)變換都是有套路的,這為我們二次開發(fā)提供了充分的條件?;诖耍覀冮_發(fā)了數(shù)據(jù)清洗和數(shù)據(jù)變換自建庫,適當設置后就可以像導入numpy等庫一樣使用,達到顯著提升效率、大幅減少代碼的效果。THANKS!第2章插值與擬合BigData目錄§2.1插值§2.2擬合導言數(shù)據(jù)填充問題已知一對變量x,y的一組觀測值:…………其中x1<x2<?<xn。
這就是數(shù)據(jù)填充問題。
表2.1表2.2§2.1插值
一、定義二、若干概念
三、應用場景插值的python實現(xiàn)模塊為erpolate,主要插值函數(shù)請見下圖:四、實現(xiàn)插值主要應用于數(shù)據(jù)填充、數(shù)據(jù)平滑、數(shù)據(jù)加細、預測,等。五、案例分析
【實驗2.1】溫度變化曲線從1:00到12:00的11個小時內(nèi)每隔1小時測量一次溫度,測得數(shù)據(jù)如下:試估計從0:00到14:00每隔0.1小時的溫度值。時刻1:002:003:004:005:006:007:008:009:0010:0011:0012:00溫度589152529313022252724
【實驗2.2】平板溫度分布曲面
測得平板表面3×5網(wǎng)格點處的溫度分別為:
【實驗過程】首先,建立平板溫度空間直角坐標系:溫度值對應的x坐標為[1,2,3,4,5],y坐標為[1,2,3];然后應用np.linspace加細x,y坐標值;最后應用griddata插值。結果可視化如下:828180828479636165818484828586小結:實驗2.1是一維插值,既有內(nèi)插值(插值點在區(qū)間[1,12]內(nèi)),又有外插值(插值點在區(qū)間[1,12]外),推薦使用UnivariateSpline(單變量樣條插值)來完成插值任務。實驗2.2是二維插值,目的是將x,y坐標值加細后通過插值畫出光滑的曲面。多維插值推薦使用griddata,這是個對初學者十分友好的插值函數(shù)。二次開發(fā):總體上,因為插值需要可視化,代碼量相對較答。為了顯著提升效率、大幅減少代碼,我們將二維插值二次開發(fā)為一個自建庫供使用。課程思政:插值不僅是填補空白的技術手段,更是我們對真實世界的一種負責任的推測?!?.2擬合一、擬合原則與插值不同,擬合認為表2.1中的觀測值是有偏差的。
二、擬合的概念
步驟應用擬合解決問題的步驟如下:
其中最難的是第二步,需要厚實的數(shù)學基礎和數(shù)據(jù)分析經(jīng)驗;第三步的解決方案在scipy.optimize模塊。三、實現(xiàn)
語法主要參數(shù)釋義popt,pcov=curve_fit(fun,
xdata,ydata,
p0=None,
bounds=(-inf,inf))fun擬合函數(shù)簇xdata,ydata表2.1中的觀測值p0參數(shù)迭代初值bounds參數(shù)的取值范圍自行摸索least_squares,leastsq兩個函數(shù)的語法,及主要參數(shù)的含義。四、案例分析【實驗2.5】零件輪廓線問題現(xiàn)測得某零件局部輪廓線的坐標如下表所示:0.040.350.670.981.301.611.922.242.552.873.180.020.120.390.781.211.591.811.801.500.890.02試問該零件邊沿線大致是一條什么曲線?【實驗過程】按擬合步驟操作。第一步,描散點圖,觀察y隨x的變化趨勢:
參數(shù)值a-0.3827b1.2136c0.0027d-0.00541.參數(shù)估計值及擬合函數(shù)白化式2.擬合效果可視化
參數(shù)值a0.9977b-0.0156c0.9947d-0.02961.參數(shù)估計值及擬合函數(shù)白化式2.擬合效果可視化
問:兩個擬合函數(shù),誰更勝一籌?小結:插值和擬合,都是從數(shù)據(jù)填充問題引出的數(shù)據(jù)分析基礎技術,主要應用領域基本相同:數(shù)據(jù)填充、數(shù)據(jù)平滑、數(shù)據(jù)加細(增加樣本量)、預測。插值和擬合又明顯不同:插值認為觀測值無偏差,從而插值函數(shù)可底層設計好供調(diào)用就行;擬合則認為觀測值有偏差,從而擬合函數(shù)需根據(jù)變化趨勢自己擬定。從技術上看,擬合比插值要難。課程思政:學會在準確描述現(xiàn)有數(shù)據(jù)和預測未來趨勢之間找到一個合適的平衡點,正如我們在生活中也需要在理想與現(xiàn)實之間尋求和諧。THANKS!第3章回歸分析BigData目錄§3.1線性回歸分析§3.2非線性回歸分析§3.1線性回歸分析
一、定義
5.案例分析
【實驗3.2】城鄉(xiāng)居民收入與消費關系分析
現(xiàn)有我國內(nèi)地31個省級行政單位2013年的農(nóng)村居民家庭和城鎮(zhèn)居民家庭人均工資收入、其他收入及生活消費支出數(shù)據(jù),下表是數(shù)據(jù)集的前5行:地區(qū)農(nóng)村居民城鎮(zhèn)居民生活消費工資收入其他收入生活消費工資收入其他收入北京13553.212034.96302.626274.93027315000.8天津101559091.56749.521711.923231.912423.7河北6134.15236.73865.213640.614588.49554.4山西5812.74041.13112.413166.216216.47797.2內(nèi)蒙古7268.31694.66901.119249.118377.98600.1…………………
試分析2013年我國內(nèi)地農(nóng)村居民與城鎮(zhèn)居民不同的收入對生活消費的影響是否有顯著差異?!緦嶒炦^程】首先,對數(shù)據(jù)進行預處理。組織語言讓大模型完成數(shù)據(jù)預處理:“附件中的數(shù)據(jù)集是我國內(nèi)地31個省級行政單位的居民收入和生活消費數(shù)據(jù)?,F(xiàn)在要對我國農(nóng)村居民與城鎮(zhèn)居民不同的收入對生活消費的影響是否有顯著差異進行分析。以生活消費為被解釋變量,以工資收入、其他收入、居民類型為解釋變量建立回歸分析模型。請對附件中的數(shù)據(jù)集進行預處理?!保A處理程序)地區(qū)生活消費工資收入其他收入居民類型居民類型_城鎮(zhèn)工資收入_城鄉(xiāng)交互其他收入_城鄉(xiāng)交互北京13553.212034.96302.6農(nóng)村000天津101559091.56749.5農(nóng)村000河北6134.15236.73865.2農(nóng)村000山西5812.74041.13112.4農(nóng)村000內(nèi)蒙古7268.31694.66901.1農(nóng)村000……………………預處理結果如下表所示——自動添加了居民類型與兩項收入的交互項。
最后,應用基于statsmodels庫OLS類二次開發(fā)的linear_regressor自建庫求解,結果如下:
(1)參數(shù)估計結果
解釋變量估計值置信區(qū)間t值t概率值檢驗結果截距項1025.251-255.7252306.2261.6033280.114488不顯著工資收入0.6761050.549260.80295110.677584.03E-15顯著其他收入0.5958070.3367870.8548284.6079162.39E-05顯著居民類型_城鎮(zhèn)1573.895-296.6053444.3941.6855870.09744不顯著工資收入_城鄉(xiāng)交互-0.18959-0.348-0.03119-2.397710.019857顯著其他收入_城鄉(xiāng)交互0.005942-0.304840.3167260.0383010.969584不顯著(2)模型評估結果
R方調(diào)整R方f值f概率值均方誤差均方根誤差0.9779850.97602497.55524.54E-45882881.5939.6177(3)可視化結果
(4)結果解讀△變量顯著性檢驗結果解讀
首先,從變量的顯著性看,工資收入、其他收入及交互項工資收入_城鄉(xiāng)交互三個變量對生活消費影響顯著,截距項、居民類型_城鎮(zhèn)及交互項其他收入_城鄉(xiāng)交互則對生活消費影響不顯著。這就回答了我國農(nóng)村居民與城鎮(zhèn)居民不同的收入對生活消費的影響是否有顯著差異這個問題。
然后,從參數(shù)估計值看,截距項表明,無論城鄉(xiāng)居民基礎生活保障支出為1025.25元,工資收入的67.6%和其他收入的59.6%用于了生活消費;城鎮(zhèn)居民相比農(nóng)村居民,平均起來要多消費1573.89元,工資收入用于消費的比例要小19%、其他收入用于消費的比例則要大5.9%。
小結:線性回歸分析是分析一個變量與另一個(些)變量的線性依賴關系的方法論,描述的是“依賴關系”,未必是因果關系。二次開發(fā):因為從statsmodels.api.OLS提取結果對初學者來說是一件相對困難的事情,我們基于OLS二次開發(fā)了線性回歸模型的求解自建庫,使用上代碼相當簡潔,輸入輸出也都十分友好,供大家參考。課程思政:即使是簡單的線性關系,也可能蘊含著深刻的洞察,讓我們學會從小處著眼,逐步揭開世界的奧秘?!?.2非線性回歸分析非線性回歸是經(jīng)典數(shù)據(jù)分析中最難的技術之一。
一、概念
與線性回歸相比,非線性回歸的難度主要體現(xiàn)在下述幾個方面:pipinstalllmfit-i/simple/非線性回歸的求解推薦使用lmfit庫,使用前需我們自己安裝。下面是通過中國科技大學源安裝lmfit的語句:二、求解為了減輕大家編程負擔,我們基于lmfit庫二次開發(fā)了非線性回歸模型通用求解器nonlinear_regressor,使用流程是:模型準備=數(shù)據(jù)準備+定義模型建模=應用nonlinear_regressor中的NonlinearRegressor類建立一個非線性回歸實例訓練、評估=分別對應類的fit方法和evaluate方法應用(預測)=類的predict方法預測結果的可視化=類的plot_prediction方法【實驗3.1】混凝土抗壓強度與養(yǎng)護時間關系探索混凝土的抗壓強度隨養(yǎng)護時間的延長而增加,現(xiàn)將一批混凝土作成12個測試塊,記錄了養(yǎng)護時間x(日)及抗壓強度y(kg/cm2)的數(shù)據(jù),見下表:三、案例分析234579121417212856354247535965687376828699試分析抗壓強度y與養(yǎng)護時間x之間的關系?!緦嶒炦^程】首先走曲線擬合流程,擬定回歸函數(shù);然后應用自建庫按前面介紹的流程求解。散點圖:
應用自建庫NonlinearRegressor求解,結果如下:(1)
參數(shù)估計值參數(shù)名稱估計值標準誤差相對誤差(%)0.9973置信區(qū)間0.9545置信區(qū)間0.6827置信區(qū)間k0.0377524130.0016654.409253139(0.0312,0.0443)(0.0340,0.0416)(0.0360,0.0395)b0.0108687740.0003453.175055101(0.0095,0.0122)(0.0101,0.0117)(0.0105,0.0112)
可視化回歸結果:(3)模型評估統(tǒng)計檢驗指標檢驗結果統(tǒng)計檢驗指標檢驗結果均方根誤差(RMSE)0.000728574赤池信息準則(AIC)-169.3861037平均相對誤差(MAPE(%))4.006790227貝葉斯信息準則(BIC)-168.4162904擬合優(yōu)度(R2)0.980929251預測區(qū)間覆蓋率(PICP(%))66.66666667卡方統(tǒng)計量(χ2)6.37E-06預測區(qū)間平均寬度(MPIW)0.001452908(4)模型評價從模型評估結果看,除了預測效果稍弱以外,模型表現(xiàn)優(yōu)良。但從可視化回歸效果明顯能看出模型曲線與樣本點隨x增大而趨勢差異也變大,原因是,隨著x增大樣本點明顯有上揚趨勢,而所選模型有上界壓制。所以倒數(shù)模型還可以改進。
參數(shù)名稱估計值標準誤差相對誤差(%)0.9973置信區(qū)間0.9545置信區(qū)間0.6827置信區(qū)間a87.235912.0436392.34265818(80.0174,103.4648)(82.8782,93.5924)(85.1229,89.7193)b0.02610.0136152.1463248(-0.1110,0.1716)(0.0063,0.0817)(0.0140,0.0453)c-62.88181.9787943.14684508(-72.9070,-54.4142)(-67.5645,-58.1977)(-64.9922,-60.7711)d0.1093860.01150610.5190952(0.0597,0.1689)(0.0818,0.1401)(0.0967,0.1227)
統(tǒng)計檢驗指標檢驗結果統(tǒng)計檢驗指標檢驗結果均方根誤差(RMSE)1.319312129赤池信息準則(AIC)14.65065167平均相對誤差(MAPE(%))1.850704926貝葉斯信息準則(BIC)16.59027827擬合優(yōu)度(R2)0.994792459預測區(qū)間覆蓋率(PICP(%))83.33333333卡方統(tǒng)計量(χ2)20.88701392預測區(qū)間平均寬度(MPIW)4.366060774模型評估結果如下:從模型評估結果看,懸鏈線模型明顯優(yōu)于倒數(shù)模型。回歸效果可視化:
模型評價無論從模型評估結果看還是回歸效果看,在描述混凝土抗壓強度與養(yǎng)護時間關系上,懸鏈線模型比倒數(shù)模型更優(yōu)秀。【實驗3.5】口罩銷量與空氣質(zhì)量之間的關系為了研究空氣質(zhì)量、天氣、地區(qū)等因素對口罩銷量的影響,對甲、乙、丙三個地區(qū)進行調(diào)研,獲得空氣質(zhì)量指標“兩塵四氣”、相應天氣(晴、陰、雨)及相應的口罩銷售數(shù)據(jù),請見口罩銷量與空氣質(zhì)量數(shù)據(jù).xlsx。試由數(shù)據(jù)集完成下述問題:(1)根據(jù)所給因素建立口罩銷量的回歸分析模型;(2)對模型中的參數(shù)進行估計;(3)對模型進行統(tǒng)計檢驗以評價模型;(4)三個地區(qū)的空氣質(zhì)量及天氣對口罩銷量的影響是否有顯著差異?(5)對新獲得的甲乙丙三個地區(qū)的空氣質(zhì)量及天氣數(shù)據(jù)對應的口罩銷量進行預測?!緦嶒灧治觥渴紫葘?shù)據(jù)進行預處理——(1)數(shù)據(jù)合并:將甲乙丙三表數(shù)據(jù)合并為一個表(2)對合并數(shù)據(jù)添加“地區(qū)”列,以區(qū)別數(shù)據(jù)來源(3)定性變量賦值:對“天氣”和“地區(qū)”兩個定性變量賦值,因要觀察各種天氣和各個地區(qū)對銷量的影響,故采用獨熱編碼方式賦值(4)對除被解釋變量之外的定量變量執(zhí)行數(shù)據(jù)標準化(5)對待預測數(shù)據(jù)執(zhí)行(3,4)兩步操作預處理好的數(shù)據(jù)如下表所示(前3行):PM2.5PM10CONO2SO2O3天氣_陰天氣_雨地區(qū)_乙地區(qū)_甲口罩銷量(萬只)-0.6864-0.2521-0.7381-0.97290.12960.5259100167.26-0.7153-0.2914-0.7788-0.9729-0.02020.6509000121.28-0.6864-0.3898-0.6406-0.97290.17960.6926010153.72……………………………【實驗過程】教材上已說明多項式模型不能準確描述口罩銷量與空氣質(zhì)量、天氣、地區(qū)之間的依賴關系,此處直接建立二次有理模型:應用nonlinear_regressor求解沒有成功,引入matlab求解,得回歸函數(shù)的表達式如下(剔除了不顯著的項):地區(qū)PM2.5PM10CONO2SO2O3天氣口罩銷量甲521010.7571553晴54.6143乙1202531.2731996雨42.22丙40790.6681482晴27.5565三個地區(qū)口罩銷量的預測結果如下:從預測結果看,有理回歸模型相對比二次完全多項式回歸模型(等價于多元線性回歸模型)預測結果合理。課程思政:如同非線性模型能夠更好地捕捉現(xiàn)實世界的波動,我們也應該學會適應生活中的不確定性,靈活調(diào)整自己的策略。小結:回歸分析=曲線擬合+模型評估(主要是統(tǒng)計檢驗)線性回歸模型的回歸函數(shù)(也稱為回歸方程)是確定的,無需再探索;非線性回歸模型的回歸函數(shù)是未知的,需要我們探索的,這也正是非線性回歸分析的難點所在?;趐ython的非線性回歸分析的求解也是難點之一:curve_fit等能完成參數(shù)估計任務,卻沒有參數(shù)的顯著性檢驗等模型評估功能;lmfit庫是python求解非線性回歸模型的利器,但應用流程相對復雜,對初學者有較為陡峭的難度。我們基于lmfit二次開發(fā)了回歸分析通用求解器nonlinear_regressor供大家調(diào)用(但面對較為復雜的模型也力有不逮)。THANKS!第4章logistic回歸BigData目錄§4.1logistic回歸的分類§4.2logistic回歸的概念§4.3logistic回歸的實現(xiàn)§4.1logistic回歸的分類
§4.2logistic回歸的概念首先介紹最簡單也最易理解的二分類logistic回歸,此時定類變量Y的取值數(shù)值化為0或1,0對應的類稱為0類,1對應的類稱為1類。從三個方面介紹二分類logistic回歸“是什么”:1.是一個經(jīng)典的有監(jiān)督機器學習模型,是一個分類器;2.已成為深度學習領域構建復雜非線性分類器的基礎模型之一3.有明確的數(shù)學解析式:一、定義其中是Y=1的概率,簡記為p。二、分類原理當k=1時稱為一元logistic回歸,此時logistic回歸曲線如下圖所示:三、logit模型將logistic回歸模型變形如下:上式左邊稱為比值比(OR),有著豐富的含義。進一步取對數(shù)變換,得
§4.3logistic回歸的實現(xiàn)Python實現(xiàn)logistic回歸分析的函數(shù)是LogisticRegression,該函數(shù)在sklearn.linear_model模塊中。一、LogisticRegression語法model=LogisticRegression(penalty='l2',C=1.0,multi_class='auto')輸入?yún)?shù):penalty:懲罰項,取值有4個{‘l1’,‘l2’,‘elasticnet’,None}C:描述正則化強度的一個量multi_class:多分類策略,取值有3個{‘a(chǎn)uto’,‘ovr’,‘multinomial’}‘a(chǎn)uto’:自動處理‘ovr’:
One-vs-Rest,是一種將多分類轉(zhuǎn)換為多個二分類的策略‘multinomial’:使用Softmax回歸直接處理多分類問題輸出參數(shù):class_:分類器已知的類標簽列表coef_:決策函數(shù)中特征的系數(shù)intercept_:決策函數(shù)中的截距項【實驗4.1】大氣污染類別分析大氣中氯、硫化氫、二氧化碳、碳4、環(huán)氧氯丙烷、環(huán)己烷等物質(zhì)含量的多少可以描述大氣污染情況?,F(xiàn)某地采集到15個大氣樣品中這些物質(zhì)的含量情況及相應的污染分類,見下表:二、案例分析氯硫化氫二氧化碳碳4環(huán)氧氯丙烷環(huán)已烷污染分類0.0560.0840.0310.0380.00810.02210.040.0550.10.110.0220.007310.050.0740.0410.0480.0710.0210.0450.050.110.10.0250.006310.0380.130.0790.170.0580.04320.030.110.070.160.050.04620.0340.0950.0580.160.20.02910.030.090.0680.180.220.03910.0840.0660.0290.320.0120.0412…………………在此地某大型化工廠的廠區(qū)及鄰近地區(qū)挑選了4個有代表性的大氣樣本取樣點,獲得數(shù)據(jù)見下表:氯硫化氫二氧化碳碳4環(huán)氧氯丙烷環(huán)已烷污染分類0.0520.0840.02110.0370.00710.022待識別0.0410.0550.110.110.0210.00730.030.1120.0720.160.0560.0210.0740.0830.1050.190.021試識別這四個樣品的污染類別?!緦嶒炦^程】Logistic回歸已是十分規(guī)范的機器學習方法,是有監(jiān)督學習,分析流程相當模塊化,這在緒論中已有介紹,粗框架就是:數(shù)據(jù)模塊→分析模塊→應用模塊基于流程的程序請看鏈接。【實驗結果】1.模型評估結果:模型表現(xiàn)優(yōu)異,預測結果可信。準確率查準率查全率f1值11112.模型預測結果氯硫化氫二氧化碳碳4環(huán)氧氯丙烷環(huán)已烷污染分類0.0520.0840.02110.0370.00710.02210.0410.0550.110.110.0210.007310.030.1120.0720.160.0560.02120.0740.0830.1050.190.0212小結:Logistic回歸僅能做分類,切記!Logistic回歸是根據(jù)對象歸屬某個類別的概率大小來實現(xiàn)分類的。從Logistic回歸開始,數(shù)據(jù)分析流程就基本完全模塊化了:數(shù)據(jù)模塊→分析模塊→應用模塊其中分析模塊中評估部分我們基于sklearn.metric模塊進行了二次開
發(fā),得到模型評估自建庫model_evaluator.py,減輕大家編程負擔。
大多數(shù)數(shù)據(jù)分析任務可照此流程執(zhí)行。課程思政:Logistic模型在醫(yī)學領域貢獻顯著。在我國應對重大公共衛(wèi)生事件的過程中,比如,無論2003年非典還是2020年新冠,我國科學家利用包括Logistic模型在內(nèi)的多種工具,為疫情防控做出了重要貢獻。THANKS!第5章樹結構模型BigData目錄§5.1決策樹§5.2隨機森林§5.3輕梯度提升機器導言樹結構模型是指基于決策樹的機器學習模型。
樹結構模型有著十分優(yōu)良而又獨特的性質(zhì),比如一般都具有精度高、抗干擾、數(shù)據(jù)不必標準化等特點,具有評估變量重要性的功能。樹結構模型中,決策樹是基學習器。通過對決策樹的集成又發(fā)展為豐富的集成學習方法。如右圖所示:在最新的樹結構模型開發(fā)中,我國學者和互聯(lián)網(wǎng)公司走在了世界的前列。課程思政§5.1決策樹從下述四個方面介紹決策樹“是什么”:1.是一個經(jīng)典的有監(jiān)督機器學習模型,既可用于分類,也可用于回歸;一、定義2.其決策過程形如一棵倒掛的樹,右邊就是一棵典型的決策樹,鳶尾花的分類決策過程可以看出決策樹包含節(jié)點、分支線,當然還包括分支條件,在節(jié)點框中;3.決策樹的數(shù)學基礎是信息論,決策依據(jù)的演進史:信息增益(ID3)→基尼不純度(CART)→信息增益率(C4.5)→集成學習4.決策樹沒有明確的數(shù)學解析式。
Python實現(xiàn)決策樹的模塊是sklearn.tree,其中有分類器DecisionTreeClassifier和
回歸器DecisionTreeRegressor,二者除了決策準則不一樣,用法基本一致。下面是分類器的語法:二、實現(xiàn)model=DecisionTreeClassifier(criterion='gini',
splitter='best',)1.主要輸入?yún)?shù)及其含義:(1)criterion:衡量一個分裂質(zhì)量的準則,取值為{'gini','entropy','log_loss'},缺省值是'gini';(2)splitter:在每個節(jié)點上選擇分割的策略,取值為{'best','random'},缺省值是'best';2.主要輸出參數(shù)及其含義:(1)classes_:類標簽(單輸出問題)或類標簽數(shù)組列表(多輸出問題)(2)feature_importances_:特征的重要性,被計算為該特征所帶來的(歸一化后的)準則的總減少,也被稱為基尼重要性。(3)tree_:所建立的樹,可通過plot_tree可視化model=DecisionTreeRegressor(criterion='squared_error',splitter='best')1.主要輸入?yún)?shù)及其含義:與分類器相比,僅有criterion含義不同。(1)criterion:衡量一個分裂質(zhì)量的準則,取值為{'squared_error','friedman_mse','absolute_error','poisson'},缺省值是'squared_error';2.主要輸出參數(shù)及其含義:與分類器相比,沒有classes_輸出項。(1)feature_importances_:同分類器。(2)tree_:同分類器。回歸器的語法:三、案例分析【實驗5.1】打網(wǎng)球影響因素分析
是否去打網(wǎng)球(play)主要由天氣(outlook)、溫度(temperature)、濕度(humidity)、是否有風(windy)等因素來確定。下表中的14條樣本數(shù)據(jù)記錄了天氣對打網(wǎng)球的影響。
請建立決策樹模型分析天氣對打網(wǎng)球的影響。NO.outlooktemperaturehumiditywindyplay1sunnyhothighFALSEno2sunnyhothighTRUEno3overcasthothighFALSEyes4rainymildhighFALSEyes5rainycoolnormalFALSEyes6rainycoolnormalTRUEno7overcastcoolnormalTRUEyes8sunnymildhighFALSEno9sunnycoolnormalFALSEyes10rainymildnormalFALSEyes11sunnymildnormalTRUEyes12overcastmildhighTRUEyes13overcasthotnormalFALSEyes14rainymildhighTRUEno【實驗過程】主要就是走流程,本案例只有兩個模塊:數(shù)據(jù)模塊→分析模塊。
數(shù)據(jù)模塊主要是對數(shù)據(jù)進行預處理,即數(shù)據(jù)變換:定性變量數(shù)值化。應用數(shù)據(jù)變換自建庫data_converter.py來完成,預處理結果如下:outlooktemperaturehumiditywindyplay2100021010010011200110101101100011122000201011210122111020110110112010其中賦值映射如下:分析模塊
建模→訓練→評估(1)模型訓練完成后就可以提取相關結果了,首先是特征重要性:
特征名稱outlookhumiditywindytemperature特征重要性0.3155560.280.2488890.155556可視化特征重要性,直觀領會各因素對打網(wǎng)球影響的大?。喝缓罂梢暬瘺Q策樹:
結論從評估結果看,決策樹模型對原始數(shù)據(jù)達到了100%的識別。
(2)模型評估結果
準確率查準率查全率f1_score1111小結:決策樹是經(jīng)典的有監(jiān)督機器學習方法:分析一個變量與另一個(些)變量的依賴關系的方法論(特別是非線性依賴關系),既能承擔分類任務,也能完成回歸任務。本章的程序,是樹結構模型的程序范本,隨機森林、輕梯度提升機器等樹結構模型數(shù)據(jù)分析程序只需在此基礎上稍作修改即可?!?.2隨機森林
1.隨機森林是決策樹經(jīng)裝袋所得的集成學習方法。2.決策機制:決策樹是一棵樹,其決策機制是“問某個人對某個問題的看法”;隨機森林是多棵樹的集成,決策機制是“問多個人對某個問題的看法”,然后按“多數(shù)”看法進行決策。下圖形象的描述了這種機制:一、概念從三個方面介紹隨機森林“是什么”。森林中僅有一棵樹判斷該動物是“狐貍”,而其他樹都是“浣熊”,所以隨機森林的決策是:該動物是浣熊。3.隨機森林是多棵樹,那么這些樹是怎么來的呢?
這就是隨機森林中“隨機”二字的核心含義:一是隨機選取m個特征,二是隨機選擇l個對象,這樣就從原始數(shù)據(jù)中隨機抽樣出了一個子集,依此子集建立一棵決策樹。這樣就能生成很多棵樹了。二、實現(xiàn)我是一棵樹我是一片森林,樹的數(shù)量由參數(shù)n_estimators來定義,每棵樹的參數(shù)與決策樹一致。隨機森林的實現(xiàn)模塊是sklearn.ensemble(機器學習庫集成學習模塊),其分類器是RandomForestClassifier,回歸器是RandomForestRegressor,它們的第一個參數(shù)都是n_estimators,表示森林中樹的數(shù)量,其他參數(shù)與決策樹幾乎一致?!緦嶒?.2】白酒質(zhì)量影響因素研究白酒質(zhì)量數(shù)據(jù)集(WineQualityDataset)是python機器學習庫sklearn自帶的數(shù)據(jù)集,主要用于由白酒所含化學成分的度量值來預測白酒質(zhì)量的研究。數(shù)據(jù)集前3行如下表所示:三、案例分析fixedacidityvolatileaciditycitricacidresidualsugarchloridesfreesulfurdioxidetotalsulfurdioxidedensitypHsulphatesalcoholquality70.270.3620.70.045451701.00130.458.866.30.30.341.60.049141320.9943.30.499.568.10.280.46.90.0530970.99513.260.4410.16試由數(shù)據(jù)集對描述白酒質(zhì)量的11個化學成分的重要性進行評估?!緦嶒炦^程】實際上按實驗5.1的流程走一遍即可(程序)。特征名稱特征重要性alcohol0.114138715density0.103156226volatileacidity0.099012593freesulfurdioxide0.093252051totalsulfurdioxide0.09144892residualsugar0.089229645pH0.086817608chlorides0.086804801citricacid0.081904022sulphates0.079242396fixedacidity0.074993022隨機森林提取的特征重要性(降序)如下:對白酒質(zhì)量影響最重要的因素是酒精度(alcohol)特征重要性(降序)可視化如下:隨機森林模型的評估結果:評估項值準確率0.6694查準率0.6737查全率0.6694f1值0.659模型對白酒質(zhì)量類別的識別能力不夠良好森林中前4棵決策樹§5.3輕梯度提升機器(lightGBM)1.lightGBM是決策樹通過梯度提升算法集成而得的強學習器;2.lightGBM是在GBDT和XGBoost兩個梯度提升樹模型的基礎上發(fā)展而來的,在技術上有巨大的改進:(1)基于單邊梯度采樣和互斥特征捆綁的數(shù)據(jù)預處理機制(2)基于直方圖的決策樹算法(3)帶深度限制的決策樹按葉生長策略(4)直接支持類別特征3.提供了兩種方法評估特征的重要性:(1)分裂增益(gain):反映特征對模型的貢獻程度(2)分裂次數(shù)(split):關注特征在模型訓練中的使用頻率一、概念二、實現(xiàn)LightGBM并非anaconda自動配置,需要安裝后才能使用。pipinstalllightgbm安裝流程:啟動anacondaprompt,然后輸入下述語句:LightGBM中的分類器是LGBMClassifier,回歸器是LGBMRegressor。在使用中領略其輸入輸出。【實驗5.2】白酒質(zhì)量影響因素研究應用輕梯度提升機器來完成實驗5.2.三、案例分析【實驗過程】實際上按實驗5.1的流程走一遍即可(程序)。隨機森林提取的特征重要性(降序)如下:對白酒質(zhì)量影響最重要的因素是酒精度(alcohol)特征名稱分裂增益分裂次數(shù)fixedacidity3065.9632875volatileacidity5162.5082748citricacid3200.4172985residualsugar4533.1193527chlorides3286.3963064freesulfurdioxide5178.9663673totalsulfurdioxide4642.4874339density3799.8413396pH4038.5283305sulphates3660.9983065alcohol7496.9682838特征重要性(降序)可視化如下:lightGBM模型的評估結果:評估項值準確率0.6906查準率0.6914查全率0.6906f1值0.6831lightGBM比隨機森林略好,但總體上識別能力也不夠良好森林中前4棵決策樹小結+課程思政:樹結構模型是經(jīng)典數(shù)據(jù)分析與挖掘技術中發(fā)展最枝繁葉茂的一支,直到現(xiàn)在包括我國學者和我國互聯(lián)網(wǎng)公司在內(nèi)的貢獻者還在開發(fā)新的樹結構模型,比如深度森林、GrootVL網(wǎng)絡等。樹結構模型的發(fā)展歷程展示了科學研究中的不斷探索與創(chuàng)新精神。每一步前進都源于對現(xiàn)有技術局限性的挑戰(zhàn)和突破。THANKS!第6章支持向量機BigData目錄§6.1數(shù)學原理§6.2Python實現(xiàn)§6.1數(shù)學原理支持向量機是一個具有完美數(shù)學理論、優(yōu)雅數(shù)理邏輯的有監(jiān)督學習模型。一、線性可分問題引出支持向量機的數(shù)學問題這就叫線性可分一切盡在這幅圖中二、SVM核心原理原理圖三、SVM優(yōu)化問題求解步驟四、軟間隔
為解決線性不可分問題而生!這是線性不可分軟間隔五、核函數(shù)
升維:低維線性不可分→高維線性可分低維線性不可分→高維線性可分小結+課程思政:支持向量機的數(shù)學原理完整地介紹了支持向量機“是什么”及其工作原理:通過核函數(shù)將低維線性不可分問題升維至高維線性可分問題支持向量
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年數(shù)據(jù)備份服務合同
- 2026年賽事觀眾服務合同
- 2025年體育產(chǎn)業(yè)數(shù)字化管理方案可行性研究報告
- 2025年城市新型商業(yè)綜合體開發(fā)項目可行性研究報告
- 2025年面向老年人的智能穿戴產(chǎn)品研發(fā)項目可行性研究報告
- 會展承租協(xié)議書
- 中甲轉(zhuǎn)讓協(xié)議書
- 2025年企業(yè)社交平臺開發(fā)可行性研究報告
- 中國石油天然氣集團公司招聘題目分析
- 愛奇藝網(wǎng)優(yōu)管理崗面試題集及答案參考
- 提高住院患者圍手術期健康宣教知曉率品管圈活動報告
- 應急救援個體防護
- 黨建陣地日常管理制度
- 車間醫(yī)藥箱管理制度
- 食葉草種植可行性報告
- 落葉清掃壓縮機設計答辯
- 《高血壓、2型糖尿病、高脂血癥、肥胖癥膳食運動基層指導要點》解讀課件
- 和解協(xié)議書限高模板
- 珍愛生命活在當下-高一上學期生命教育主題班會課件
- 2025年統(tǒng)編版六年級上冊語文(寒假)期末復習《看拼音寫詞語》專項訓練A卷(附答案)
- 【課件】書畫同源+課件-2024-2025學年高中美術人教版+(2019)+選擇性必修2+中國書畫
評論
0/150
提交評論