版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第2章Python機(jī)器學(xué)習(xí)的使用2.1Python語言介紹2.2Python平臺搭建2.3Python入門2.4Python庫的使用2.5小結(jié)2.1Python語言介紹
Python作為一門開源語言使用廣泛,入手非??煺Z法簡單,簡單易讀,是一種解釋性強(qiáng)、交互式、面向?qū)ο蟆⒖缙脚_的語言。Python被稱為“膠水語言”,不僅可以使用Python編程,還可以使用C語言、C++編寫,他把耗時的代碼交給C/C++等高效率的語言進(jìn)行實(shí)現(xiàn),然后通過粘合來使用,這樣就使得Python運(yùn)行時間得到簡化。Python還具有列表、元組、字典等核心數(shù)據(jù)類型,以及集合、隊列等無需進(jìn)一步編程就能直接使用。由于Python可以應(yīng)用到多個領(lǐng)域,功能比較廣泛,可擴(kuò)展性強(qiáng),所以基于Python生成了非常多的第三方庫,這些庫Python本身不帶,運(yùn)用時需要先安裝,然后才能導(dǎo)入,Python包含了大量的第三方庫可以運(yùn)用到機(jī)器學(xué)習(xí),比如:圖形庫,數(shù)學(xué)函數(shù)庫,機(jī)器學(xué)習(xí)算法庫等。2.2Python平臺搭建Python適用于多個平臺,并且擁有多個版本,可以根據(jù)平臺選擇合適的版本Python可以通過官方網(wǎng)站下載:/Python下載軟件安裝第三方庫的安裝2.3Python入門數(shù)據(jù)類型基本運(yùn)算控制語句復(fù)雜數(shù)據(jù)類型函數(shù)數(shù)據(jù)類型數(shù)值型a=123print(a)a=3.14print(a)a=1.23456890print("{:0.2f}".format(a))字符串str='thisisaprogram'print(str[0])print(str[-1])print(str[0:4])print(len(str))print(str)print("{2}{1}{3}".format("this","is","a","program"))在Python中有兩種索引方式,一種是正索引,一種是負(fù)索引,我們既可以通過正索引進(jìn)行查詢,也可以通過負(fù)索引進(jìn)行查詢。在進(jìn)行切片操作時,一般通過如下方式:object[start_index:end_index:step]step:步數(shù),其正負(fù)值決定了切片方向。start_index:開始索引(包括自身)。end_index:結(jié)束索引(不包括自身)。布爾類型 空值true=True a=Nonefalse=False
print(a)print(true)print(false)基本運(yùn)算基本運(yùn)算符a=1+2print(a)a=1-2print(a)a=1*2print(a)a=1/2print(a)a=1//2print(a)a=1%2print(a)a=10**32print(a)多變量賦值a=1b=2a,b=b,a+bprint(a,b)控制語句條件控制語句year=int(input("請輸入年份:"))ifyear%4==0andyear%100!=0:print("{}年isleap".format(year))elifyear%400==0:print("{}年isleap".format(year))else:print("{}年isn'tleap".format(year))循環(huán)控制語句foriinrange(5):print(i)條件循環(huán)n=5while(n):print(n)n=n-1復(fù)雜數(shù)據(jù)類型列表(list)、元組(tuple)、字典(dict)、集合(set)列表:列表是可變的數(shù)據(jù)類型,在創(chuàng)建列表后可以添加、刪除或者搜索數(shù)據(jù),在Python中用[]表示。list=['a','b','c']print(list)list.append('d')print(list)list.extend('e')print(list)list.remove('e')print(list)元組:元祖和列表相似,但元組不可變。即不能添加或刪除元組內(nèi)的信息,但元組可以嵌套。在Python中用()表示。list=['b','c']tuple=('a',list,'d')print(tuple)list.remove('c')print(tuple)tuple[1].append('c')print(tuple)字典:字典是可變的,其數(shù)據(jù)類型包括鍵和值,鍵和值之間用“:”隔開,每個元素間以“,”隔開。且字典中的鍵是唯一的。在Python中用{}表示。dict={'a':1,'b':2,'c':'three'}print(dict.keys())print(dict.values())print(dict['c'])dict['c']=3print(dict['c'])dict.setdefault('d',4)print(dict)dict.pop('a')print(dict)dict.clear()print(dict)集合:集合與字典類似,但只包含鍵,沒有對應(yīng)的值,且包含的鍵不能重復(fù)。在Python中用set()或{}表示,set()中可以是列表、元組、字符串等。s=set([1,2,3])print(s)s={1,2,3}print(s)s=set("aabbc")print(s)函數(shù):函數(shù)在任何時候都非常重要,能夠自己建立函數(shù)解決機(jī)器學(xué)習(xí)問題,是一件不容易的事。我們先介紹Python中函數(shù)的語法:Python中建立函數(shù)利用def作為關(guān)鍵字開頭,然后后面跟函數(shù)名、參數(shù)、“()”、“:”等,通過縮進(jìn)表示函數(shù)內(nèi)的內(nèi)容。deffun(n):ifn==1orn==0:return1else:returnn*fun(n-1)print(fun(5))2.4Python庫的使用scikit-learnmglearnnumpyscipypandasmatplotlibGraphvizscikit-learnscikit-learn簡稱為sklearn,是機(jī)器學(xué)習(xí)最重要的一個機(jī)器學(xué)習(xí)庫,包括了大量的機(jī)器學(xué)習(xí)算法,而且還包括了大量的小型數(shù)據(jù)集,節(jié)省了獲取數(shù)據(jù)集所花費(fèi)的時間,使新手很容易上手,因而成為了廣泛應(yīng)用的重要的機(jī)器學(xué)習(xí)庫。sklearn還包括了許多功能,例如:分類任務(wù)、回歸任務(wù)、聚類任務(wù)、降維任務(wù)、模型選擇和數(shù)據(jù)的預(yù)處理。mglearn機(jī)器學(xué)習(xí)主要運(yùn)用到這個庫的兩個方面,一是利用matlotlib作圖時,庫中有配置好的cm2、cm3配色方案,二是庫中有加載和獲取常用數(shù)據(jù)集、人工生成數(shù)據(jù)集的模板load,可以引用sklearn.datasets模塊。numpynumpy支持高級大量的維度數(shù)組與矩陣運(yùn)算,它要求列表中所有元素類型都是相同的,然后將列表轉(zhuǎn)化成相對應(yīng)的數(shù)組進(jìn)行運(yùn)算。而且具有矢量運(yùn)算能力,快速、節(jié)省空間。此外也針對數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫。建立列表importnumpyasnpdata=[[1,2,3],[4,5,6],[7,8,9]]print(data)將列表轉(zhuǎn)換為數(shù)組importnumpyasnpdata=[[1,2,3],[4,5,6],[7,8,9]]ndarray=np.array(data)print(ndarray.shape)print(ndarray)比較兩者的運(yùn)算importnumpyasnpdata=[[1,2,3],[4,5,6],[7,8,9]]ndarray=np.array(data)print("data數(shù)據(jù):\n{}".format(data*2))print("ndarray數(shù)據(jù):\n{}".format(ndarray*2))對數(shù)組進(jìn)行切片importnumpyasnpdata=[[1,2,3],[4,5,6],[7,8,9]]ndarray=np.array(data)print(ndarray[1,2])print(ndarray[1,:])print(ndarray[:,2])scipyscipy建立在numpy的基礎(chǔ)之上,用于數(shù)學(xué)、科學(xué)、工程領(lǐng)域的第三方庫。它主要用于用于有效計算numpy矩陣,使numpy和scipy協(xié)同工作,高效解決問題。如統(tǒng)計、優(yōu)化、數(shù)值積分、圖像處理、信號處理以及常微分方程數(shù)值解的求解功能。建立稀疏矩陣importnumpyfromscipyimportsparsea=[[1,0,0,2],[0,0,3,0],[0,3,0,0]]a=numpy.array(a)print(a)轉(zhuǎn)換importnumpyfromscipyimportsparsea=[[1,0,0,2],[0,0,3,0],[0,3,0,0]]a=numpy.array(a)array=sparse.csr_matrix(a)print(array)pandaspandas也是基于numpy創(chuàng)建的一個為了解決數(shù)據(jù)分析任務(wù)的一種數(shù)據(jù)處理工具。pandas是一款最具有統(tǒng)計意義的統(tǒng)計包,它納入了大量庫和一些標(biāo)準(zhǔn)的數(shù)據(jù)模型,提供了高效地操作大型數(shù)據(jù)集所需的工具和大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法。pandas常用的是series,dataframe,panel等,分別用來處理一維、二維和三維數(shù)據(jù),應(yīng)用最多的是dataframe,它能將numpy數(shù)組或者字典轉(zhuǎn)化為類似于表格的類型,有行標(biāo)簽和列標(biāo)簽。importnumpyasnpimportpandasaspdarray=[[1,2],[3,4]]array=np.array(array)row=['r1','r2']col=['c1','c2']dataframe=pd.DataFrame(array,row,col)print(dataframe)importpandasaspddic={'name':["zhao","qian","sun","li"],'sex':['m','f','f','m']}dic=pd.DataFrame(dic)print(dic)matplotlibmatplotlib是一款繪圖工具,用于繪制散點(diǎn)圖、直方圖、線型圖等,類似于matlab,有matlab基礎(chǔ)的同學(xué)能夠快速上手matplotlib。importmatplotlib.pyplotaspltimportnumpyasnpdata=np.random.randn(200)plt.hist(data)plt.xlabel("XLabel")plt.ylabel("YLabel")plt.title("Title")plt.show()importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(-10,10)y=np.abs(x)plt.plot(x,y)plt.xlabel("XLabel")plt.ylabel("YLabel")plt.title("Title")plt.show()importmatplotlib.p
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)化通風(fēng)空調(diào)安裝項(xiàng)目協(xié)議2024版A版
- 三方債務(wù)責(zé)任轉(zhuǎn)移協(xié)議2024版
- 2025年度農(nóng)業(yè)園區(qū)場地租賃安全管理合同范本4篇
- 專業(yè)勞務(wù)分包協(xié)議(2024年版)樣本版A版
- 二零二四實(shí)習(xí)生就業(yè)權(quán)益與培訓(xùn)協(xié)議范本規(guī)范5篇
- 2025年度測繪數(shù)據(jù)安全保密協(xié)議4篇
- 專業(yè)標(biāo)識標(biāo)牌定制及施工服務(wù)協(xié)議版B版
- 專業(yè)攝影委托協(xié)議細(xì)則(2024年)版B版
- 2024物業(yè)管理權(quán)轉(zhuǎn)讓服務(wù)合同
- 2024版食品安全購銷合作合同范本一
- 微機(jī)原理與接口技術(shù)考試試題及答案(綜合-必看)
- 勞務(wù)投標(biāo)技術(shù)標(biāo)
- 研發(fā)管理咨詢項(xiàng)目建議書
- 濕瘡的中醫(yī)護(hù)理常規(guī)課件
- 轉(zhuǎn)錢委托書授權(quán)書范本
- 一種配網(wǎng)高空作業(yè)智能安全帶及預(yù)警系統(tǒng)的制作方法
- 某墓園物業(yè)管理日常管護(hù)投標(biāo)方案
- 蘇教版六年級數(shù)學(xué)上冊集體備課記載表
- 內(nèi)蒙古匯能煤電集團(tuán)有限公司長灘露天煤礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 22S702 室外排水設(shè)施設(shè)計與施工-鋼筋混凝土化糞池
- 2013日產(chǎn)天籟全電路圖維修手冊45車身控制系統(tǒng)
評論
0/150
提交評論