機器學習技術任務驅動式教程-課件 模塊1-3 了解機器學習、機器學習開發(fā)環(huán)境安裝及使用、基于K-最近鄰的分類預測_第1頁
機器學習技術任務驅動式教程-課件 模塊1-3 了解機器學習、機器學習開發(fā)環(huán)境安裝及使用、基于K-最近鄰的分類預測_第2頁
機器學習技術任務驅動式教程-課件 模塊1-3 了解機器學習、機器學習開發(fā)環(huán)境安裝及使用、基于K-最近鄰的分類預測_第3頁
機器學習技術任務驅動式教程-課件 模塊1-3 了解機器學習、機器學習開發(fā)環(huán)境安裝及使用、基于K-最近鄰的分類預測_第4頁
機器學習技術任務驅動式教程-課件 模塊1-3 了解機器學習、機器學習開發(fā)環(huán)境安裝及使用、基于K-最近鄰的分類預測_第5頁
已閱讀5頁,還剩170頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

理解機器學習的概念和目標了解機器學習的四個發(fā)展階段了解機器學習涉及的行業(yè)領域機器學習常用方法了解常用的機器學習方法參考書目《機器學習技術任務驅動式教程》了解機器學習模塊1機器學習技術考核方式1.平時表現(xiàn)(70%)

-考勤

-課堂提問

-課堂作業(yè)

-課后作業(yè)2.考試(30%)過程考核目錄機器學習技術簡介機器學習發(fā)展史機器學習應用領域機器學習常用方法Sklearn機器學習庫小結習題一了解機器學習模塊1機器學習技術機器學習簡介機器學習(MachineLearning,ML)專門研究機器模擬或實現(xiàn)人類的行為,以獲得新的知識或技能,并且能夠優(yōu)化現(xiàn)有的知識結果使之適應新的環(huán)境。模擬機器學習簡介機器學習是將現(xiàn)實中的問題抽象為數(shù)學模型,利用歷史數(shù)據(jù)對數(shù)據(jù)模型進行訓練,然后基于數(shù)據(jù)模型對新數(shù)據(jù)進行求解,并將結果再轉為現(xiàn)實問題的答案的過程。(1)現(xiàn)實問題抽象為數(shù)學問題;1機器學習的實現(xiàn)步驟(2)數(shù)據(jù)處理為要求的格式;(3)選擇或創(chuàng)建模型;(4)模型訓練及評估;(5)預測新的數(shù)據(jù)。機器學習簡介主要步驟2機器學習的處理流程機器學習發(fā)展史探索期:20世紀50年代~60年代中葉1

第1/4階段側重于非符號的神經元模型探索,研究目標是自組織系統(tǒng)和自適應系統(tǒng)。主要研究方法是不斷修改系統(tǒng)的控制參數(shù)以改進系統(tǒng)的執(zhí)行能力,不涉及與具體任務有關的知識。塞繆爾的跳棋程序就是本階段的典型例子。這個時期的機器學習方法取得的學習結果都很有限,遠不能滿足人們對機器學習系統(tǒng)的期望。我國研制出了數(shù)字識別學習機。機器學習發(fā)展史發(fā)展期:20世紀60年代中葉~70年代中葉2

第2/4階段側重于符號學習,研究目標是模擬人類的概念學習過程,并采用邏輯結構和圖結構作為機器內部描述。機器學習采用符號來描述概念,并提出了關于學習概念的各種假設。代表性工作有溫斯頓(Winston)的結構學習系統(tǒng)和海思(Hayes)等人的歸納學習系統(tǒng)。這類學習系統(tǒng)只能學習單一概念,不能投入實際應用。我國機器學習研究陷于停滯。機器學習發(fā)展史復興期:20世紀70年代中葉~80年代中葉3

第3/4階段機器學習的概念從單個到多個,機器學習過程建立在大規(guī)模的知識庫上,實現(xiàn)知識強化學習。1980年,美國卡內基-梅隆大學(CMU)召開了第一屆機器學習國際研討會,標志機器學習研究走向繁榮。本階段的代表性工作有莫斯托(Mostow)的指導性學習、萊納特(Lenat)的數(shù)字概念發(fā)現(xiàn)程序、蘭利(Langley)的BACON程序及其改進版本。20世紀70年代末,中國科學院自動化研究所進行質譜分析和模式文法推斷研究,機器學習研究重新得到恢復。機器學習發(fā)展史最新階段:80年代中葉~至今4第4/4階段機器學習綜合多門學課,進入最新階段。機器學習已成為新的學課并在許多高校開設課程。結合各種學習方法,取長補短的集成學習系統(tǒng)研究正在興起。機器學習與人工智能各種基礎問題的統(tǒng)一性觀點逐漸成型。機器學習方法的應用范圍不斷擴大,商業(yè)性應用層出不窮。機器學習研究已形成熱潮,相關的學術活動空前活躍。機器學習應用領域通過探索和與環(huán)境交互來學習1

自動駕駛機器學習應用領域聲音、圖像經過模型識別后轉換為文字、特征,推薦的商品也反映用戶的習慣和興趣。2

個性化推薦機器學習應用領域從已分類郵件建立模型,識別未知郵件3

垃圾郵件分類機器學習應用領域周期性識別課堂圖片中的學生,顯示實時考勤4

課堂考勤機器學習常見方法監(jiān)督學習是機器學習中一種常用的學習方法,其訓練樣本中包含特征和標簽。它利用一組已知標簽的樣本調整模型參數(shù),使其達到所要求的性能,也稱為監(jiān)督訓練或有教師學習。1

監(jiān)督學習決策樹K-最近鄰貝葉斯分類回歸支持向量機深度學習機器學習常見方法無監(jiān)督學習中的訓練樣本沒有對應的標簽或目標值。這意味著無法提供訓練數(shù)據(jù),機器只能自行學習,而無需事先提供任何有關標簽或目標的信息。預測結果是樣本的分類。2

無監(jiān)督學習K-均值最大期望機器學習常見方法強化學習的輸出標簽不是直接的是或否,而是一種獎懲機制。它描述和解決智能體(agent)在復雜不確定的環(huán)境(environment)下極大化獎勵問題。3

強化學習策略優(yōu)化Q-LearningMBMF機器學習常見方法深度學習、機器學習和人工智能之間關系4

機器學習所處位置Sklearn機器學習庫2010年發(fā)布的Scikit-learn(又稱為Sklearn)是機器學習領域非常熱門的一個開源包,基本功能分為六大部分。Sklearn分類回歸數(shù)據(jù)降維聚類模型選擇數(shù)據(jù)預處理小結機器學習是人工智能的一個重要分支,也是機器獲取智能的重要途經。機器學習處理對象既有類似二維表的結構化數(shù)據(jù),也有文本、語音、圖像等非結構化數(shù)據(jù)。監(jiān)督學習的訓練樣本包含標簽,而非監(jiān)督學習的樣本則沒有標簽。深度學習屬于機器學習的一個分支,是通過深度網(wǎng)絡模型自動提取特征的一類學習算法。Sklearn提供目前常用的機器學習算法接口。習題一一選擇題1.下面()步驟不屬于監(jiān)督學習的流程。A.數(shù)據(jù)準備 B.模型訓練C.模型評估 D.數(shù)據(jù)展示2.K-均值算法屬于()。A.監(jiān)督學習 B.無監(jiān)督學習C.強化學習 D.深度學習3.下列表述中,不屬于神經網(wǎng)絡的組成部分的是()。A.輸入層 B.輸出層C.隱藏層 D.特征層習題一一選擇題4.不屬于監(jiān)督學習的方法是()。A.K-最近鄰 B.邏輯回歸C.策略優(yōu)化 D.決策樹5.不屬于集成學習的方法是()。A.投票法 B.K-均值C.Bagging D.AdaBoost習題一二填空題1.深度學習是()的一種,而()是實現(xiàn)人工智能的重要途經。2.在K-最近鄰、邏輯回歸、決策樹、K-均值、支持向量機中,()屬于無監(jiān)督的機器學習方法。3.決策樹模型容易產生一個過于復雜的模型。()、設置()或()是避免出現(xiàn)該問題的可行方法。習題一三思考題大數(shù)據(jù)的發(fā)展極大推動了深度學習的興起。與機器學習相比,深度學習更依賴大量的訓練數(shù)據(jù),分析其內在原因。安裝機器學習開發(fā)環(huán)境JupyterLab環(huán)境編程JupyterLab環(huán)境調試機器學習常用方法Markdown文件設計目錄機器學習開發(fā)環(huán)境安裝及使用參考書目《機器學習技術任務驅動式教程》模塊2機器學習技術目錄機器學習開發(fā)環(huán)境安裝JupyterLab環(huán)境編程JupyterLab代碼調試Markdown目錄制作小結習題二機器學習開發(fā)環(huán)境安裝及使用模塊2機器學習技術Anaconda是一個基于Python的數(shù)據(jù)處理和科學計算平臺,內置了200多個預先選擇的軟件包。常用的有:1

安裝AnacondaCondaNumpyScipyPythonPandasMatplotlib機器學習開發(fā)環(huán)境安裝機器學習開發(fā)環(huán)境安裝1

安裝Anaconda步驟1:進入Anaconda下載網(wǎng)站下載Windows版本的Anaconda安裝包,選擇Anaconda3-2023.07-2-Windows-x86_64.exe。機器學習開發(fā)環(huán)境安裝1

安裝Anaconda步驟2:雙擊安裝文件。機器學習開發(fā)環(huán)境安裝1

安裝Anaconda步驟3:點擊“Next”按鈕,進入下一步。機器學習開發(fā)環(huán)境安裝1

安裝Anaconda步驟4:點擊“IAgree”按鈕,進入下一步。機器學習開發(fā)環(huán)境安裝1

安裝Anaconda步驟5:選擇“JustMe(recommended)”,點擊“Next”按鈕,進入下一步。選擇安裝路徑,在后面設置系統(tǒng)路徑時會用到安裝路徑。機器學習開發(fā)環(huán)境安裝1

安裝Anaconda步驟7:Anaconda程序開始安裝。機器學習開發(fā)環(huán)境安裝1

安裝Anaconda步驟8:安裝完成,點擊“Next”按鈕。機器學習開發(fā)環(huán)境安裝1

安裝Anaconda步驟9:提醒使用Anaconda云服務,點擊“Next”按鈕。機器學習開發(fā)環(huán)境安裝1

安裝Anaconda步驟10:不選擇“LaunchAnacondaNavigator”和“GettingStartedwithAnacondaDistribution”選項,點擊“Finish”按鈕,完成安裝。機器學習開發(fā)環(huán)境安裝1

安裝Anaconda步驟11:右鍵點擊“我的電腦”,選擇屬性,選擇高級系統(tǒng)設置,點擊“環(huán)境變量”選項。機器學習開發(fā)環(huán)境安裝1

安裝Anaconda步驟12:選擇系統(tǒng)變量里的“PATH”,點擊編輯。機器學習開發(fā)環(huán)境安裝1

安裝Anaconda步驟13:點擊新建按鈕,添加3個Anaconda路徑(%Anaconda安裝路徑%,%Anaconda安裝路徑%\Scripts,%Anaconda安裝路徑%\Library\bin)。2

安裝JupyterLabJupyterLab是Jupyter的一個拓展,但JupyterLab提供了更好的用戶體驗。JupyterNotebookJupyterLab交互式模式編程1個瀏覽器窗口打開一個文件單元格(Cell)組織代碼和文本支持Python、Julia、R擴展性較弱機器學習開發(fā)環(huán)境安裝功能最豐富的版本;增加了1個瀏覽器窗口打開多個文件集成控制臺、終端和其他的工具集連接GoogleDriver服務管理第三方插件機器學習開發(fā)環(huán)境安裝2安裝JupyterLab步驟1:打開Anaconda3->AnacondaPrompt。機器學習開發(fā)環(huán)境安裝2安裝JupyterLab步驟2:升級pip到最新版本。步驟3:創(chuàng)建Conda開發(fā)環(huán)境(比如jupyterlab)。步驟4:激活Conda開發(fā)環(huán)境。機器學習開發(fā)環(huán)境安裝2安裝JupyterLab步驟5:安裝JupyterLab庫。機器學習開發(fā)環(huán)境安裝3

安裝機器學習庫步驟1:安裝Scikit-learn庫。Scikit-learnScikit-learn(以前稱為Scikits.learn,也稱為Sklearn)是針對Python編程語言的免費軟件機器學習庫。它具有各種分類,回歸和聚類算法,包括K-最近鄰、回歸、貝葉斯、支持向量機,K-均值等。Scikit-learn基于Numpy和SciPy等Python數(shù)值計算庫,提供了高效的算法實現(xiàn),官方文檔齊全,更新及時,具有接口易用、算法全面等優(yōu)點。機器學習開發(fā)環(huán)境安裝3

安裝機器學習庫步驟2:安裝Pandas庫。PandasPandas是“Pythondataanalysis”的簡寫,衍生自計量經濟學術語“paneldata”。Pandas的主要數(shù)據(jù)結構是Series(一維數(shù)據(jù))與DataFrame(二維數(shù)據(jù))。DataFrame是Series的容器,Series則是標量的容器。使用這種方式,可以在容器中以字典的形式插入或刪除對象?;谶@2種數(shù)據(jù)結構,Pandas適用于處理以下類型的數(shù)據(jù):1)與SQL或Excel表類似的,含異構列的表格數(shù)據(jù)。2)有序和無序(非固定頻率)的時間序列數(shù)據(jù)。3)帶行列標簽的矩陣數(shù)據(jù),包括同構或異構型數(shù)據(jù)。4)任意其它形式的觀測、統(tǒng)計數(shù)據(jù)集。機器學習開發(fā)環(huán)境安裝3

安裝機器學習庫步驟3:安裝Matplotlib庫。MatplotlibMatplotlib是一個Python的繪圖庫,使用該工具可以將數(shù)據(jù)通過圖表的形式更直觀的呈現(xiàn)出來。通過Matplotlib,開發(fā)者僅需要幾行代碼,便可以生成線圖、散點圖、高線圖、條形圖、柱狀圖、3D圖形、甚至是圖形動畫等。機器學習開發(fā)環(huán)境安裝3

安裝機器學習庫步驟4:安裝Seaborn庫。SeabornSeaborn是基于Matplotlib的圖形可視化Python包。它提供了一種高度交互式界面,便于用戶做出各種有吸引力的統(tǒng)計圖表。Seaborn是Matplotlib的補充。它在Matplotlib的基礎上進行了更高級的API封裝,從而使得作圖更加容易,并且在大多數(shù)情況下Seaborn能做出很具有吸引力的圖。同時它支持Numpy與Pandas數(shù)據(jù)結構,并兼容SciPy與Statsmodels等統(tǒng)計相關的庫。機器學習開發(fā)環(huán)境安裝3

安裝機器學習庫步驟5:安裝Jieba庫。JiebaJieba是優(yōu)秀的中文分詞第三方庫。它可以進行簡單分詞、并行分詞和命令行分詞,還支持關鍵詞提取、詞性標注、詞位置查詢等功能。由于中文文本之間每個漢字都是連續(xù)書寫的,自然語言處理(NaturalLanguageProcessing,NLP)需要通過特定的手段來獲得其中的每個詞組,這種手段叫做分詞。Jieba庫就是一款優(yōu)秀的Python第三方中文分詞庫。此外,雖然它立足于Python,但同樣支持其他語言和平臺,諸如:C++、Go、R、Rust、Node.js、PHP、iOS、Android等。目前Jieba是最好的中文分詞組件之一。機器學習開發(fā)環(huán)境安裝3

安裝機器學習庫步驟6:安裝PyTorch庫。PytorchPyTorch是一種用于構建深度學習模型的功能完備框架,是一種通常用于圖像識別和語言處理等應用程序的機器學習庫。它完全支持GPU,并且使用反向模式自動微分技術,因此可以動態(tài)修改計算圖形。這使其成為快速實驗和原型設計的常用選擇。PyTorch是FacebookAIResearch和其他幾個實驗室團隊的工作成果。該框架將Torch中高效而靈活的GPU加速后端庫與直觀的Python前端相結合,支持盡可能廣泛的深度學習模型。PyTorch支持開發(fā)者使用熟悉的命令式編程方法,但仍可以輸出到圖形。它于2017年以開源形式發(fā)布,其Python根源使其深受機器學習開發(fā)者的喜愛。JupyterLab環(huán)境編程1

進入Jupyter環(huán)境步驟1:轉換到機器學習開發(fā)環(huán)境(比如juptyerlab)。步驟2:切換到工作目錄。步驟3:啟動JupyterLab。JupyterLab環(huán)境編程2

編寫程序步驟1:單擊“Python3(ipykernel)”圖標,新建一個Notebook。JupyterLab環(huán)境編程2

編寫程序步驟2:手工選擇單元類型“Markdown”,定義Markdown。這里的Markdown的作用類似于Python文件中的注釋,解釋下面代碼的作用。步驟3:定義Code。依賴庫導入importpandasaspdfromsklearnimportneighborsJupyterLab環(huán)境編程2

編寫程序步驟4:定義Markdown。步驟5:定義Code。步驟6:定義Markdown。從文件讀入數(shù)據(jù)到DataFrame對象url=“../data/film_stats.csv”data=pd.read_csv(url,header=0)查看頭5條記錄JupyterLab環(huán)境編程2

編寫程序步驟7:定義Code。步驟8:定義Markdown。步驟9:定義Code。data.head()轉換特征X和標簽yX=data.iloc[:,0:2].valuesy=data.iloc[:,-1].valuesJupyterLab環(huán)境編程2

編寫程序步驟10:定義Markdown。步驟11:定義Code。步驟12:定義Markdown。創(chuàng)建K-最近鄰模型clf=neighbors.KNeighborsClassifier(3)訓練模型JupyterLab環(huán)境編程2

編寫程序步驟13:定義Code。步驟14:定義Markdown。步驟15:定義Code。clf=clf.fit(X,y)預測新數(shù)據(jù)的標簽clf.predict([[18,20]])JupyterLab環(huán)境編程3

保存及運行程序步驟1:單擊“Save”按鈕,定義文件名字,然后單擊“Rename”按鈕,保存Notebook文件。JupyterLab環(huán)境編程3

保存及運行程序步驟2:選擇Run->RunAllCells,最后一個Code單元輸出樣本[18,20]的預測結果。從上面的運行結果看出,樣本[18,20]的預測標簽為0。注意輸入是一個2維矩陣,每行對應1個樣本,行的列代表樣本的特征。輸出也是一個列表,元素順序對應行的順序。JupyterLab代碼調試程序調試是程序員主要工作之一,找到出錯的位置和原因有時候并不容易。例如,步驟8中索引“-1”錯誤的寫成“1”:那么最后一行Code單元的運行結果是:輸出的標簽既不是0也不是1,不在標簽的取值范圍。在JupyterLab環(huán)境中,遇到運行錯誤時,開發(fā)者需要找到錯誤發(fā)生的位置以及原因。JupyterLab代碼調試1

打印變量值找到相關變量的引用位置,輸出變量值。比如輸出變量y的值。修改索引后,輸出合法的預測值。從輸出結果看出,變量y的值不合法。JupyterLab代碼調試2

JupyterLabDebugger調試步驟1:打開Debugger開關。JupyterLab代碼調試2

JupyterLabDebugger調試Debugger開關打開后,右邊側邊欄有變量列表,可以查看變量值。JupyterLab代碼調試2

JupyterLabDebugger調試步驟2:在相關變量引用位置的周圍設置斷點。比如在第5個Cell設置斷點。需要提醒的是,斷點只能設置在Code單元,不能設置在Markdown單元。JupyterLab代碼調試2

JupyterLabDebugger調試步驟3:選擇Run->RunAllCells,程序運行到設置斷點的位置。JupyterLab代碼調試2

JupyterLabDebugger調試步驟4:在VARIABLES視圖選中變量y,點擊鼠標右鍵選擇“RenderVariable”菜單,顯示變量y的值。JupyterLab代碼調試2

JupyterLabDebugger調試步驟4輸出結果:JupyterLab代碼調試2

JupyterLabDebugger調試從變量y的值就可以看出錯誤原因,單擊停止按鈕,結束程序運行。JupyterLab代碼調試2

JupyterLabDebugger調試步驟5:糾正錯誤的代碼,刪除斷點。步驟6:重新選擇Run->RunAllCells,輸出正確的結果。Markdown目錄制作Markdown是一種可以使用普通文本編輯器編寫的標記語言,通過簡單的標記語法,它可以使普通文本內容具有一定的格式。它由JohnGruber于2004年創(chuàng)建,如今已成為世界上最受歡迎的標記語言之一。Markdown語言支持標題、段落、列表、區(qū)塊、代碼、鏈接、圖片、表格等標記,目標是成為一種適用于網(wǎng)絡的書寫語言。JupyterLab支持Markdown文件,編寫的Markdown文件后綴為.md。下面以Markdown制作目錄為例,介紹Markdown文件的使用過程。Markdown目錄制作步驟1:新建一個MarkdownFile。Markdown目錄制作步驟2:編輯Markdown文件。行首插入1到3個#,對應到標題1到3階。Markdown目錄制作步驟3:單擊“ShowMarkdownPreview”菜單,瀏覽Markdown文件的輸出格式。Markdown目錄制作在源代碼窗口的右側出現(xiàn)瀏覽窗口。小結Conda環(huán)境中使用pip工具安裝JupyterLab機器學習開發(fā)環(huán)境。Jupyter注釋(Markdown)、代碼、運行結果在一個窗口顯示。JupyterLab程序調試可以通過打印輸出方式,也可以使用自身的Debugger工具。md格式的文件支持Markdown語法,輸出類似HTML的豐富顯示效果。習題二一選擇題1.Anaconda指的是一個開源的Python發(fā)行版本,不包含()。A.Conda B.Python C.Numpy D.Scikit-learn2.JupyterLab是()的一個拓展,提供了更好的用戶體驗。A.Lab B.Jupyter C.Python D.Numpy3.下面說法正確的是()。A.Jupyter代碼和運行結果顯示在不同區(qū)域。B.Jupyter代碼和運行結果顯示在相同區(qū)域。C.JupyterDebugger設置斷點在程序的任何位置。D.md文件和Word都是所見即所得。習題一一選擇題4.JupyterLab編寫的Markdown文件后綴為()。A..doc B..markdown C..md D..docx。5.JupyterLab不支持()。A.編寫Notebook。B.操作終端。C.編輯Markdown文本。D.Word。習題一二填空題1.PyTorch是一種用于構建()模型的功能完備框架,是一種通常用于圖像識別和語言處理等應用程序的機器學習庫。2.JupyterDebugger通過()方式調試代碼,可以設置斷點、查看變量信息等。3.Markdown語言支持()、段落、列表、區(qū)塊、代碼、鏈接、圖片、表格等格式。習題一三

操作題在自己的個人電腦上安裝機器學習開發(fā)環(huán)境,編寫和運行2.2節(jié)的first_notebook程序。數(shù)據(jù)觀察數(shù)據(jù)轉換KNN模型訓練模型保存KNN模型預測參考書目《機器學習技術任務驅動式教程》基于K-最近鄰的分類預測模塊3機器學習技術目錄電影類型預測鳶尾花種類預測葡萄酒品種預測小結習題三基于K-最近鄰的分類預測模塊3機器學習技術數(shù)據(jù)集film.csv記錄6部電影的肢體沖突鏡頭數(shù)、擁抱鏡頭數(shù),以及電影評估類型。詳細的字段描述見下表。1.1任務描述1電影類型預測有一部未看過的電影【肢體沖突鏡頭=18、擁抱鏡頭=90】,預測該電影是愛情片還是動作片。任務目標字段字段類型允許為空標簽?例子電影名稱string否否CaliforniaMan肢體沖突鏡頭Int否否3擁抱鏡頭int否否81影片類型int否是{1:愛情片,0:動作片}1電影類型預測1.2

任務分解import方式引入依賴的模塊檢查樣本分布、特征/標簽類型、空值、重復行、屬性相互關系可視化樣本的空間分布、待測試樣本和訓練樣本的空間關系依賴庫導入數(shù)據(jù)探查數(shù)據(jù)可視化從探查數(shù)據(jù)內容開始,經過分析數(shù)據(jù)分布,使用KNN模型找到標簽和數(shù)據(jù)特征之間的關系,然后利用KNN模型預測未看過的電影。1電影類型預測1.2

任務分解轉換Pandas類型到Numpy類型在已知樣本上訓練KNN模型用訓練的模型預測電影【肢體沖突鏡頭=18、擁抱鏡頭為90】的類型數(shù)據(jù)轉換模型訓練預測接上1電影類型預測1.3

任務實施使用Python編程時,沒必要實現(xiàn)所有的功能,可以借助Python自身的標準庫或者其他人提供的第三方庫。比如,本任務會使用到KNeighborsClassifier類,它位于sklearn.neighbors模塊中,只需要將此模塊導入到Jupyter程序中,就可以調用此函數(shù)。fromsklearn.neighborsimportKNeighborsClassifier1電影類型預測1.3

任務實施1.3.1依賴庫導入步驟1:定義2級標題。##<fontcolor="black">依賴庫導入</font>按“SHIFT+Enter”,運行結果如下:1電影類型預測1.3

任務實施步驟2:導入依賴庫。importpandasaspdimportmatplotlib.pyplotaspltimportmatplotlibasmplfromsklearn.neighborsimportKNeighborsClassifier按“SHIFT+Enter”,檢查輸出無異常。1電影類型預測1.3

任務實施1.3.2數(shù)據(jù)探查文件讀入DataFrame對象后,需要觀察不同標簽的數(shù)據(jù)特征。步驟1:定義2級標題。##<fontcolor="black">數(shù)據(jù)探查</font>按“SHIFT+Enter”,運行結果如下:1電影類型預測1.3

任務實施步驟2:對齊列名和數(shù)據(jù)。pd.set_option('display.unicode.ambiguous_as_wide',True)pd.set_option('display.unicode.east_asian_width',True)按“SHIFT+Enter”,檢查輸出無異常。1電影類型預測1.3

任務實施步驟3:讀入數(shù)據(jù)集文件到DataFrame對象。url=“../data/film.csv”df=pd.read_csv(url,names=[“電影名稱”,“電影類型”,“肢體沖突鏡頭”,“擁抱鏡頭"])按“SHIFT+Enter”,檢查輸出無異常。1.3

CSVCSV(逗號分隔值文件格式)逗號分隔值(Comma-SeparatedValues,CSV,有時也稱為字符分隔值,因為分隔字符也可以不是逗號)文件以純文本形式存儲表格數(shù)據(jù)(數(shù)字和文本)。CSV文件由任意數(shù)目的記錄組成,記錄間以某種換行符分隔;每條記錄由字段組成,字段間的分隔符是其它字符或字符串,最常見的是逗號或制表符。建議使用EXCEL或Notepad打開和保存CSV文件。1電影類型預測1.3

任務實施步驟4:顯示愛情片樣本。print("愛情片數(shù)據(jù):\n",df[df["電影類型"]==1])按“SHIFT+Enter”,運行結果如下:1電影類型預測1.3

任務實施步驟5:顯示動作片樣本。print("動作片數(shù)據(jù):\n",df[df["電影類型"]==0])按“SHIFT+Enter”,運行結果如下:1電影類型預測1.3

任務實施1.3.3數(shù)據(jù)可視化在3個特征中,“電影名稱”內容是文本,無法映射到枚舉類型,因而不予考慮,只需要觀察“肢體沖突鏡頭”、“擁抱鏡頭”2個特征與標簽“電影類型”的關系。步驟1:定義2級標題。##<fontcolor="black">數(shù)據(jù)可視化</font>按“SHIFT+Enter”,運行結果如下:1電影類型預測1.3

任務實施步驟2:Matplotlib支持中文字符。mpl.rcParams['font.sans-serif']=['SimHei']mpl.rcParams['axes.unicode_minus']=False按“SHIFT+Enter”,檢查輸出無異常1電影類型預測1.3

任務實施步驟3:圖形化訓練樣本和待測樣本的空間分布。testdata=[18,90]#測試樣本plt.figure(figsize=(4,4),dpi=80)plt.scatter(df[‘肢體沖突鏡頭’][0:3],df[‘擁抱鏡頭'][0:3],marker='o',color='g',s=70,label='愛情片')plt.scatter(df[‘肢體沖突鏡頭’][3:6],df[‘擁抱鏡頭'][3:6],marker='o',color='w',edgecolors='g',s=70,label='動作片')1電影類型預測1.3

任務實施plt.scatter(testdata[:1],testdata[1:],marker='.',color='b',s=120,label='未知樣本')plt.text(testdata[:1][0]+8,testdata[1:][0]+3,"k=3")plt.arrow(testdata[:1][0]+1,testdata[1:][0]+1,14,14,width=0.1,fc="b",head_width=1.5)draw_circle=plt.Circle((testdata[:1],testdata[1:]),24,fill=False,color='g')接上1電影類型預測1.3

任務實施plt.gcf().gca().add_artist(draw_circle)plt.xlabel(‘肢體沖突鏡頭')plt.ylabel(‘擁抱鏡頭')plt.legend(loc=1)plt.xlim(-20,120)plt.ylim(-20,120)接上1電影類型預測1.3

任務實施運行結果如下:從左圖看出,如果根據(jù)最近3個鄰居的標簽判斷未知樣本的標簽,那么可以預測未知樣本的電影類型是愛情片,這就是K-最近鄰算法的核心思想。K-最近鄰K-最近鄰(K-nearestneighbor,KNN)的核心思想:假若一個特征空間中大多數(shù)的樣本屬于某一個類別,則在這個特征空間中,K個最相似的樣本也屬于這個類別。該模型可用于待分樣本所屬的類別判定或簡單回歸模型的計算,其核心關注點為測試點個數(shù)(K)與距離計算模型的確定。Sklearn庫的KneighborsClassifier類實現(xiàn)了KNN模型,定義如下:特別注意的是,參數(shù)n_neighbors會對分類性能有較大影響,往往需要多次實驗找到最優(yōu)值或次優(yōu)值。1電影類型預測1.3

任務實施1.3.4數(shù)據(jù)轉換步驟1:定義2級標題。##<fontcolor="black">數(shù)據(jù)轉換</font>按“SHIFT+Enter”,運行結果如下:1電影類型預測1.3

任務實施步驟2:轉換特征和標簽到Numpy類型。X=df[[“肢體沖突鏡頭”,“擁抱鏡頭"]].valuesy=df["電影類型"].values按“SHIFT+Enter”,檢查輸出無異常1電影類型預測1.3

任務實施1.3.5模型訓練構建KNN模型后,在特征X和標簽y上訓練。步驟1:定義2級標題。##<fontcolor="black">模型訓練</font>按“SHIFT+Enter”,運行結果如下:1電影類型預測1.3

任務實施步驟2:建立KNN模型。knn_model=KNeighborsClassifier(n_neighbors=3)按“SHIFT+Enter”,輸出無異常步驟3:訓練KNN模型。knn_model.fit(X,y)按“SHIFT+Enter”,輸出無異常1電影類型預測1.3

任務實施1.3.6預測基于訓練好的KNN模型,預測樣本【肢體沖突鏡頭=18,擁抱鏡頭=90】的電影類型。步驟1:定義2級標題。##<fontcolor="black">預測</font>按“SHIFT+Enter”,運行結果如下:1電影類型預測1.3

任務實施步驟2:定義索引對應標簽值的標簽列表。label_names=["動作片","愛情片"]步驟3:預測未知樣本的標簽索引。y_pred=knn_model.predict([testdata])1電影類型預測1.3

任務實施步驟4:打印標簽值。label_names[y_pred[0]]按“SHIFT+Enter”,運行結果如下:數(shù)據(jù)集iris.csv源于UCI平臺,由Fisher在1936年收集整理,由3種不同類型的鳶尾花的50條樣本構成。2.1任務描述2

鳶尾花種類預測每行數(shù)據(jù)包含4個特征:Sepal.Length(花萼長度)、Sepal.Width(花萼寬度)、Petal.Length(花瓣長度)和Petal.Width(花瓣寬度),單位是cm;以及3個種類:IrisSetosa(山鳶尾)、IrisVersicolour(雜色鳶尾)和IrisVirginica(維吉尼亞鳶尾)。詳細的字段描述見下表。2.1任務描述2

鳶尾花種類預測1)建立KNN分類模型并評估精度。2)預測鳶尾花樣本【花萼長度=5.2,花萼寬度=2.6,花瓣長度=3.8,花瓣寬度=1.3】的種類。任務目標字段字段類型允許為空標簽?例子花萼長度float否否6.4花萼寬度float否否2.8花瓣長度float否否5.6花瓣寬度float否否2.2種類int否是{0:Setosa,1:Versicolor,2:Virginica}注:第一行不是列標題,也不是樣本,讀入時跳過2

鳶尾花種類預測2.2

任務分解import方式引入依賴的模塊檢查樣本分布、特征/標簽類型、空值、重復行、屬性相互關系箱型圖可視化樣本的空間分布依賴庫導入數(shù)據(jù)探查數(shù)據(jù)可視化觀察數(shù)據(jù)后,按照訓練集和驗證集4:1比例切分數(shù)據(jù)集,然后保存訓練好的KNN模型到硬盤,使用模型預測未知樣本的標簽。2

鳶尾花種類預測2.2

任務分解轉換Pandas類型到Numpy類型,轉換特征到(0,1)正態(tài)分布在訓練集上訓練KNN模型,并在驗證集上評估模型精度用訓練的模型預測標簽未知的樣本數(shù)據(jù)轉換模型訓練預測接上模型持久化模型保存到硬盤以待將來使用2

鳶尾花種類預測2.3

任務實施2.3.1依賴庫導入步驟1:定義2級標題。##<fontcolor="black">依賴庫導入</font>按“SHIFT+Enter”,運行結果如下:2

鳶尾花種類預測2.3

任務實施步驟2:導入依賴庫。importpandasaspdimportmatplotlib.pyplotaspltimportmatplotlibasmplfromsklearnimportneighborsfromsklearnimportmodel_selectionfromsklearnimportpreprocessingimportjoblibimportnumpyasnp2

鳶尾花種類預測2.3

任務實施2.3.2數(shù)據(jù)探查步驟1:定義2級標題。##<fontcolor="black">數(shù)據(jù)探查</font>按“SHIFT+Enter”,運行結果如下:2

鳶尾花種類預測2.3

任務實施步驟2:讀入數(shù)據(jù)集文件到DataFrame對象。names=['花萼長度','花萼寬度','花瓣長度','花瓣寬度','鳶尾花類型']dataset=pd.read_csv("../data/iris.csv",names=names,skiprows=1)按“SHIFT+Enter”,檢查輸出無異常。2

鳶尾花種類預測2.3

任務實施步驟3:查看樣本特征的統(tǒng)計值。dataset.iloc[:,0:4].describe()按“SHIFT+Enter”,運行結果如下:從特征統(tǒng)計值看出,“花萼長度”和“花瓣寬度”的取值范圍與其他2個特征有著不同的取值范圍和方差。DataFrame.describe()2

鳶尾花種類預測2.3

任務實施2.3.3數(shù)據(jù)可視化步驟1:定義2級標題。##<fontcolor="black">數(shù)據(jù)可視化</font>按“SHIFT+Enter”,運行結果如下:2

鳶尾花種類預測2.3

任務實施步驟2:Matplotlib支持中文字符。mpl.rcParams['font.sans-serif']=['SimHei']mpl.rcParams['axes.unicode_minus']=False按“SHIFT+Enter”,檢查輸出無異常。2

鳶尾花種類預測2.3

任務實施步驟3:箱型圖顯示特征數(shù)據(jù)分布。dataset.iloc[:,0:4].plot(kind='box',subplots=True,layout=(4,4),sharex=False,sharey=False)按“SHIFT+Enter”,運行結果如下:四個特征有著不同的中心值,方差也不相同,需要通過數(shù)據(jù)轉換映射特征到相同的數(shù)據(jù)分布。箱線圖箱線圖是一種基于五位數(shù)摘要(LW(最小值),下四分位數(shù)(Q1),中位數(shù)(Q2),上四分位數(shù)(Q3)和最大值(UW))顯示數(shù)據(jù)分布的標準化方法。例如,有列表(1,3,5,6,10,19)的箱型圖。2

鳶尾花種類預測2.3

任務實施2.3.4數(shù)據(jù)轉換步驟1:定義2級標題。##<fontcolor="black">數(shù)據(jù)轉換</font>按“SHIFT+Enter”,運行結果如下:2

鳶尾花種類預測2.3

任務實施步驟2:從DataFrame對象中抽取特征和標簽。X=dataset.iloc[:,0:4].valuesy=dataset.iloc[:,4].values按“SHIFT+Enter”,檢查輸出無異常。2

鳶尾花種類預測2.3

任務實施步驟3:縮放特征服從正態(tài)分布。scaler=preprocessing.StandardScaler()norm_X=scaler.fit_transform(X)norm_X[0:5,...]按“SHIFT+Enter”,運行結果如下:從轉換后的數(shù)據(jù)來看,每個特征已經服從(0,1)正態(tài)分布。StandardScalerK-最近鄰需要計算樣本之間的距離。如果一個特征值域范圍非常大,那么距離計算就主要取決于這個特征,從而與實際情況相悖(比如這時實際情況是值域范圍小的特征更重要)。StandardScaler類具有歸一化功能,定義如下:classsklearn.preprocessing.StandardScaler(copy,**kargs)參數(shù)copy:bool,默認值True

如果False,直接特征縮放2

鳶尾花種類預測2.3

任務實施步驟4:切分出訓練集和驗證集。X_train,X_val,y_train,y_val=model_selection.train_test_split(norm_X,y,random_state=4,test_size=0.2)f'訓練集樣本個數(shù):{len(X_train)}',f'驗證集樣本個數(shù):{len(X_val)}'按“SHIFT+Enter”,運行結果如下:訓練集、驗證集、測試集、超參數(shù)訓練集、驗證集、測試集、超參數(shù)為了建立機器學習模型并知道模型性能,數(shù)據(jù)集可以分為三部分:訓練集、驗證集、測試集。訓練集(trainset):用于訓練機器學習模型。驗證集(validationset):驗證模型性能以調整超參數(shù)。測試集(testset):驗證模型在未標注數(shù)據(jù)上的性能。超參數(shù)(hyperparameters):根據(jù)經驗進行設定的參數(shù),如KneighborsClassifier中的n_neighbors。2

鳶尾花種類預測2.3

任務實施2.3.5模型訓練步驟1:定義2級標題。##<fontcolor="black">模型訓練</font>按“SHIFT+Enter”,運行結果如下:2鳶尾花種類預測2.3

任務實施步驟2:建立KNN模型。knn_model=neighbors.KNeighborsClassifier(n_neighbors=5)按“SHIFT+Enter”,檢查輸出無異常。步驟3:訓練KNN模型。knn_model.fit(X_train,y_train)按“SHIFT+Enter”,檢查輸出無異常。2

鳶尾花種類預測2.3

任務實施步驟4:在驗證集上評估模型。acc=knn_model.score(X_val,y_val)f"模型評估準確率:{acc:0.4f}"按“SHIFT+Enter”,運行結果如下:2

鳶尾花種類預測2.3

任務實施2.3.6模型持久化許多大型模型訓練往往需要花費大量時間,每次使用模型前重新訓練并不現(xiàn)實。在實際應用中,經常把訓練好的模型保存到文件中,使用時再加載內存。步驟1:定義2級標題。##<fontcolor="black">模型持久化</font>按“SHIFT+Enter”,運行結果如下:2鳶尾花種類預測2.3

任務實施步驟2:保存模型到硬盤。joblib.dump(scaler,'iris_scaler.pkl')joblib.dump(knn_model,'iris_knn.pkl')按“SHIFT+Enter”,檢查輸出無異常。檢查當前目錄,可以發(fā)現(xiàn)多了2個文件:iris_scaler.pkl包含特征的統(tǒng)計值,iris_knn.pkl保存了KNN模型結構和參數(shù)。2鳶尾花種類預測2.3

任務實施步驟3:從硬盤加載模型到內存。scaler=joblib.load('iris_scaler.pkl')knn_model=joblib.load('iris_knn.pkl')按“SHIFT+Enter”,檢查輸出無異常。步驟3不是必須的,只是為了演示持久化的模型加載到內存的過程。2

鳶尾花種類預測2.3

任務實施2.3.7預測步驟1:定義2級標題。#<fontcolor="black">測試</font>按“SHIFT+Enter”,運行結果如下:2鳶尾花種類預測2.3

任務實施步驟2:按照索引值定義標簽列表。label_names=["iris-setosa","iris-versicolour","iris-virginica"]按“SHIFT+Enter”,檢查輸出無異常。步驟3:構建測試樣本。test_data=np.array([[5.2,2.6,3.8,1.3]])按“SHIFT+Enter”,檢查輸出無異常。2鳶尾花種類預測2.3

任務實施步驟4:轉換測試樣本。norm_test_data=scaler.transform(test_data)按“SHIFT+Enter”,檢查輸出無異常。步驟5:在KNN模型上預測。y_pred=knn_model.predict(norm_test_data)[0]按“SHIFT+Enter”,檢查輸出無異常。2

鳶尾花種類預測2.3

任務實施步驟6:打印預測鳶尾花品種。label_names[y_pred]按“SHIFT+Enter”,運行結果如下:數(shù)據(jù)集wine.data來自UCIIrvine機器學習庫,共有178行、14列。3.1任務描述3葡萄酒品種預測第一列為類別標簽,用1,2,3表示三種不同類別,其中第1行至第59行為第一類,類別標簽為1,第60行至第130行為第二類,標簽為2,第131行至第178行為第三類,標簽為3,第2列至第14列為13個成分的含量信息。詳細的字段描述見下表。3.1任務描述3葡萄酒品種預測字段字段類型允許為空標簽?例子target(品種標簽)int否是[1,2,3]alcohol(酒精)float否否12.37malic_acid(蘋果酸)float否否1.63ash(灰分)float否否2.3alcalinity_of_ash(灰分的堿性)float否否24.5magnesium(鎂)int否否88total_phenols(苯酚總量)float否否2.22flavanoids(黃酮類物質)float否否2.45nonflavanoid_phenols(非黃酮類酚)float否否0.4proanthocyanins(原花青素)float否否1.9color_intensity(顏色強度)float否否2.12hue(色度)float否否0.89od280/od315_of_diluted_wines(稀釋酒蛋白質濃度的光譜度)float否否2.78proline(脯氨酸)int否否3423.1任務描述3葡萄酒品種預測1)建立KNN分類模型并評估精度。2)預測葡萄酒樣本【alcohol=13.17,malic_acid=2.58,ash=2.37,alcalinity_of_ash=20,magnesium=120,total_phenols=1.63,flavanoids=0.67,nonflavanoid_phenols=0.53,proanthocyanins=1.46,color_intensity=9.3,hue=0.6,od280/od315_of_diluted_wines=1.62,proline=840】的品種。任務目標3葡萄酒品種預測3.2

任務分解import方式引入依賴的模塊檢查樣本分布、特征/標簽類型、空值、重復行、屬性相互關系箱型圖可視化特征的空間分布依賴庫導入數(shù)據(jù)探查數(shù)據(jù)可視化觀察數(shù)據(jù)后,按照訓練集和驗證集4:1比例切分數(shù)據(jù)集,然后保存訓練好的KNN模型到硬盤,使用模型預測未知樣本的標簽。3葡萄酒品種預測3.2

任務分解轉換Pandas類型到Numpy類型,轉換特征到(0,1)正態(tài)分布在訓練集上訓練KNN模型,并在驗證集上評估模型精度用訓練的模型預測標簽未知的樣本數(shù)據(jù)轉換模型訓練預測接上模型持久化模型保存到硬盤以待將來使用3葡萄酒品種預測3.3

任務實施3.3.1依賴庫導入步驟1:定義2級標題。##<fontcolor="black">依賴庫導入</font>按“SHIFT+Enter”,運行結果如下:3葡萄酒品種預測3.3

任務實施步驟2:導入依賴庫。importpandasaspdimportmatplotlib.pyplotaspltimportmatplotlibasmplfromsklearnimportneighborsfromsklearnimportmodel_selectionfromsklearnimportpreprocessingimportjoblibimportnumpyasnp3鳶尾花種類預測3.3

任務實施3.3.2數(shù)據(jù)探查步驟1:定義2級標題。##<fontcolor="black">數(shù)據(jù)探查</font>按“SHIFT+Enter”,運行結果如下:3葡萄酒品種預測3.3

任務實施步驟2:讀入數(shù)據(jù)集文件到DataFrame對象。dataset=pd.read_csv("../data/wine.data")按“SHIFT+Enter”,檢查輸出無異常。步驟3:讀查看不同品種的樣本數(shù)。f"1類酒的樣本數(shù):{len(dataset[dataset.iloc[:,0]==1])},\2類酒的樣本數(shù):{len(dataset[dataset.iloc[:,0]==2])},\3類酒的樣本數(shù):{len(dataset[dataset.iloc[:,0]==3])}"3葡萄酒品種預測3.3

任務實施運行結果如下:步驟4:查看樣本特征的統(tǒng)計值。dataset.iloc[:,1:14].describe()運行結果如下:“alcohol”、“alcalinity_of_ash”和“magnesium”的取值范圍與其它特征的取值范圍顯著不同。3鳶尾花種類預測3.3

任務實施3.3.2數(shù)據(jù)可視化步驟1:定義2級標題。#<fontcolor="black">數(shù)據(jù)可視化</font>按“SHIFT+Enter”,運行結果如下:3葡萄酒品種預測3.3

任務實施步驟2:DataFrame.plot一次顯示所有特征的箱型圖。boxplot=dataset.iloc[:,1:14].plot(kind='box',subplots=True,layout=(4,4),sharex=False,sharey=False)運行結果如下:子圖標題有遮擋,調用subplots_adjust方法調整子圖的水平和垂直間距。3葡萄酒品種預測3.3

任務實施步驟3:手工添加子圖,調用boxplot方法在每個子圖窗口顯示特征的箱型圖。fig=plt.figure()fig.subplots_adjust(hspace=0.5,wspace=0.8)#加大子圖水平和垂直間距foriinrange(4):

forjinrange(4):

col_index=i*4+j+1

ifcol_index==14:

break3葡萄酒品種預測3.3

任務實施運行結果如下: #和if左對齊 ax=fig.add_subplot(4,4,col_index) att_value=dataset.iloc[:,col_index].values#數(shù)據(jù)序列 att_label=dataset.iloc[:,col_index].name#列標題 ax.boxplot(att_value,labels=[att_label])接上3葡萄酒品種預測3.3

任務實施13個特征有著不同的中心值,方差也不相同,需要通過數(shù)據(jù)轉換方法映射特征到相同的數(shù)據(jù)分布。3鳶尾花種類預測3.3

任務實施3.3.3數(shù)據(jù)轉換步驟1:定義2級標題。#<fontcolor="black">數(shù)據(jù)轉換</font>按“SHIFT+Enter”,運行結果如下:3葡萄酒品種預測3.3

任務實施步驟2:從DataFrame對象中抽取特征和標簽。X=dataset.iloc[:,1:14].valuesy=dataset.iloc[:,0].values按“SHIFT+Enter”,輸出無異常。步驟3:縮放特征服從正態(tài)分布。scaler=preprocessing.StandardScaler()norm_X=scaler.fit_transform(X)norm_X[0:5,...]3葡萄酒品種預測3.3

任務實施運行結果如下:從轉換后的數(shù)據(jù)來看,特征已經服從(0,1)正態(tài)分布。3葡萄酒品種預測3.3

任務實施步驟4:分割數(shù)據(jù)集,分成訓練集和驗證集(驗證集占比0.2)。X_train,X_val,y_train,y_val=model_selection.train_test_split(norm_X,y,random_state=4,test_size=0.2)print('訓練集樣本的個數(shù):',len(X_train))print('測試集樣本的個數(shù):',len(X_val))按“SHIFT+Enter”,運行結果如下:3.3

任務實施3.3.5模型訓練步驟1:定義2級標題。##<fontcolor="black">模型訓練</font>按“SHIFT+Enter”,運行結果如下:3葡萄酒品種預測3.3

任務實施步驟2:建立KNN模型。knn_model=neighbors.KNeighborsClassifier(n_neighbors=5)按“SHIFT+Enter”,檢查輸出無異常步驟3:訓練KNN模型。knn_model.fit(X_train,y_train)按“SHIFT+Enter”,檢查輸出無異常3葡萄酒品種預測3.3

任務實施步驟4:在驗證集上評估模型。acc=knn_model.score(X_val,y_val)f"模型評估準確率:{acc:0.4f}"按“SHIFT+Enter”,運行結果如下:3葡萄酒品種預測3.3

任務實施3.3.6模型持久化步驟1:定義2級標題。##<fontcolor="black">模型持久化</font>按“SHIFT+Enter”,運行結果如下:3葡萄酒品種預測3.3

任務實施步驟2:保存模型到硬盤。scaler=joblib.load('wine_scaler.pkl')knn_model=joblib.load('wine_knn.pkl')按“SHIFT+Enter”,檢查輸出無異常。檢查當前目錄,可以發(fā)現(xiàn)多了2個文件:wine_scaler.pkl包含特征的統(tǒng)計值,wine_knn.pkl保存了KNN模型結構和參數(shù)。3葡萄酒品種預測3.3

任務實施步驟3:從硬盤加載模型到內存。scaler=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論