国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Python機(jī)器學(xué)習(xí)】SVM——線性模型與非線性特征

這篇具有很好參考價(jià)值的文章主要介紹了【Python機(jī)器學(xué)習(xí)】SVM——線性模型與非線性特征。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

SVM(核支持向量機(jī))是一種監(jiān)督學(xué)習(xí)模型,是可以推廣到更復(fù)雜模型的擴(kuò)展,這些模型無(wú)法被輸入空間的超平面定義。

線模型在低維空間中可能非常受限,因?yàn)榫€和平面的靈活性有限,但是有一種方式可以讓線性模型更加靈活,那就是添加更多特征,比如輸入特征的交互式或多項(xiàng)式。

以下面的數(shù)據(jù)集為例:

from sklearn.datasets import make_blobs
import mglearn
import matplotlib.pyplot as plt
from sklearn.svm import LinearSVC

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
X,y=make_blobs(centers=4,random_state=8)
y=y%2
line_svc=LinearSVC().fit(X,y)

mglearn.plots.plot_2d_separator(line_svc,X)
mglearn.discrete_scatter(X[:,0],X[:,1],y)
plt.xlabel('特征0')
plt.ylabel('特征1')
plt.show()

【Python機(jī)器學(xué)習(xí)】SVM——線性模型與非線性特征,Python機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),支持向量機(jī),python,人工智能,分類,分類算法

用于分類的線性模型只能用一條直線來(lái)劃分?jǐn)?shù)據(jù)點(diǎn),對(duì)這個(gè)數(shù)據(jù)集無(wú)法給出較好的結(jié)果。

現(xiàn)在,對(duì)輸入特征進(jìn)行擴(kuò)展,比如添加一個(gè)特征的平方作為一個(gè)新特征,那么每個(gè)數(shù)據(jù)點(diǎn)可以表示為三維點(diǎn),而不是二維點(diǎn),這樣就可以做一個(gè)新的三維散點(diǎn)圖:

import numpy as np
from sklearn.datasets import make_blobs
import mglearn
import matplotlib.pyplot as plt
from sklearn.svm import LinearSVC
from mpl_toolkits.mplot3d import Axes3D,axes3d

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
X,y=make_blobs(centers=4,random_state=8)
y=y%2
#line_svc=LinearSVC().fit(X,y)
X_new=np.hstack([X,X[:,1:]**2])
figure=plt.figure()

#3D可視化
ax=figure.add_subplot(projection='3d')
#首先畫出所有y==0,然后畫出所有y==1的點(diǎn)
mask=y==0

ax.scatter(X_new[mask,0],X_new[mask,1],X_new[mask,2],c='blue',marker='o',cmap=mglearn.cm2,s=60)
ax.scatter(X_new[~mask,0],X_new[~mask,1],X_new[~mask,2],c='red',marker='^',cmap=mglearn.cm2,s=60)
ax.set_xlabel('特征0')
ax.set_ylabel('特征1')
ax.set_zlabel('特征1**2')
plt.show()

?【Python機(jī)器學(xué)習(xí)】SVM——線性模型與非線性特征,Python機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),支持向量機(jī),python,人工智能,分類,分類算法

在數(shù)據(jù)新的可視化中,可以用線性模型(三維平面將這兩個(gè)類別區(qū)分開)

import numpy as np
from sklearn.datasets import make_blobs
import mglearn
import matplotlib.pyplot as plt
from sklearn.svm import LinearSVC
from mpl_toolkits.mplot3d import Axes3D,axes3d

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
X,y=make_blobs(centers=4,random_state=8)
y=y%2
X_new=np.hstack([X,X[:,1:]**2])
line_svc_3d=LinearSVC().fit(X_new,y)
coef,intercept=line_svc_3d.coef_.ravel(),line_svc_3d.intercept_

figure=plt.figure()

#3D可視化
ax=figure.add_subplot(projection='3d')
#首先畫出所有y==0,然后畫出所有y==1的點(diǎn)
xx=np.linspace(X_new[:,0].min()-2,X_new[:,0].max()+2,50)
yy=np.linspace(X_new[:,1].min()-2,X_new[:,1].max()+2,50)
XX,YY=np.meshgrid(xx,yy)
ZZ=(coef[0]*XX+coef[1]*YY+intercept)/-coef[2]
mask=y==0
ax.plot_surface(XX,YY,ZZ,rstride=8,cstride=8,alpha=0.3)
ax.scatter(X_new[mask,0],X_new[mask,1],X_new[mask,2],c='blue',marker='o',cmap=mglearn.cm2,s=60)
ax.scatter(X_new[~mask,0],X_new[~mask,1],X_new[~mask,2],c='red',marker='^',cmap=mglearn.cm2,s=60)
ax.set_xlabel('特征0')
ax.set_ylabel('特征1')
ax.set_zlabel('特征1**2')
plt.show()

【Python機(jī)器學(xué)習(xí)】SVM——線性模型與非線性特征,Python機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),支持向量機(jī),python,人工智能,分類,分類算法

如果將線性SVM模型看做原始特征的函數(shù),那么它實(shí)際上已經(jīng)不是線性的了,它不再是一條直線,而是一個(gè)橢圓:

import numpy as np
from sklearn.datasets import make_blobs
import mglearn
import matplotlib.pyplot as plt
from sklearn.svm import LinearSVC
from mpl_toolkits.mplot3d import Axes3D,axes3d

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
X,y=make_blobs(centers=4,random_state=8)
y=y%2
X_new=np.hstack([X,X[:,1:]**2])
line_svc_3d=LinearSVC().fit(X_new,y)
coef,intercept=line_svc_3d.coef_.ravel(),line_svc_3d.intercept_
xx=np.linspace(X_new[:,0].min()-2,X_new[:,0].max()+2,50)
yy=np.linspace(X_new[:,1].min()-2,X_new[:,1].max()+2,50)
XX,YY=np.meshgrid(xx,yy)
ZZ=YY**2

dec=line_svc_3d.decision_function(np.c_[XX.ravel(),YY.ravel(),ZZ.ravel()])
plt.contourf(XX,YY,dec.reshape(XX.shape),levels=[dec.min(),0,dec.max()],cmap=mglearn.cm2,alpha=0.5)
mglearn.discrete_scatter(X[:,0],X[:,1],y)
plt.xlabel('特征0')
plt.ylabel('特征1')
plt.show()

【Python機(jī)器學(xué)習(xí)】SVM——線性模型與非線性特征,Python機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí),支持向量機(jī),python,人工智能,分類,分類算法文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-811201.html

到了這里,關(guān)于【Python機(jī)器學(xué)習(xí)】SVM——線性模型與非線性特征的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ML:機(jī)器學(xué)習(xí)中有監(jiān)督學(xué)習(xí)算法的四種最基礎(chǔ)模型的簡(jiǎn)介(基于概率的模型、線性模型、樹模型-樹類模型、神經(jīng)網(wǎng)絡(luò)模型)、【線性模型/非線性模型、樹類模型/基于樣本距離的模型】多種對(duì)比(假設(shè)/特點(diǎn)/決策形式等

    ML:機(jī)器學(xué)習(xí)中有監(jiān)督學(xué)習(xí)算法的四種最基礎(chǔ)模型的簡(jiǎn)介(基于概率的模型、線性模型、樹模型-樹類模型、神經(jīng)網(wǎng)絡(luò)模型)、【線性模型/非線性模型、樹類模型/基于樣本距離的模型】多種對(duì)比(假設(shè)/特點(diǎn)/決策形式等) 目錄

    2024年02月09日
    瀏覽(91)
  • 數(shù)學(xué)模型:Python實(shí)現(xiàn)非線性規(guī)劃

    上篇文章:整數(shù)規(guī)劃 文章摘要:非線性規(guī)劃的Python實(shí)現(xiàn)。 參考書籍:數(shù)學(xué)建模算法與應(yīng)用(第3版)司守奎 孫璽菁。 PS:只涉及了具體實(shí)現(xiàn)并不涉及底層理論。學(xué)習(xí)底層理論以及底層理論實(shí)現(xiàn):可以參考1.最優(yōu)化模型與算法——基于Python實(shí)現(xiàn) 漸令 粱錫軍2.算法導(dǎo)論(原書第3版)

    2024年02月08日
    瀏覽(17)
  • pytorch的卷積層池化層和非線性變化 和機(jī)器學(xué)習(xí)線性回歸

    pytorch的卷積層池化層和非線性變化 和機(jī)器學(xué)習(xí)線性回歸

    卷積層: ? 兩個(gè)輸出的情況 就會(huì)有兩個(gè)通道 可以改變通道數(shù)的 最簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu): nn.Mudule就是繼承父類 super執(zhí)行的是 先執(zhí)行父類函數(shù)里面的 forward執(zhí)行的就是前向網(wǎng)絡(luò),就是往前推進(jìn)的,當(dāng)然也有反向轉(zhuǎn)播,那就是用來(lái)就gradient dicent了,求導(dǎo)計(jì)算了。 卷積后的結(jié)果展

    2024年02月07日
    瀏覽(24)
  • 【數(shù)學(xué)建?!縋ython+Gurobi求解非線性規(guī)劃模型

    目錄 1 概述 2 算例? 2.1 算例 2.2 參數(shù)設(shè)置 2.3 Python代碼實(shí)現(xiàn) 2.4 求解結(jié)果 如果目標(biāo)函數(shù)或約束條件中包含非線性函數(shù),就稱這種規(guī)劃問(wèn)題為非線性規(guī)劃問(wèn)題。 參考:(非線性規(guī)劃Python)計(jì)及動(dòng)態(tài)約束及節(jié)能減排環(huán)保要求的經(jīng)濟(jì)調(diào)度 2.1 算例 2.2 參數(shù)設(shè)置 求解NLP/非凸問(wèn)題時(shí),

    2024年02月09日
    瀏覽(20)
  • 機(jī)器視覺(jué)【3】非線性求解相機(jī)幾何參數(shù)

    機(jī)器視覺(jué)【3】非線性求解相機(jī)幾何參數(shù)

    上一章節(jié)介紹學(xué)習(xí)了(DLT)線性求解相機(jī)幾何參數(shù),了解到線性求解法當(dāng)中比較明顯的缺點(diǎn): 沒(méi)有考慮到鏡頭畸變的影響 不能引入更多的約束條件融入到DLT算法當(dāng)中優(yōu)化 最關(guān)鍵的是,代數(shù)距離并不是計(jì)算相機(jī)矩陣的最佳距離函數(shù) 基于以上問(wèn)題點(diǎn),提出非線性求解方法。 將

    2024年02月21日
    瀏覽(23)
  • 優(yōu)化模型:MATLAB非線性規(guī)劃

    優(yōu)化模型:MATLAB非線性規(guī)劃

    1.1 非線性規(guī)劃的定義 非線性規(guī)劃(Nonlinear Programming,NLP) 是一種數(shù)學(xué)規(guī)劃方法,用于解決含有非線性目標(biāo)函數(shù)和/或非線性約束條件的優(yōu)化問(wèn)題。它是線性規(guī)劃的一種擴(kuò)展形式,更加廣泛適用于復(fù)雜實(shí)際問(wèn)題。 非線性規(guī)劃的目標(biāo)是最小化(或最大化)一個(gè)非線性目標(biāo)函數(shù),

    2024年02月04日
    瀏覽(26)
  • 【模型預(yù)測(cè)控制MPC】使用離散、連續(xù)、線性或非線性模型對(duì)預(yù)測(cè)控制進(jìn)行建模(Matlab代碼實(shí)現(xiàn))

    【模型預(yù)測(cè)控制MPC】使用離散、連續(xù)、線性或非線性模型對(duì)預(yù)測(cè)控制進(jìn)行建模(Matlab代碼實(shí)現(xiàn))

    ????????? 歡迎來(lái)到本博客 ???????? ??博主優(yōu)勢(shì): ?????? 博客內(nèi)容盡量做到思維縝密,邏輯清晰,為了方便讀者。 ?? 座右銘: 行百里者,半于九十。 ?????? 本文目錄如下: ?????? 目錄 ??1 概述 ??2 運(yùn)行結(jié)果 ??3?參考文獻(xiàn) ??4 Matlab代碼實(shí)現(xiàn) 本文的

    2024年02月14日
    瀏覽(27)
  • 數(shù)學(xué)建模學(xué)習(xí)---非線性規(guī)劃

    數(shù)學(xué)建模學(xué)習(xí)---非線性規(guī)劃

    目錄 前言 一、非線性規(guī)劃問(wèn)題是什么? 二、非線性規(guī)劃的數(shù)學(xué)模型 1.一般形式 三、線性規(guī)劃的 Matlab 解法 Matlab 中非線性規(guī)劃的數(shù)學(xué)模型: 2.Matlab 中的命令: 本篇講述非線性規(guī)劃問(wèn)題極其matlab解法 如果目標(biāo)函數(shù)或約束條件中包含非線性函數(shù),就稱這種規(guī)劃問(wèn)題為非線性規(guī)

    2024年02月06日
    瀏覽(32)
  • 自學(xué)SLAM(8)《第四講:相機(jī)模型與非線性優(yōu)化》作業(yè)

    自學(xué)SLAM(8)《第四講:相機(jī)模型與非線性優(yōu)化》作業(yè)

    小編研究生的研究方向是視覺(jué)SLAM,目前在自學(xué),本篇文章為初學(xué)高翔老師課的第四次作業(yè)。 現(xiàn)實(shí)?活中的圖像總存在畸變。原則上來(lái)說(shuō),針孔透視相機(jī)應(yīng)該將三維世界中的直線投影成直線,但是當(dāng)我們使???和魚眼鏡頭時(shí),由于畸變的原因,直線在圖像?看起來(lái)是扭曲的

    2024年02月05日
    瀏覽(26)
  • 三種用python進(jìn)行線性/非線性擬合的方法

    三種用python進(jìn)行線性/非線性擬合的方法

    使用回歸分析繪制擬合曲線是一種常見(jiàn)的方法,簡(jiǎn)單線性回歸就是其中的一種。簡(jiǎn)單線性回歸可以通過(guò) 最小二乘法 來(lái)計(jì)算回歸系數(shù)。以下是一個(gè)使用簡(jiǎn)單線性回歸來(lái)擬合數(shù)據(jù)的代碼示例: 在該代碼中,np.polyfit函數(shù)可以用來(lái)計(jì)算簡(jiǎn)單線性回歸的回歸系數(shù)。plot函數(shù)用來(lái)繪制擬

    2024年02月11日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包