scikit-learn是python的第三方機(jī)器學(xué)習(xí)庫(kù),里面集成了大量機(jī)器學(xué)習(xí)的常用方法。例如:貝葉斯,svm,knn等。
創(chuàng)新互聯(lián)成立十余年來(lái),這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、主機(jī)域名、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。網(wǎng)站是否美觀、功能強(qiáng)大、用戶體驗(yàn)好、性價(jià)比高、打開快等等,這些對(duì)于網(wǎng)站建設(shè)都非常重要,創(chuàng)新互聯(lián)通過(guò)對(duì)建站技術(shù)性的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。scikit-learn的官網(wǎng) : http://scikit-learn.org/stable/index.html點(diǎn)擊打開鏈接
SVR是支持向量回歸(support vector regression)的英文縮寫,是支持向量機(jī)(SVM)的重要的應(yīng)用分支。
scikit-learn中提供了基于libsvm的SVR解決方案。
PS:libsvm是臺(tái)灣大學(xué)林智仁教授等開發(fā)設(shè)計(jì)的一個(gè)簡(jiǎn)單、易于使用和快速有效的SVM模式識(shí)別與回歸的軟件包。
我們自己隨機(jī)產(chǎn)生一些值,然后使用sin函數(shù)進(jìn)行映射,使用SVR對(duì)數(shù)據(jù)進(jìn)行擬合
from __future__ import division import time import numpy as np from sklearn.svm import SVR from sklearn.model_selection import GridSearchCV from sklearn.model_selection import learning_curve import matplotlib.pyplot as plt rng = np.random.RandomState(0) ############################################################################# # 生成隨機(jī)數(shù)據(jù) X = 5 * rng.rand(10000, 1) y = np.sin(X).ravel() # 在標(biāo)簽中對(duì)每50個(gè)結(jié)果標(biāo)簽添加噪聲 y[::50] += 2 * (0.5 - rng.rand(int(X.shape[0]/50))) X_plot = np.linspace(0, 5, 100000)[:, None] ############################################################################# # 訓(xùn)練SVR模型 #訓(xùn)練規(guī)模 train_size = 100 #初始化SVR svr = GridSearchCV(SVR(kernel='rbf', gamma=0.1), cv=5, param_grid={"C": [1e0, 1e1, 1e2, 1e3], "gamma": np.logspace(-2, 2, 5)}) #記錄訓(xùn)練時(shí)間 t0 = time.time() #訓(xùn)練 svr.fit(X[:train_size], y[:train_size]) svr_fit = time.time() - t0 t0 = time.time() #測(cè)試 y_svr = svr.predict(X_plot) svr_predict = time.time() - t0