




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
線性模型《Python機器學(xué)習(xí)與項目實踐》XXX大學(xué)教學(xué)內(nèi)容線性回歸模型、邏輯回歸模型、樸素貝葉斯模型、決策樹模型、支持向量機模型、KNN模型隨機森林模型。矩陣微積分標(biāo)量關(guān)于向量的偏導(dǎo)數(shù)向量關(guān)于向量的偏導(dǎo)數(shù)向量函數(shù)及其導(dǎo)數(shù)關(guān)于概率的一些基本概念概率(Probability)一個隨機事件發(fā)生的可能性大小,為0到1之間的實數(shù)。隨機變量(RandomVariable)比如隨機擲一個骰子,得到的點數(shù)就可以看成一個隨機變量X,其取值為{1,2,3,4,5,6}。概率分布(ProbabilityDistribution)一個隨機變量X取每種可能值的概率并滿足概率的一些基本概念伯努利分布(BernoulliDistribution)在一次試驗中,事件A出現(xiàn)的概率為μ,不出現(xiàn)的概率為1?μ。若用變量X表示事件A出現(xiàn)的次數(shù),則X的取值為0和1,其相應(yīng)的分布為二項分布(BinomialDistribution)在n次伯努利分布中,若以變量X表示事件A出現(xiàn)的次數(shù),則X的取值為{0,…,n},其相應(yīng)的分布二項式系數(shù),表示從n個元素中取出k個元素而不考慮其順序的組合的總數(shù)。概率的一些基本概念
概率的一些基本概念條件概率(ConditionalProbability)對于離散隨機向量(X,Y),已知X=x的條件下,隨機變量Y=y的條件概率為:貝葉斯公式兩個條件概率p(y|x)和p(x|y)之間的關(guān)系線性回歸模型模型:增廣權(quán)重向量和增廣特征向量線性回歸(LinearRegression)第1步,我們需要導(dǎo)入所需的包。增廣權(quán)重向量和增廣特征向量1.from
sklearn
import
datasets
#導(dǎo)入sklearn
中的數(shù)據(jù)集
2.from
sklearn.model_selection
import
train_test_split
#導(dǎo)入數(shù)據(jù)集劃分模塊
3.from
sklearn.linear_model
import
LinearRegression
#導(dǎo)入線性回歸模型
4.from
sklearn.metrics
import
mean_squared_error
#導(dǎo)入均方差評價指標(biāo)
線性回歸(LinearRegression)第2步,首先加載數(shù)據(jù)集增廣權(quán)重向量和增廣特征向量1.#加載波士頓房價數(shù)據(jù)集
2.boston_data=datasets.load_boston()
3.#獲取波士頓房價數(shù)據(jù)集的特征集
4.bonston_x=boston_data.data
5.#獲取波士頓房價數(shù)據(jù)集的目標(biāo)值
6.bonston_y=boston_data.target
7.#查看數(shù)據(jù)集鍵值對
8.print(boston_data.keys())
9.#查看數(shù)據(jù)集描述
10.print(boston_data.DESCR)
11.#查看數(shù)據(jù)集特征值形狀,可以看出有506個樣本,每個樣本有13個特征
12.print(bonston_x.shape)
13.#查看數(shù)據(jù)集目標(biāo)值形狀,有506個目標(biāo)值??梢园l(fā)現(xiàn)沒有缺失值
14.print(bonston_y.shape)
線性回歸(LinearRegression)通過結(jié)果可以知道共有506個樣本,特征向量維度為13,也就是說房價有13個影響因素。增廣權(quán)重向量和增廣特征向量
線性回歸(LinearRegression)第3步,劃分訓(xùn)練集和測試集,其中測試集占數(shù)據(jù)集的20%。1.#對數(shù)據(jù)集進行劃分,其中測試集占數(shù)據(jù)集的20%
2.features_train,features_test,target_train,target_test
=train_test_split(bonston_x,bonston_y,test_size=0.2)
線性回歸(LinearRegression)第4步,實例化模型并進行訓(xùn)練。1.#實例化模型
2.model
=LinearRegression()
3.#進行模型訓(xùn)練
4.model.fit(features_train,target_train)
線性回歸(LinearRegression)第5步,對測試集進行預(yù)測,并輸出預(yù)測目標(biāo)值和真實目標(biāo)值,從而直觀地感受預(yù)測目標(biāo)值與真實值目標(biāo)的差距。1.#進行預(yù)測
2.target_test_predict=model.predict(features_test)
3.#查看預(yù)測目標(biāo)值4.print(target_test_predict)
5.#查看真實目標(biāo)值
6.print(target_test)
線性回歸(LinearRegression)第6步,對模型進行評價,采用的是均方差評價函數(shù):1.#
對模型效果進行評價
2.error=mean_squared_error(target_test,target_test_predict)
3.print('測試數(shù)據(jù)的誤差:',error)
線性回歸(LinearRegression)邏輯回歸模型
邏輯回歸(LogisticRegression)
邏輯回歸(LogisticRegression)導(dǎo)入需要使用的包。1.#導(dǎo)入需要使用的包
2.#導(dǎo)入劃分訓(xùn)練集、測試集需要使用的包
3.from
sklearn.model_selection
import
train_test_split
4.#導(dǎo)入鳶尾花數(shù)據(jù)集
5.from
sklearn.datasets
import
load_iris
6.#導(dǎo)入sklearn中的邏輯回歸模型
7.from
sklearn.linear_model
import
LogisticRegression
邏輯回歸模型的代碼實現(xiàn)然后加載鳶尾花數(shù)據(jù)集,查看數(shù)據(jù)集鍵值對,查看數(shù)據(jù)集描述,查看特征集形狀。1.#加載鳶尾花數(shù)據(jù)集
2.iris_data=load_iris()
3.#查看鳶尾花數(shù)據(jù)集的鍵值對
4.print(iris_data.keys())
5.#查看鳶尾花數(shù)據(jù)集的描述
6.print(iris_data.DESCR)
7.#查看鳶尾花特征集的形狀
8.print(iris_data.data.shape)
邏輯回歸模型的代碼實現(xiàn)接下來劃分數(shù)據(jù)集。1.#將數(shù)據(jù)集劃分為測試集和訓(xùn)練集,使用默認劃分比例,測試集占數(shù)據(jù)集的25%,查看劃分后訓(xùn)練集的形狀
2.features_train,features_test,target_train,target_test=train_test_split(iris_data.data,iris_data.target)
3.print(features_train.shape)
邏輯回歸模型的代碼實現(xiàn)實例化模型,訓(xùn)練模型,對測試集進行預(yù)測,并輸出預(yù)測結(jié)果和真實結(jié)果,簡單直觀地觀察模型性能。1.#實例化模型,默認迭代次數(shù)為1000,這里我們設(shè)置為2500,迭代次數(shù)就是尋找損失函數(shù)最小值所迭代的次數(shù)
2.logstic_model=LogisticRegression(max_iter=2500)
3.#訓(xùn)練模型
4.logstic_model.fit(features_train,target_train)
5.#對測試集進行預(yù)測,打印預(yù)測結(jié)果,打印真實結(jié)果,直觀感受模型性能
6.target_pre=logstic_model.predict(features_test)
7.print(target_pre)
8.print(target_test)
邏輯回歸模型的代碼實現(xiàn)最后對模型進行評價,并輸出其結(jié)果。1.#對模型進行評價,使用自帶的性能評價器評價其準(zhǔn)確率
2.score=logstic_model.score(features_test,target_test)
3.print(score)
邏輯回歸模型的代碼實現(xiàn)經(jīng)驗風(fēng)險最小化樸素貝葉斯是一種有監(jiān)督學(xué)習(xí)的分類算法。
樸素貝葉斯(NaiveBayesianAlgorithm)面
貌舉
止聲
音穿
著是否有好感好看優(yōu)雅好聽得體有好看粗魯不好聽得體沒有不好看優(yōu)雅好聽得體有不好看優(yōu)雅不好聽不得體沒有好看優(yōu)雅好聽不得體有不好看粗魯不好聽不得體沒有好看粗魯好聽得體有不好看粗魯好聽不得體沒有
首先導(dǎo)入需要使用的包1.#導(dǎo)入需要使用的包
2.#導(dǎo)入劃分訓(xùn)練集、測試集需要使用的包
3.from
sklearn.model_selection
import
train_test_split
4.#導(dǎo)入鳶尾花數(shù)據(jù)集
5.from
sklearn.datasets
import
load_iris
6.#導(dǎo)入sklearn中的樸素貝葉斯模型,使用的是高斯分類器
7.from
sklearn.naive_bayes
import
GaussianNB
樸素貝葉斯模型的代碼實現(xiàn)然后加載鳶尾花數(shù)據(jù)集。1.#加載鳶尾花數(shù)據(jù)集
2.iris_data=load_iris()
樸素貝葉斯模型的代碼實現(xiàn)劃分數(shù)據(jù)集為測試集和訓(xùn)練集。1.#將數(shù)據(jù)集劃分為測試集和訓(xùn)練集,使用默認劃分比例,測試集占數(shù)據(jù)集的25%
2.features_train,features_test,target_train,target_test=train_test_split(iris_data.data,iris_data.target)
樸素貝葉斯模型的代碼實現(xiàn)接下來實例化一個樸素貝葉斯模型并進行訓(xùn)練。1.#實例化一個樸素貝葉斯模型
2.naive_bayes_model=GaussianNB()
3.#訓(xùn)練模型
4.naive_bayes_model.fit(features_train,target_train)
樸素貝葉斯模型的代碼實現(xiàn)對測試集進行預(yù)測,并查看預(yù)測結(jié)果和真實結(jié)果。1.#對測試集進行預(yù)測,打印預(yù)測結(jié)果,打印真實結(jié)果,直觀感受模型效果
2.target_pre=naive_bayes_model.predict(features_test)3.#打印預(yù)測結(jié)果
4.print(target_pre)5.#打印真實結(jié)果6.print(target_test)
樸素貝葉斯模型的代碼實現(xiàn)最后評價模型,打印模型分數(shù)(準(zhǔn)確率)。1.#對模型進行評估
2.score=naive_bayes_model.score(features_test,target_test)
3.#打印模型分數(shù)
4.print(score)
樸素貝葉斯模型的代碼實現(xiàn)決策樹模型決策樹算法是指一類算法,它以樹形結(jié)構(gòu)呈現(xiàn)邏輯模型。決策樹模型導(dǎo)入需要的庫1.#導(dǎo)入需要使用的包
2.from
sklearn.datasets
import
load_wine
#導(dǎo)入紅酒數(shù)據(jù)集需要使用的包
3.from
sklearn.model_selection
import
train_test_split
#導(dǎo)入數(shù)據(jù)集劃分工具
4.from
sklearn.tree
import
DecisionTreeClassifier
#導(dǎo)入決策樹模型
5.import
numpy
as
np
#導(dǎo)入NumPy
決策樹模型的代碼實現(xiàn)加載紅酒數(shù)據(jù)集,并查看數(shù)據(jù)集形狀、描述和鍵值對1.#加載紅酒數(shù)據(jù)集
2.RedWine_data=load_wine()
3.#查看數(shù)據(jù)集形狀
4.print(RedWine_data.data.shape)
5.#查看數(shù)據(jù)集鍵值對
6.print(RedWine_data.keys())
7.#查看數(shù)據(jù)集描述
8.print(RedWine_data.DESCR)
決策樹模型的代碼實現(xiàn)將數(shù)據(jù)集劃分為訓(xùn)練集和測試集1.#將數(shù)據(jù)集劃分為測試集和訓(xùn)練集
2.features_train,features_test,target_train,target_test=train_test_split(RedWine_data.data,RedWine_data.target
決策樹模型的代碼實現(xiàn)實例化決策樹模型,并進行訓(xùn)練。1.#實例化一個ID3決策樹模型
2.DecisionTree_Model=DecisionTreeClassifier(criterion='entropy')
3.#進行模型訓(xùn)練
4.DecisionTree_Model.fit(features_train,target_train)
決策樹模型的代碼實現(xiàn)評價指標(biāo)為準(zhǔn)確率,輸出評價分數(shù)。1.#對模型進行評價
2.print(DecisionTree_Model.score(features_test,target_test))
決策樹模型的代碼實現(xiàn)支持向量機模型支持向量機是有監(jiān)督學(xué)習(xí)算法中最有影響力的機器學(xué)習(xí)算法之一。支持向量機的概念導(dǎo)入需要使用的包。1.from
sklearn
import
svm
#導(dǎo)入支持向量機模型
2.from
sklearn.datasets
import
load_iris
#導(dǎo)入鳶尾花數(shù)據(jù)集
3.from
sklearn.model_selection
import
train_test_split
#導(dǎo)入數(shù)據(jù)集劃分需要使用的包
4.from
sklearn.metrics
import
confusion_matrix
#導(dǎo)入混淆矩陣評價指標(biāo)
5.from
sklearn.metrics
import
accuracy_score
#導(dǎo)入準(zhǔn)確率評
支持向量機模型的代碼實現(xiàn)加載鳶尾花數(shù)據(jù)集,并查看其形狀。1.#加載鳶尾花數(shù)據(jù)集,其結(jié)果是個字典
2.iris=load_iris()
3.#查看數(shù)據(jù)集的形狀,有多少個樣本,每個樣本有多少個特征
4.print(iris.data.shape)
輸出結(jié)果如下,總共有150個樣本,每個樣本有4個特征。(150,4)
支持向量機模型的代碼實現(xiàn)劃分數(shù)據(jù)集。1.#劃分訓(xùn)練集和測試集,將隨機數(shù)種子設(shè)置為1,便于復(fù)現(xiàn)模型,訓(xùn)練集占數(shù)據(jù)集的70%,剩下的為測試集
2.train_data,test_data=train_test_split(iris.data,random_state=1,train_size=0.7,test_size=0.3)
3.train_label,test_label=train_test_split(iris.target,random_state=1,train_size=0.7,test_size=0.3)
支持向量機模型的代碼實現(xiàn)實例化模型并進行訓(xùn)練。1.#實例化模型,C是正則化程度,C的數(shù)值越大,懲罰力度越小,默認為1,使用rbf核函數(shù)
2.model=svm.SVC(C=2.0,kernel='rbf',gamma=10,decision_function_shape='ovr')3.#訓(xùn)練模型,ravel將維度變?yōu)橐痪S
4.model.fit(train_data,train_label.ravel())
支持向量機模型的代碼實現(xiàn)進行預(yù)測,并評價,采用混淆矩陣和準(zhǔn)確率進行評價。1.#模型預(yù)測
2.pre_test=model.predict(test_data)
3.#準(zhǔn)確率評價
4.score=accuracy_score(test_label,pre_test)
5.print(score)
6.#混淆矩陣評價
7.cm=confusion_matrix(test_label,pre_test)
8.print(cm)
支持向量機模型的代碼實現(xiàn)KNN模型機器學(xué)習(xí)分類算法——K最近鄰算法,簡稱KNN(K-Nearest-Neighbor)算法。它是有監(jiān)督學(xué)習(xí)分類算法的一種。在學(xué)習(xí)KNN算法的過程中,只需要把握兩個原則就好了。第1個原則是“少數(shù)服從多數(shù)”;第2個原則是“資格”,就是是否有資格進行投票。
KNN(K-Nearest-Neighbor)機器學(xué)習(xí)分類算法——K最近鄰算法,簡稱KNN(K-Nearest-Neighbor)算法。它是有監(jiān)督學(xué)習(xí)分類算法的一種。在學(xué)習(xí)KNN算法的過程中,只需要把握兩個原則就好了。第1個原則是“少數(shù)服從多數(shù)”;第2個原則是“資格”,就是是否有資格進行投票。
KNN(K-Nearest-Neighbor)KNN算法主要包括4個步驟,(1)準(zhǔn)備數(shù)據(jù),對數(shù)據(jù)進行預(yù)處理。(2)計算測試樣本點(也就是待分類點)到其他每個樣本點的距離(選定度量距離的方法)。(3)對每個距離進行排序,選出距離最小的K個點。(4)對K個點所屬的類進行比較,按照“少數(shù)服從多數(shù)”的原則(多數(shù)表決思想),將測試樣本點歸入K個點中占比最高的一類中。
KNN(K-Nearest-Neighbor)導(dǎo)入需要使用的包,這里以紅酒數(shù)據(jù)集為例。1.#導(dǎo)入需要使用的包
2.#導(dǎo)入NumPy
3.import
numpy
as
np
4.#導(dǎo)入紅酒數(shù)據(jù)集需要使用的包
5.from
sklearn.datasets
import
load_wine
6.#導(dǎo)入劃分數(shù)據(jù)集需要使用的包
7.from
sklearn.model_selection
import
train_test_split
8.#導(dǎo)入KNN算法需要使用的包
9.from
sklearn.neighbors
import
KNeighborsClassifier
KNN的代碼實現(xiàn)加載數(shù)據(jù)集并查看數(shù)據(jù)集形狀、數(shù)據(jù)集鍵值對、數(shù)據(jù)集描述。1.#加載數(shù)據(jù)集
2.RedWine_data=load_wine()
3.#查看數(shù)據(jù)集形狀
4.print(RedWine_data.data.shape)
5.#查看數(shù)據(jù)集鍵值對
6.print(RedWine_data.keys())
7.#查看數(shù)據(jù)集描述
8.print(RedWine_data.DESCR)
KNN的代碼實現(xiàn)劃分數(shù)據(jù)集為測試集和訓(xùn)練集,使用默認的劃分比例,也就是數(shù)據(jù)集的25%為測試集。1.#將數(shù)據(jù)集劃分為測試集和訓(xùn)練集
2.features_train,features_test,target_train,target_test=train_test_split(RedWine_data.data,RedWine_data.target)
KNN的代碼實現(xiàn)實例化KNN模型,并進行訓(xùn)練。這里使用的K值為5,讀者可以試試其他不同的K值對模型的影響。1.#實例化一個KNN模型,n_neighbors為超參數(shù),就是K值
2.KNN_Classifier_Model=KNeighborsClassifier(n_neighbors=5)
3.#進行訓(xùn)練
4.KNN_Classifier_Model.fit(features_train,target_train)
KNN的代碼實現(xiàn)對測試集進行預(yù)測,并打印預(yù)測結(jié)果和真實結(jié)果。1.#對測試集進行預(yù)測
2.target_pre=KNN_Classifier_Model.predict(features_test)
3.#打印預(yù)測結(jié)果
4.print(target_pre)
5.#打印真實結(jié)果
6.print(target_test)
KNN的代碼實現(xiàn)最后對模型進行評價。1.#對模型進行評價
2.KNN_Classifier_Model_score=KNN_Classifier_Model.score(features_test,target_test)
3.print(KNN_Classifier_Model_score)
輸出結(jié)果如下。0.7777777777777778
KNN的代碼實現(xiàn)隨機森林模型隨機森林,顧名思義,即使用隨機的方式建立一個森林,這個森林由很多的決策樹組成,并且每一棵決策樹之間是相互獨立的。如果訓(xùn)練集有M個樣本,則對于每棵決策樹而言,以隨機且有放回的方式從訓(xùn)練集中抽取N個訓(xùn)練樣本(N<M),作為該決策樹的訓(xùn)練集。除采用樣本隨機外,隨機森林還采用了特征隨機。假設(shè)每個樣本有K個特征,從所有特征中隨機選取k個特征(k≤K),選擇最佳分割特征作為節(jié)點建立CART決策樹,重復(fù)該步驟,建立m棵CART決策樹。這些樹就組成了森林,這便是隨機森林名字的由來。
隨機森林算法(RandomForestAlgorithm)導(dǎo)入需要使用的庫。1.#導(dǎo)入需要使用的庫
2.#導(dǎo)入隨機森林算法
3.from
sklearn.ensemble
import
RandomForestClassifier
4.#導(dǎo)入鳶尾花數(shù)據(jù)集需要使用的包
5.from
sklearn.datasets
import
load_iri
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代企業(yè)人力資源共享服務(wù)案例
- 標(biāo)準(zhǔn)化辦公流程建設(shè)與實施
- 醫(yī)學(xué)影像技術(shù)增強檢查
- 護理質(zhì)理控制
- 護理人員素養(yǎng)
- 初中英語語法習(xí)題及解析
- 企業(yè)新老員工融合發(fā)展策略方案
- 2025年高級檔案職稱考試(檔案管理學(xué))歷年參考題庫含答案詳解(5套)
- 醫(yī)藥物流現(xiàn)場管理規(guī)范
- 建筑施工項目勞務(wù)管理制度
- 2025中國電信安全公司春季校園招聘筆試參考題庫附帶答案詳解(10套)
- 立達RSBD并條機培訓(xùn)資料講課文檔
- 生產(chǎn)排產(chǎn)管理辦法
- 2025年標(biāo)準(zhǔn)黑龍江水利安全員試題及答案
- 中國智能超市手推車行業(yè)市場前景預(yù)測及投資方向研究報告
- 第13課-他們都說我包的餃子好吃(口語)
- 2025年兵團普通職工考試試題及答案
- 合理用藥考試題及答案
- 農(nóng)業(yè)高級工考試題及答案
- 環(huán)境應(yīng)急預(yù)案回顧性評估報告參考范例
- 四川建安b證考試題庫及答案
評論
0/150
提交評論