版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
文本數(shù)據(jù)處理9-1TextDataProcessing內(nèi)容概述1本章學(xué)習(xí)目標(biāo)財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析(1)掌握Series數(shù)據(jù)類型特征和轉(zhuǎn)化;(5)利用str對象處理財務(wù)文本數(shù)據(jù)。(4)掌握文本數(shù)據(jù)的拆分、合并、匹配、提取和替換;(2)熟悉str對象的屬性和方法;(3)熟悉正則表達式基礎(chǔ)語法;目錄CONTENTS財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析9.1文本數(shù)據(jù)處理
1Pandas數(shù)據(jù)類型綜述
2str對象
3正則表達式基礎(chǔ)
4文本數(shù)據(jù)處理的5類操作
【財務(wù)應(yīng)用與實踐】上市公司基本信息文本數(shù)據(jù)處理
Pandas數(shù)據(jù)類型綜述PartOne01財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析Pandas數(shù)據(jù)類型Pandas類型(dtype)Python類型(type)說明objectstr字符串,存儲文本數(shù)據(jù)等int64int整數(shù)float64float浮點數(shù)boolboolTrue/False值datetime64NA日期時間的值timedelta[ns]NA日期時間的差categoryNA統(tǒng)計中分類變量財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析數(shù)據(jù)類型轉(zhuǎn)換astype()函數(shù)是pandas中用于轉(zhuǎn)換數(shù)據(jù)類型的方法。它可以將DataFrame或Series的數(shù)據(jù)類型轉(zhuǎn)換為指定的類型。語法格式:DataFrame.astype(dtype,copy=True,errors='raise')Series.astype(dtype,copy=True,errors='raise')errors:類型:{'raise','ignore'},默認(rèn)為'raise'作用:指定在轉(zhuǎn)換期間如何處理錯誤。'raise':如果發(fā)生錯誤,則引發(fā)異常。'ignore':忽略錯誤,保留原始數(shù)據(jù)。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析分類數(shù)據(jù)category類型在處理具有固定類別或需要特定排序的數(shù)據(jù)時非常有用,特別是在數(shù)據(jù)分析和處理中,可以提高數(shù)據(jù)的可讀性、內(nèi)存效率和操作便利性。屬性和方法說明舉例catcat對象df['員工'].catcat.categoriesIndex類型類別的本身df['員工'].cat.categoriescat.ordered是否有序df['員工'].cat.categoriescat.codes序列的類別會被賦予唯一的整數(shù)編號df['員工'].cat.codesstr對象PartTwo02財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析Python字符串簡單重申一下有關(guān)字符串的相關(guān)概念:字符串的長度:字符串中字符的數(shù)目n稱為字符串的長度;空字符串:零個字符構(gòu)成的串,長度為0,可以表示為"";子串:字符串中任意個連續(xù)的字符組成的子序列;字符串的前綴:起始于位置為0、長度為k的子串稱為「前綴」;字符串的后綴:終止于字符串末尾位置(n-1),長度為k的子串稱為「后綴」;字符串之間的比較:通過組成字符串的字符之間的字符編碼來決定的。而字符編碼指的是字符在對應(yīng)字符集中的序號。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析str對象屬性和方法Pandas通過定義在Index或Series上的str屬性,來處理類型為object或string的文本數(shù)據(jù)1)字母型函數(shù)字符串函數(shù)中有關(guān)字母型的概念是針對英文字符串而言的。upper(),lower(),title(),capitalize()和swapcase()
這5個函數(shù)主要用于字母的大小寫轉(zhuǎn)化。s=pd.Series(['industry(工業(yè))','CN','ascale','FinancialApp'])財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析str對象屬性和方法2)pd.to_numeric()函數(shù)pd.to_numeric()函數(shù)能夠?qū)ψ址袷降臄?shù)值進行快速轉(zhuǎn)換和篩選。s=pd.Series(['10','2.1','2e5','<>'])財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析str對象屬性和方法3)統(tǒng)計型函數(shù)count
()和
len()函數(shù)的作用分別是返回出現(xiàn)正則模式的次數(shù)和字符串的長度。s=pd.Series(['**','B***','Ab$'])財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析str對象屬性和方法4)格式型函數(shù)格式型函數(shù)第一類函數(shù)用于數(shù)據(jù)清洗,空格等字符消除,分別代表去除兩側(cè)空格strip()、右側(cè)空格rstrip()和左側(cè)空格lstrip()。my_index=pd.Index(['列A','列B','列C'])my_code=pd.Series([1,323,600618]).astype('string')正則表達式基礎(chǔ)PartThere03財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析正則表達式概述正則表達式是一種文本模式,包括普通字符(例如,a-z之間的字母)和特殊字符(元字符),描述匹配字符串的特定模式,用來查找、替換、驗證和提取文本數(shù)據(jù)等操作。簡單地說,正則表達式是一個特殊的字符序列,其用于檢查一個字符串是否與某種模式匹配。通過使用正則表達式可以做到:數(shù)據(jù)驗證。通過測試字符串,得到需要的字符串模式。如電話號是有模式的數(shù)字組成的固定位數(shù)的字符串;匹配替換?;谀J狡ヅ鋸奶崛∽幼址?,進而進行后續(xù)操作;替換文本??梢允褂谜齽t表達式識別文檔中的特定文本,刪除或者替換文本。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析正則表達式語法1)正則表達式的構(gòu)造正則表達式是由普通字符和特殊字符(稱為“元字符”)組成的文字模式(pattern)財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析正則表達式語法1)正則表達式的構(gòu)造正則表達式是由普通字符和特殊字符(稱為“元字符”)組成的文字模式(pattern)(1)普通字符普通字符包括沒有被指定為元字符的所有可打印和不可打印字符。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析正則表達式語法1)正則表達式的構(gòu)造正則表達式是由普通字符和特殊字符(稱為“元字符”)組成的文字模式(pattern)(2)元字符在正則表達式中,通常使用一些特殊的字符來描述模式,這些特殊的字符稱為元字符。常用的元字符包括:.[]*+?{}()|\^$財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析正則表達式語法2)正則表達式基礎(chǔ)語法(1)【.】元字符元字符點【.】匹配除換行符【\n】之外的任何單字符。(2)匹配元字符像點【.】、【\】等是元字符。要匹配它們,需要請使用【\.】和【\\】財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析正則表達式語法2)正則表達式基礎(chǔ)語法(3)限定符限定符用來指定正則表達式的一個給定組件必須出現(xiàn)多少次才能滿足匹配。限定符有
*
、
+
、
?、
{n}、
{n,}
、或
{n,m}
共6種。s='Apple蘋果!\nanApple\np'財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析正則表達式語法2)正則表達式基礎(chǔ)語法(4)字符集和否定字符集字符集也稱為字符類,是匹配方括號中包含的任意字符。分兩種情況:①[],匹配方括號中包含的任意字符。②[^],否定字符類,匹配方括號中不包含的任意字符。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析正則表達式語法2)正則表達式基礎(chǔ)語法(4)字符集和否定字符集字符集也稱為字符類,是匹配方括號中包含的任意字符。分兩種情況:①[],匹配方括號中包含的任意字符。②[^],否定字符類,匹配方括號中不包含的任意字符。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析正則表達式語法2)正則表達式基礎(chǔ)語法(5)字符組字符組是一組寫在圓括號內(nèi)的子模式
(…)。如(xyz),按照確切的順序匹配字符xyz。還可以使用元字符【|】,表示“或”關(guān)系財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析正則表達式語法2)正則表達式基礎(chǔ)語法(6)定位符在正則表達式中,使用定位符檢查匹配符號是否是起始符號或結(jié)尾符號。插入符號【^】符號用于檢查匹配字符是否是輸入字符串的第一個字符;$】符號用于檢查匹配字符是否是輸入字符串的最后一個字符財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析正則表達式語法2)正則表達式基礎(chǔ)語法(7)斷言在使用正則表達式時,有時我們需要捕獲的內(nèi)容前后必須是特定內(nèi)容,但又不捕獲這些特定內(nèi)容的時候,需要帶有斷言正則表達式。斷言是非捕獲組內(nèi)容。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析正則表達式語法2)正則表達式基礎(chǔ)語法(7)斷言①正向先行斷言。正向先行斷言格式:
x(?=y)②負向先行斷言。負向先行斷言格式:
x(?!y)③正向后行斷言。正向后行斷言格式:
(?<=y)x④負向后行斷言。負向后行斷言格式:
(?<!y)x財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析正則表達式語法2)正則表達式基礎(chǔ)語法(8)修飾符修飾符也稱為標(biāo)記,正則表達式的修飾符用于指定額外的匹配策略。修飾符不寫在正則表達式里,位于表達式之外,語法格式:/pattern/flags財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析正則表達式語法2)正則表達式基礎(chǔ)語法(9)使用反向引用在正則表達式中,\n
(n為整數(shù))可以用來引用前面捕獲組中匹配的內(nèi)容。例如匹配重復(fù)的單詞:‘\b(\w+)\b\s+\文本數(shù)據(jù)處理的5類操作PartFour04財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析拆分split()函數(shù)按照能夠匹配的子串將Series/Index分割后返回列表或Series/DataFrame,語法格式:財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析合并合并操作有2個函數(shù),分別是
str.join()和str.cat()
。1)str.join()函數(shù)
str.join()表示用某個連接符把
Series
中的字符串列表連接起來,如果列表中出現(xiàn)了非字符串元素則返回缺失值。s.str.join(sep)只有1個參數(shù)sep,為合并所需的分隔符字符串2)str.cat()函數(shù)str.cat()按照給定分隔符合并Series/Index,語法格式:財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析匹配1)str.contains()函數(shù)str.contains()返回了每個字符串是否包含正則模式的布爾序列,語法格式:2)str.startswith()和str.endswith()函數(shù)str.startswith()和str.endswith()返回了每個字符串以給定模式為開始和結(jié)束的布爾序列,他們都不支持正則表達式。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析匹配3)str.match()函數(shù)如果需要用正則表達式來檢測開始或結(jié)束字符串的模式,可以使用
str.match()
,其返回了每個字符串起始處是否符合給定正則模式的布爾序列,語法格式:財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析提取str.extract()函數(shù)提取操作,是一種返回具體元素操作,首先是匹配操作,再根據(jù)匹配的結(jié)果提取捕獲組內(nèi)容并返回語法格式:str.extractall()不同于str.extract()只匹配一次,其會把所有符合條件的模式全部匹配出來。提取的多個結(jié)果,以多級索引的方式存儲。str.findall()的功能類似于str.extractall(),區(qū)別在于前者把結(jié)果存入列表中,而后者處理為多級索引,每個行只對應(yīng)一組匹配,而不是把所有匹配組合構(gòu)成列表。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析替換Series/Dataframe的str.replace()和replace()并不是一個函數(shù),在使用字符串替換時應(yīng)當(dāng)使用前者。
1)replace()函數(shù)replace()函數(shù)是Series/Dataframe某一個或匹配的值的整個值的替換,而str.replace不是改變值的部分。Series/Dataframe的replace()函數(shù)語法格式:財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析提取2)str.replace()函數(shù)Series/Dataframe的str.replace()函數(shù)某一個或匹配的值的部分值的替換,語法格式:財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析flags參數(shù)flags參數(shù)是用來指定正則表達式操作的額外選項。下面列出了常用的flags及其用法。re.I/re.IGNORECASE:忽略大小寫re.M/re.MULTILINE:多行匹配re.S/re.DOTALL:讓.可以匹配包括\n在內(nèi)的任意字符re.U/re.UNICODE:使用Unicode字符集而不是ASCII字符集【Python財務(wù)數(shù)據(jù)分析】——上市公司基本信息文本數(shù)據(jù)處理PartPractice05財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析【小結(jié)】本章是以Pandasstr對象為主要內(nèi)容,講述Pandas的文本處理的基礎(chǔ)用法。熟練掌握這些應(yīng)用會提升文檔處理和辦公自動化能力。文本數(shù)據(jù)的處理,尤其是基于正則表達式操作較為復(fù)雜,本章學(xué)習(xí)的內(nèi)容是較為基礎(chǔ)的。較深的內(nèi)容需要借助其他第三方模塊,如中文分詞,詞性標(biāo)注,自然語言處理等,需要以后不斷學(xué)習(xí)拓展。THANKS感謝關(guān)注財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析時間序列數(shù)據(jù)處理9-2TimeSeriesDataProcessing內(nèi)容概述本章學(xué)習(xí)目標(biāo)財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析(1)了解時間序列分析的應(yīng)用場景;(5)熟悉時間偏置DateOffset對象和窗口函數(shù);(4)掌握dt對象的屬性和方法;(2)掌握Datetimes數(shù)據(jù)類型的屬性和方法;(3)掌握Timedeltas數(shù)據(jù)類型的屬性和方法;(6)利用Pandas進行簡單的時間序列分析。目錄CONTENTS財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析9.2時間序列數(shù)據(jù)處理
1時間序列概述2時間點 3時間差 4時間偏置5窗口函數(shù)【Python財務(wù)數(shù)據(jù)分析】——財務(wù)數(shù)據(jù)的時間序列數(shù)據(jù)分析時間序列概述PartOne01財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析時間序列概述時間序列是按時間順序索引的一系列數(shù)據(jù)點。最常見的時間序列是在連續(xù)的等間隔時間點上獲得的序列有關(guān)時間序列的應(yīng)用場景,分為以下4種情況:(1)時間點。即特定的時刻,記錄時間維度的具體一個位置。(2)時間差。兩個時間點做差就得到了時間差。時間差可以是幾年,幾個月,幾天,幾分,幾秒,甚至小到納秒。因為是時間差值,因此既可以是正數(shù),也可以是負數(shù)。(3)時間跨度。即以時間為計量的迭代單位,時間記錄迭代步長,以時間為計量的規(guī)律變化的一種時間差。(4)時間偏置。日期偏置是一種和日歷相關(guān)的特殊時間差,是與時間計量的不同單位進制造成的特殊時間差。時間點PartTwo02財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析時間點時間點(Datetimes)問題,Pandas提供Timestamp、DatetimeIndex、datetime64[ns]3種數(shù)據(jù)類型。Timestamp對象是時間點元素類型,表示確切的一個時間點;由Timestamp對象組成的序列是DatetimeIndex對象;DatetimeIndex對象可以作為Pandans的一個Series或者DataFrame的一列,數(shù)據(jù)類型為datetime64[ns]。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析Timestamp的構(gòu)造與屬性Pandas提供Timestamp(時間戳)類構(gòu)造時間戳對象。單個時間戳的生成利用pd.Timestamp()實現(xiàn)Timestamp由date(日期)和time(時間)組成;其中日期又由year、month和day組成;時間由hour、minute和second組成。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析Datetime序列一組時間戳可以組成時間序列DatetimeIndex。通過to_datetime()和date_range()函數(shù)生成時間序列,即把時間戳格式的對象轉(zhuǎn)換成為datetime64[ns]類型的時間序列range()和np.arange()函數(shù),pd.date_range()是一種生成連續(xù)間隔時間的一種方法語法格式:財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析時序類型dt對象Pandas在時序類型的序列上定義了dt對象來完成時間序列的相關(guān)操作。這些操作可以大致分為3類:dt屬性,時間戳判定,取整操作。1)dt屬性dt對象時間分量值屬性包括:date,time,year,month,day,hour,minute,second,microsecond,nanosecond,dayofweek,dayofyear,weekofyear,daysinmonth,quarter等2)時間戳判定dt對象時間戳判定包括主要用于測試是否為月/季/年的第一天或者最后一天等,如is_leap_year,is_month_end,is_month_start,is_quarter_end,is_quarter_start,is_year_end,is_year_start等3)dt取整操作dt取整操作包含round(),ceil(),floor()函數(shù),他們的公共參數(shù)為freq,常用的值包括:H(小時),min(分鐘),S(秒),即完成時間點的不同方式取整。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析dt索引和切片財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析dt索引和切片時間差PartThere03財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析時間差兩個時間戳(Timestamp)做差就得到了時間差(Timedeltas),Pandas中利用Timedelta對象來表示。類似于DatatimeIndex,一系列的時間差就組成TimedeltaIndex,而TimedeltaIndex置于DataFrame或Series中,其類型為timedelta64[ns]。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析創(chuàng)建Timedelta對象時間差可以理解為兩個時間戳的差,這里也可以通過pd.Timedelta()來構(gòu)造pd.Timestamp('2020010208:00:00')-pd.Timestamp('2020010107:35:00')pd.Timedelta(days=1,minutes=25)#需要注意是minutes,不是minute?;騪d.Timedelta('1days25minutes')#字符串生成財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析Timedelta序列對于時間差序列的生成,需要pd.to_timedelta()方法,其類型為timedelta64[ns],示例代碼如下。td1=pd.date_range('2023-1-1','2023-3-1',periods=10)td2=td1+pd.Timedelta(days=1,minutes=45)*np.random.randint(10,size=10)ts=pd.to_timedelta(pd.Series(td2-td1))時間差序列也可以用timedelta_range()方法,參數(shù)與date_range()類似,示例代碼如下。pd.timedelta_range('1m','1000m',freq='1h')pd.timedelta_range('0h','1000h',periods=9)財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析時間差dt對象對于Timedelta序列,同樣也定義了dt對象,接上例代碼。td_dt=(pd.Series(td2-td1)).dtTimedelta的dt對象定義了的屬性包括days,seconds,mircroseconds,nanoseconds等,與DatatimeIndex的dt對象類似。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析Timedelta的運算時間點是定距類型數(shù)據(jù),但是時間差卻是比例類型數(shù)據(jù),可以進行加、減、乘、除運算都有意義。時間偏置PartFour04財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析Offset對象Offset對象通過pd.offsets定義。當(dāng)使用加法(+)運算時獲取離其最近的下一個日期,當(dāng)使用減法(-)運算時獲取離其最近的上一個日期。[in]pd.Timestamp('20231006')+pd.offsets.WeekOfMonth(week=0,weekday=0)[out]Timestamp('2023-11-0600:00:00')[in]
pd.Timestamp('20231001')-pd.offsets.WeekOfMonth(week=0,weekday=0)[out]Timestamp('2023-09-0400:00:00')財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析偏置字符串pd.date_range()函數(shù)可以生成連續(xù)的日期時間序列語法格式:pd.date_range(start=None,end=None,periods=None,freq=None,tz=None,normalize=False,name=None,inclusive='both',*,unit=None,**kwargs)式中freq取值可用Offset對象,稱為頻率字符串,是
DateOffset
對象及其子類。窗口函數(shù)PartFive05財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析窗口函數(shù)窗口函數(shù)可以為每行數(shù)據(jù)進行一次計算,因為窗口函數(shù)指定了數(shù)據(jù)窗口大小,可以在這個滑動窗口里進行計算并返回一個值。聚合函數(shù)只返回一行或?qū)Ψ纸M下的所有數(shù)據(jù)進行統(tǒng)計。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析滑動窗口函數(shù)窗口函數(shù)就是一個可以在滑動窗口實現(xiàn)各種統(tǒng)計操作的函數(shù)。一個滑動窗口是一個移動變化的小區(qū)間,所以窗口函數(shù)可以在不斷變化的小區(qū)間里實現(xiàn)各種復(fù)雜的統(tǒng)計分析。Pandasrolling()函數(shù)的語法格式:財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析時序的滑動窗口所謂時序的滑窗函數(shù),即把滑動窗口用freq關(guān)鍵詞代替。將偏移量傳遞給rolling()函數(shù),并使其根據(jù)傳遞的時間窗口生成可變大小的窗口。函數(shù)作用于每個時間點,以及偏移量的時間增量內(nèi)出現(xiàn)的所有先前值。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析時序的擴張窗口擴張窗口又稱累計窗口,可以理解為一個動態(tài)長度的窗口,其窗口的大小就是從序列開始處到具體操作的對應(yīng)位置,其使用的聚合函數(shù)會作用于這些逐步擴張的窗口上。【Python財務(wù)數(shù)據(jù)分析】——財務(wù)數(shù)據(jù)的時間序列數(shù)據(jù)分析PartPractice05財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析【小結(jié)】本節(jié)主要介紹了時間序列的特殊數(shù)據(jù)處理。時間序列是財經(jīng)數(shù)據(jù)分析的重要內(nèi)容,因此Pandas對其有較豐富的對象屬性和方法。我們重點介紹Datatime和Timedeltas對象,他們組成的序列DatetimeIndex和TimedeltaIndex,以及他們在Series和DataFrame的數(shù)據(jù)類型datetime64[ns]和timedelta64[ns]。dt對象與str、cat等對象非常類似,但函數(shù)參數(shù)較為復(fù)雜。本章內(nèi)容較為綜合,需要實踐練習(xí)才能漸漸掌握,逐步熟悉。THANKS感謝關(guān)注財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析基于機器學(xué)習(xí)的財務(wù)應(yīng)用9-3DataAnalysisandMachineLearning內(nèi)容概述本節(jié)學(xué)習(xí)目標(biāo)財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析(1)理解人工智能的概念和研究范疇;(4)利用簡單的機器學(xué)習(xí)的算法進行財務(wù)數(shù)據(jù)分析。(2)了解機器學(xué)習(xí)的概念和方法;(3)掌握簡單的機器學(xué)習(xí)的算法,及Python編程;目錄CONTENTS財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析9.3基于機器學(xué)習(xí)的財務(wù)應(yīng)用1人工智能2機器學(xué)習(xí)3sklearn 【Python財務(wù)數(shù)據(jù)分析】——基于上市公司年報財務(wù)指標(biāo)的機器學(xué)習(xí)財務(wù)應(yīng)用人工智能PartOne01財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析人工智能概述
20世紀(jì)50年代,圖靈首次提出了“機器思維”的概念。他提出了一項測試,以確定計算機能否進行“思考”:如果一臺計算機的行為、反應(yīng)和互動像一個有意識的個體,那么它應(yīng)該被視為有意識的,即提出了“機器能思維”的觀點。
人工智能(ArtificialIntelligence,AI)是由申農(nóng)(ClaudeShannon)等在1956年一次會議上被提出來的。一般認(rèn)為人工智能是任何類似于人的智能或高于人的智能的機器或算法統(tǒng)稱。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析人工智能學(xué)派1)符號主義符號主義(symbolicism)的觀點:人工智能起源于數(shù)理邏輯,人類認(rèn)知的基元是符號,認(rèn)知過程是符號表示上的一種運算?;谥R的問題求解財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析人工智能學(xué)派2)連接主義連接主義(connectionism)的觀點:人工智能起源于仿生學(xué),特別是人腦模型,人類認(rèn)知的基元是神經(jīng)元,認(rèn)知過程是神經(jīng)元的聯(lián)結(jié)活動過程。playground可視化神經(jīng)網(wǎng)絡(luò)財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析人工智能學(xué)派3)行為主義學(xué)派行為主義(actionism)的觀點:人工智能起源于控制論,智能取決于感知和行為,是對外界復(fù)雜環(huán)境的適應(yīng),而不是推理。以自動駕駛汽車為例,它在行駛過程中,不斷接收來自攝像頭、激光雷達和其他傳感器的數(shù)據(jù)。當(dāng)遇到行人突然出現(xiàn)在道路上時,汽車會立即根據(jù)這些實時的感知信息采取剎車動作。這個決策不是基于預(yù)先編寫的固定程序,而是基于對環(huán)境的實時感知和過去在類似情況下的學(xué)習(xí)經(jīng)驗(通過大量的模擬訓(xùn)練或?qū)嶋H道路測試積累),以實現(xiàn)安全、高效的駕駛行為。機器學(xué)習(xí)PartTwo02財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析機器學(xué)習(xí)概念符號主義需要基于人類認(rèn)知的規(guī)則,連接主義基于數(shù)據(jù)處理的物理模型假設(shè)空間,而行為主義需要行為結(jié)果與行為環(huán)境的交互。這些人工智能領(lǐng)域,本質(zhì)都是數(shù)據(jù)到知識的映射。從原始數(shù)據(jù)中獲取有用知識的能力被稱為機器學(xué)習(xí)(machinelearning)。機器學(xué)習(xí)與人類思維的對比財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析數(shù)據(jù)、信息和知識1)數(shù)據(jù)數(shù)據(jù)泛指對客觀事物的數(shù)量、屬性、位置及其相互關(guān)系的抽象表示,以適合用人工或自然的方式進行保存、傳遞和處理。數(shù)據(jù)是知識階層中最底層也是最基礎(chǔ)的一個概念,是形成信息、知識和智能的源泉,是機器學(xué)習(xí)“原料”。換句話說,機器模型需要數(shù)據(jù)“喂養(yǎng)”,才能“成熟”。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析數(shù)據(jù)、信息和知識3)知識數(shù)據(jù)是信息的載體,本身無確切含義。知識可以理解為信息與信息之間的關(guān)聯(lián)。通過對信息使用歸納、演繹的方法得到知識。在表中9-1,我們發(fā)現(xiàn):樣本的特征“所有者權(quán)益”與特征“資產(chǎn)”和“負債”存在這種關(guān)聯(lián)關(guān)系:如果“資產(chǎn)”和“負債”兩個特征的值,就可以得到特征“所有者權(quán)益”值。這種關(guān)聯(lián)關(guān)系就是知識。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析數(shù)據(jù)、信息和知識財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析機器學(xué)習(xí)過程財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析機器學(xué)習(xí)過程1)機器學(xué)習(xí)前提機器之所以能夠?qū)W習(xí),是有數(shù)學(xué)原理支持的。簡單地說,就是數(shù)學(xué)證明通過大量描述事物的數(shù)據(jù),可以發(fā)現(xiàn)其中的規(guī)律。我們把要發(fā)現(xiàn)的規(guī)律視為一種假設(shè):“未知的目標(biāo)函數(shù)假設(shè)”,即機器學(xué)習(xí)的假設(shè)前提。通過事物的描述(X),存在一個理想化的映射(f):XY。X是已知樣本的樣本空間,Y是樣本的一個新特征空間。這個假設(shè)的存在是我們機器學(xué)習(xí)的前提。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析機器學(xué)習(xí)過程2)獲取數(shù)據(jù)有了(1)的前提,我們需要首先要得到盡可能多且全面的事物描述數(shù)據(jù)(X),以及通過經(jīng)驗或過去的事實了解已知事物的特征(Y)的值,即數(shù)據(jù)集D:(X,Y)。X為目標(biāo)函數(shù)(g)的左側(cè)特征值,Y為目標(biāo)函數(shù)映射的特征向量。Y的值獲取具有多種途徑,因此演化多種機器學(xué)習(xí)的方法,如有監(jiān)督機器學(xué)習(xí),無監(jiān)督機器學(xué)習(xí),強化學(xué)習(xí),自學(xué)習(xí)等財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析機器學(xué)習(xí)過程3)數(shù)據(jù)預(yù)處理數(shù)據(jù)在學(xué)習(xí)之前,要滿足學(xué)習(xí)算法的要求,如數(shù)據(jù)變換、數(shù)據(jù)標(biāo)準(zhǔn)化等。這里我們只討論數(shù)據(jù)拆分這一步驟。通常會把數(shù)據(jù)分成2部分(有時也分為3部分,訓(xùn)練集、測試集和驗證集),即訓(xùn)練集(trainingset)和測試集(testingset)。訓(xùn)練集是用來訓(xùn)練模型,測試集是在模型的訓(xùn)練之后評估模型的好壞。數(shù)據(jù)拆分有很多方法,如K折交叉檢驗(K-foldcross-validation)——大致思想是把數(shù)據(jù)集分成K份,每次取一份作為測試集,取余下的K-1份作為訓(xùn)練集。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析機器學(xué)習(xí)過程4)學(xué)習(xí)訓(xùn)練除了訓(xùn)練數(shù)據(jù)集,學(xué)習(xí)訓(xùn)練需要另外2個要素:假設(shè)空間和算法。(1)假設(shè)空間:我們根據(jù)已有的認(rèn)知,使用某種思維框架把理想的函數(shù)f所在的空間表示出來,即假設(shè)空間H:X->Y。H可以被理解為X->Y的“形態(tài)”空間,空間中的具體模型形式可能有無限多個。(2)算法:算法A可以理解為從假設(shè)空間H中,找到一個最優(yōu)或次優(yōu)的模型的數(shù)學(xué)方法。算法求解的條件是:得到的模型g,使得g(X),無限接近f(X)=Y。即從假設(shè)空間中找到一個模型g,使得映射得到的與已知事實的Y的差異盡可能小。基于此,機器學(xué)習(xí)一般可以轉(zhuǎn)換為最小化問題求解。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析機器學(xué)習(xí)過程5)模型評估模型g在訓(xùn)練集上表現(xiàn)很好,即預(yù)測值與真實值差異趨近最小。但是未必在測試集上有同樣的表現(xiàn)。算法A學(xué)習(xí)X得到的g,可能有缺陷[這種缺陷來自多個方面:①訓(xùn)練集X不能完全代表事物本身,或數(shù)量不足;②人類認(rèn)知有限,事物的規(guī)律f不在假設(shè)空間H之中;③算法A本身有問題,得到的g不是一個合適的解。這里涉及過擬合、欠擬合和超級參數(shù)等概念。如果模型g在測試集上表現(xiàn)不佳,則要回到前面的重新學(xué)習(xí)訓(xùn)練。通過了測試,則模型就能用于預(yù)測分析了。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析機器學(xué)習(xí)過程6)預(yù)測預(yù)測就是有新的數(shù)據(jù)加載到模型上,得到預(yù)測目標(biāo)向量的過程。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析機器學(xué)習(xí)分類1)監(jiān)督學(xué)習(xí)監(jiān)督學(xué)習(xí)(supervisedlearning)也稱有監(jiān)督學(xué)習(xí),通常可以用于分類(classification)和回歸(regression)問題。它的主要特點是,所有的數(shù)據(jù)都有與之相對應(yīng)的標(biāo)簽(Label)。比如我們想做一個評估企業(yè)的債券等級的模型,那么我們的數(shù)據(jù)集是大量的企業(yè)財務(wù)指標(biāo)(數(shù)據(jù))對應(yīng)企業(yè)債券的等級數(shù)據(jù)(標(biāo)簽)。監(jiān)督學(xué)習(xí)在建模過程中,是將模型的預(yù)測結(jié)果與訓(xùn)練集數(shù)據(jù)的標(biāo)簽(真實值)做對比,比較采用一個目標(biāo)函數(shù)(損失函數(shù)),如果預(yù)測結(jié)果與實際結(jié)果不符合,調(diào)整模型參數(shù)或結(jié)構(gòu),直到模型的預(yù)測結(jié)果可能達到預(yù)期的準(zhǔn)確率。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析機器學(xué)習(xí)分類2)無監(jiān)督學(xué)習(xí)無監(jiān)督學(xué)習(xí)(unsupervisedlearning)通??梢杂糜诮鉀Q聚類(clustering)的問題。無監(jiān)督學(xué)習(xí)中,所有的數(shù)據(jù)都是沒有標(biāo)簽的,可以使用機器學(xué)習(xí)的方法讓數(shù)據(jù)自動聚類。由于缺乏足夠的先驗知識,人工標(biāo)注類別困難,或進行人工類別標(biāo)注的成本太高,所以我們希望計算機能夠分類,或至少提供一些幫助。根據(jù)類別未知(沒有被標(biāo)記)的訓(xùn)練樣本解決模式識別中的各種問題,稱之為無監(jiān)督學(xué)習(xí)。財務(wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析機器學(xué)習(xí)分類3)半監(jiān)督學(xué)習(xí)半監(jiān)督學(xué)習(xí)(semi-supervisedlearning)是監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)相結(jié)合的一種學(xué)習(xí)方式。主要是用來解決使用少量帶標(biāo)簽的數(shù)據(jù)和大量沒有標(biāo)簽的數(shù)據(jù)進行訓(xùn)練和分類的問題。此類算法首先試圖對沒有標(biāo)簽的數(shù)據(jù)進行建模,然后再對帶有標(biāo)簽的數(shù)據(jù)進行預(yù)測,從而檢驗?zāi)P?。財?wù)數(shù)據(jù)分析財務(wù)數(shù)據(jù)分析機器學(xué)習(xí)分類4)其他學(xué)習(xí)方法強化學(xué)習(xí)(reinforcementlearning)是智能體(agent)以“試錯”的方式進行學(xué)習(xí)。通過與環(huán)境進行交互獲得的獎賞指導(dǎo)智能體行為,使智能體獲得最大的獎賞,從而達到模型訓(xùn)練目的。集成學(xué)習(xí)(ensemblelearning),一般先產(chǎn)生一組“個體學(xué)習(xí)器”,再用某種策略將它們結(jié)合起來。結(jié)合策略主要有平均法、投票法等。遷移學(xué)習(xí)(transferlearning)是一種機器學(xué)習(xí)模型再利用的方法,就是把為任務(wù)A得到的模型作為初始點,重新使用在為任務(wù)B的開發(fā)模型中。結(jié)構(gòu)學(xué)習(xí)(structuredlearning)就是輸入或輸出是有結(jié)構(gòu)的數(shù)據(jù),比如說語句、列表、樹和邊界框(boundingbo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025荷蘭食品加工產(chǎn)業(yè)市場供需合作關(guān)系及投資價值預(yù)測評估規(guī)劃報告
- 2025荷蘭電子商務(wù)平臺銷售行業(yè)市場消費動態(tài)研究分析及投資未來培育計劃報告
- 2025英國箱包設(shè)計產(chǎn)業(yè)市場格局與品牌形象提升方案報告
- 2025英國智能兒童教育行業(yè)市場深度研究及競爭模式與個性化發(fā)展報告
- 2025英國醫(yī)藥行業(yè)市場全面調(diào)研及行業(yè)發(fā)展趨勢與投資收益測定報告
- 2025航運行業(yè)市場現(xiàn)狀及競爭格局深度分析研究報告
- 2025年12月廣東東莞市招聘事業(yè)編制教師東北地區(qū)專場171人模擬筆試試題及答案解析
- 2025廣西崇左市江州區(qū)消防救援大隊政府專職消防員招聘模擬筆試試題及答案解析
- 食品工廠設(shè)計注意要點教例教案
- 2025云南劍川智慧物流產(chǎn)業(yè)園招聘園區(qū)副經(jīng)理1人備考考試題庫及答案解析
- 中藥保留灌腸講課課件
- 澳大利亞為子女提供的在職證明范本澳大利亞簽證在職證明
- 2025中車株洲電力機車研究所有限公司社會招聘筆試歷年參考題庫及答案
- 2025年學(xué)前兒童音樂教育試卷(附答案)
- 一點點奶茶店營銷策劃方案
- 2025年生產(chǎn)安全事故典型案例
- 法律服務(wù)行業(yè)數(shù)字化轉(zhuǎn)型與2025年挑戰(zhàn)與機遇報告
- 公司投標(biāo)知識培訓(xùn)內(nèi)容課件
- 外墻真石漆專項施工方案
- 信息安全供應(yīng)商培訓(xùn)課件
- 自主導(dǎo)航移動機器人 (AMR) 產(chǎn)業(yè)發(fā)展藍皮書 (2023 版)-部分1
評論
0/150
提交評論