小編寫這篇文章的主要目的,主要還是給大家講解python數(shù)學(xué)建模的相關(guān)介紹,包括數(shù)學(xué)建模的三大模型介紹,另外,還會涉及到一些常見的十大常用算法,就具體內(nèi)容,下面給大家詳細解答下。
前言
數(shù)學(xué)建模的介紹與作用
全國大學(xué)生數(shù)學(xué)建模競賽:
全國大學(xué)生數(shù)學(xué)建模競賽創(chuàng)辦于1992年,每年一屆,已成為全國高校規(guī)模最大的基礎(chǔ)性學(xué)科競賽,也是世界上規(guī)模最大的數(shù)學(xué)建模競賽。2018年,來自全國34個省/市/區(qū)(包括香港、澳門和臺灣)及美國和新加坡的1449所院校/校區(qū)、42128個隊(本科38573隊、專科3555隊)、超過12萬名大學(xué)生報名參加本項競賽。
競賽宗旨:創(chuàng)新意識團隊精神重在參與公平競爭
指導(dǎo)原則:擴大受益面,保證公平性,推動教學(xué)改革,提高競賽質(zhì)量,擴大國際交流,促進科學(xué)研究。
數(shù)學(xué)建模競賽的意義:
培養(yǎng)科學(xué)研究的能力培養(yǎng)通過研究學(xué)習(xí)新認識的能力培養(yǎng)團隊合作能力培養(yǎng)創(chuàng)新意識和創(chuàng)造能力訓(xùn)練快速獲取信息和資料的能力鍛煉快速了解和掌握新知識的技能培養(yǎng)團隊合作意識和團隊合作精神增強寫作技能和排版技術(shù)更重要的是訓(xùn)練人的邏輯思維和開放性思考方式
就業(yè):培養(yǎng)動手實踐經(jīng)驗
發(fā)展:科研潛力的最好證明
運用數(shù)學(xué)、計算機技術(shù)和問題背景學(xué)科等知識,解決極富挑戰(zhàn)性的實際問題。
中國大學(xué)生在線數(shù)學(xué)建模專題網(wǎng):http://dxs.moe.gov.cn/zx/qkt/sxjm/
美賽官網(wǎng):https://www.comap.com/
1三大模型與十大常用算法【簡介】
1-1三大模型
預(yù)測模型:神經(jīng)網(wǎng)絡(luò)預(yù)測、灰色預(yù)測、擬合插值預(yù)測(線性回歸)、時間序列預(yù)測、馬爾科夫鏈預(yù)測、微分方程預(yù)測、Logistic模型等等。應(yīng)用領(lǐng)域:人口預(yù)測、水資源污染增長預(yù)測、病毒蔓延預(yù)測、競賽獲勝概率
預(yù)測、月收入預(yù)測、銷量預(yù)測、經(jīng)濟發(fā)展情況預(yù)測等在工業(yè)、農(nóng)業(yè)、商業(yè)等經(jīng)濟領(lǐng)域,以及環(huán)境、社會和軍事等領(lǐng)域中都有廣泛的應(yīng)用。
優(yōu)化模型:規(guī)劃模型(目標規(guī)劃、線性規(guī)劃、非線性規(guī)劃、整數(shù)規(guī)劃、動態(tài)規(guī)劃)、圖論模型、排隊論模型、神經(jīng)網(wǎng)絡(luò)模型、現(xiàn)代優(yōu)化算法(遺傳算法、模擬退火算法、蟻群算法、禁忌搜索算法)等等。應(yīng)用領(lǐng)域:快遞員派送快遞的最短路徑問題、水資源調(diào)度優(yōu)化問題、高速路
口收費站問題、軍事行動避空偵察的時機和路線選擇、物流選址問題、商區(qū)布局規(guī)劃等各個領(lǐng)域。
評價模型:模糊綜合評價法、層次分析法、聚類分析法、主成分分析評價法、
灰色綜合評價法、人工神經(jīng)網(wǎng)絡(luò)評價法等等。應(yīng)用領(lǐng)域:某區(qū)域水資源評價、水利工程項目風(fēng)險評價、城市發(fā)展程度評價、足球教練評價、籃球隊評價、水生態(tài)評價、大壩安全評價、邊坡穩(wěn)定性評價
1-2十大常用算法
2 python數(shù)據(jù)分析之Pandas 2-1什么是pandas
一個開源的Python類庫:用于數(shù)據(jù)分析、數(shù)據(jù)處理、數(shù)據(jù)可視化
高性能
容易使用的數(shù)據(jù)結(jié)構(gòu)
·容易使用的使用分析工具
很方便和其他類庫一起使用:
numpy:用于科學(xué)計算
scikit-learn:用于機器學(xué)習(xí)
2-2 pandas讀取文件
'''
當(dāng)使用Pandas做數(shù)據(jù)分析時,需要讀取事先準備好的數(shù)據(jù)集,這是做數(shù)據(jù)分析的第一步。
Pandas提供了多種讀取數(shù)據(jù)的方法:
read_csv()用于讀取文本文件
read_excel()用于讀取文本文件
read_json()用于讀取json文件
read_sql_query()讀取sql語句的
通用流程:
1-導(dǎo)入庫import pandas as pd
2-找到文件所在位置(絕對路徑=全稱)(相對路徑=和程序在同一個文件夾中的路徑的簡稱)
3-變量名=pd.讀寫操作方法(文件路徑,具體的篩選條件,...)
./當(dāng)前路徑
../上一級
將csv中的數(shù)據(jù)轉(zhuǎn)換為DataFrame對象是非常便捷。和一般文件讀寫不一樣,它不需要你做打開文件、
讀取文件、關(guān)閉文件等操作。相反,您只需要一行代碼就可以完成上述所有步驟,并將數(shù)據(jù)存儲在
DataFrame中。
'''
import pandas as pd
#輸入?yún)?shù):數(shù)據(jù)輸入的路徑【可以是文件路徑,可以是URL,也可以是實現(xiàn)read方法的任意對象。】
df=pd.read_csv('s')
print(df,type(df))
#Pandas默認使用utf-8讀取文件
print()
import pandas as pd
lxw=open(r"t.csv",encoding='utf-8')
print(pd.read_csv(lxw))
print()
import os
#打印當(dāng)前目錄
print(os.getcwd())
詳細版學(xué)習(xí):
#1:
import pandas as pd
df=pd.read_csv('nba.csv')
print(df)
#2:
import pandas as pd
df=pd.read_csv('nba.csv')
#to_string()用于返回DataFrame類型的數(shù)據(jù),如果不使用該函數(shù),則輸出結(jié)果為數(shù)據(jù)的前面5行和末尾5行,中間部分以...代替(如上)
print(df.to_string())
#3:
import pandas as pd
#三個字段name,site,age
nme=["Google","Runoob","Taobao","Wiki"]
st=["www.google.com","www.runoob.com","www.taobao.com","www.wikipedia.org"]
ag=[90,40,80,98]
#字典
dict={'name':nme,'site':st,'age':ag}
df=pd.DataFrame(dict)
#保存dataframe
print(df.to_csv('site.csv'))
#4:
import pandas as pd
df=pd.read_csv('正解1.csv')
#head(n)方法用于讀取前面的n行,如果不填參數(shù)n,默認返回5行
#print(df.head())
#df.head(50).to_csv('site4.csv')
df.tail(10).to_csv('site4.csv')
print("over!")
#5:
import pandas as pd
df=pd.read_csv('nba.csv')
#讀取前面10行
print(df.head(10))
#6:
import pandas as pd
df=pd.read_csv('nba.csv')
#tail(n)方法用于讀取尾部的n行,如果不填參數(shù)n,默認返回5行,空行各個字段的值返回NaN
print(df.tail())
#7:
import pandas as pd
df=pd.read_csv('nba.csv')
#讀取末尾10行
print(df.tail(10))
#8:
import pandas as pd
df=pd.read_csv('正解1.csv')
#info()方法返回表格的一些基本信息
print(df.info())
#non-null為非空數(shù)據(jù),我們可以看到上面的信息中,總共458行,College字段的空值最多
所有csv、excel文件可在資源當(dāng)中自行提用,沒有的可自行補充!
提示:須提前安裝好pandas庫。【終端安裝命令:pip install pandas】
import pandas as pd
lxw=pd.read_csv('nba.csv')
#查看前幾行數(shù)據(jù)
print(lxw.head())
#查看索引列
print(lxw.index)
#查看列名列表
print(lxw.columns)
#查看數(shù)據(jù)的形狀(返回行、列數(shù))
print(lxw.shape)
#查看每列的數(shù)據(jù)類型
print(lxw.dtypes)
print()
#讀取txt文件,自己指定分隔符、列名
fpath='D:PyCharm數(shù)學(xué)建模大賽數(shù)據(jù)分析-上-2Python成績.csv'
lxw=pd.read_csv(
fpath,
sep=',',
header=None,
names=['name','Python-score']
)
#print(lxw)
lxw.to_csv('Python成績2.csv')
#讀取excel文件:
import pandas as pd
lxw=pd.read_excel('暑假培訓(xùn)學(xué)習(xí)計劃.xls')
print(lxw)
注:如果最后這里【讀取excel文件]運行出錯,那就在終端安裝pip install xlrd。
2-3 pandas數(shù)據(jù)結(jié)構(gòu)
'''
1-Series:一維數(shù)據(jù),一行或一列
【Series是一種類似于一維數(shù)組的對象,它由一組數(shù)據(jù)(不同數(shù)據(jù)類型)以及一組與之相關(guān)的數(shù)據(jù)標簽(即索引)組成】
2-DataFrame:二維數(shù)據(jù),整個表格,多行多列
'''
import pandas as pd
#1-1僅用數(shù)據(jù)列表即可產(chǎn)生最簡單的Series
lxw=pd.Series([1,'a',5.2,6])
print(lxw)#運行結(jié)果解說:左邊為索引,右邊為數(shù)據(jù)
#獲取索引
print(lxw.index)
#獲取數(shù)據(jù)
print(lxw.values)
print()
#1-2創(chuàng)建一個具有索引標簽的Series
lxw2=pd.Series([5,'程序人生6',666,5.2],index=['sz','gzh','jy','xy'])
print(lxw2)
print(lxw2.index)
#寫入文件當(dāng)中
lxw2.to_csv('gzh.csv')
print()
#1-3使用過Python字典創(chuàng)建Series
lxw_ej={'python':390,'java':90,'mysql':90}
lxw3=pd.Series(lxw_ej)
print(lxw3)
#1-4根據(jù)標簽索引查詢數(shù)據(jù)
print(lxw3['java'])
print(lxw2['gzh'])
print(lxw2[['gzh','jy']])
print(type(lxw2[['gzh','jy']]))
print(lxw[2])
print(type(lxw[2]))
print()
#2根據(jù)多個字典序列創(chuàng)建dataframe
lxw_cj={
'ps':[86,92,88,82,80],
'windows操作系統(tǒng)':[84,82,88,80,92],
'網(wǎng)頁設(shè)計與制作':[92,88,97,98,83]
}
df=pd.DataFrame(lxw_cj)
#print(df)
#df.to_excel('lxw_cj.xlsx')#須提前安裝好openxlsx,
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/128411.html
摘要:在上篇文章里,為大家推薦了一些數(shù)學(xué)學(xué)習(xí)的軟件和微積分線性代數(shù)概率統(tǒng)計的學(xué)習(xí)視頻,今天再推薦一些精心挑選的經(jīng)典教材,并為大家提供電子書的下載鏈接,和視頻搭配起來一起學(xué)習(xí),效果會更好。我們要使用的以及等都包含在里面,無需額外下載。 在上篇文章里,為大家推薦了一些數(shù)學(xué)學(xué)習(xí)的軟件和微積分、線性代數(shù)、概率統(tǒng)計的學(xué)習(xí)視頻,今天再推薦一些精心挑選的經(jīng)典教材,并為大家提供電子書的下載鏈接,和視頻搭配起...
摘要:微積分微積分的課程我們也同樣是推薦和的課程。還有一個斯坦福大學(xué)的統(tǒng)計學(xué)習(xí)入門英文字幕相當(dāng)不錯。所以,除了繪制數(shù)學(xué)圖形外,學(xué)習(xí)數(shù)學(xué)就應(yīng)該完全與編程有機結(jié)合。 無論是三大數(shù)學(xué)軟件Matlab(通信、控制等工程例外)、Maple、Mathematica,還是三大統(tǒng)計軟件Spass、Stata、SAS,這些可視化的軟件本身就是編程的一個體現(xiàn),它們在一定程度上降低了我們使用數(shù)學(xué)的門檻,但另一方面...
摘要:是你學(xué)習(xí)從入門到專家必備的學(xué)習(xí)路線和優(yōu)質(zhì)學(xué)習(xí)資源。的數(shù)學(xué)基礎(chǔ)最主要是高等數(shù)學(xué)線性代數(shù)概率論與數(shù)理統(tǒng)計三門課程,這三門課程是本科必修的。其作為機器學(xué)習(xí)的入門和進階資料非常適合。書籍介紹深度學(xué)習(xí)通常又被稱為花書,深度學(xué)習(xí)領(lǐng)域最經(jīng)典的暢銷書。 showImg(https://segmentfault.com/img/remote/1460000019011569); 【導(dǎo)讀】本文由知名開源平...
小編寫這篇文章的主要目的,主要是來給大家解答下關(guān)于python數(shù)學(xué)建模的一些相關(guān)的介紹,涉及到內(nèi)容涵蓋Numpy的一些相關(guān)的應(yīng)用具體的一些介紹。另外,還會涉及到相關(guān)的Pandas學(xué)習(xí)知識,具體內(nèi)容下面給大家詳細解答下。 1 Numpy介紹與應(yīng)用 1-1Numpy是什么 NumPy是一個運行速度非常快的數(shù)學(xué)庫,一個開源的的python科學(xué)計算庫,主要用于數(shù)組、矩陣計算,包含: 一個強大的...
摘要:在這里我分享下我個人入門機器學(xué)習(xí)的經(jīng)歷,希望能對大家能有所幫助。相關(guān)學(xué)習(xí)鏈接,,入門后的體驗在入門了機器學(xué)習(xí)之后,在實際工作中,絕大多數(shù)的情況下你并不需要去創(chuàng)造一個新的算法。 機器學(xué)習(xí)在很多眼里就是香餑餑,因為機器學(xué)習(xí)相關(guān)的崗位在當(dāng)前市場待遇不錯,但同時機器學(xué)習(xí)在很多人面前又是一座大山,因為發(fā)現(xiàn)它太難學(xué)了。在這里我分享下我個人入門機器學(xué)習(xí)的經(jīng)歷,希望能對大家能有所幫助。 PS:這篇文章...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1983·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02