日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

vb.net2019-Accord.Net机器学习库安装与SVM简单分类

發布時間:2025/3/12 asp.net 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vb.net2019-Accord.Net机器学习库安装与SVM简单分类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


新建一個窗口項目。

PM> Install-Package Accord -Version 3.8.0 正在嘗試收集與目標為“.NETFramework,Version=v4.6”的項目“learnai”有關的包“Accord.3.8.0”的依賴項信息 正在嘗試解析程序包“Accord.3.8.0”的依賴項,DependencyBehavior 為“Lowest” 正在解析操作以安裝程序包“Accord.3.8.0” 已解析操作以安裝程序包“Accord.3.8.0”GET https://api.nuget.org/v3-flatcontainer/accord/3.8.0/accord.3.8.0.nupkgOK https://api.nuget.org/v3-flatcontainer/accord/3.8.0/accord.3.8.0.nupkg 84ms 正在安裝 Accord 3.8.0。 正在將程序包“Accord.3.8.0”添加到文件夾“E:\pro\books\AI_.net\src\AI_learn\learnai\packages” 已將程序包“Accord.3.8.0”添加到文件夾“E:\pro\books\AI_.net\src\AI_learn\learnai\packages” 已將程序包“Accord.3.8.0”添加到“packages.config” 已將“Accord 3.8.0”成功安裝到 learnaiPM> Install-Package Accord.MachineLearning PM> Install-Package Accord.Controls

先從C#程序開始,建立一個c#控制臺程序,注意引入System.Windows.Forms

using System; using Accord.Controls; using Accord.MachineLearning.VectorMachines.Learning; using Accord.Math.Optimization.Losses; using Accord.Statistics; using Accord.Statistics.Kernels;namespace GettingStarted {class Program{[MTAThread]static void Main(string[] args){double[][] inputs ={/* 1.*/ new double[] { 0, 0 },/* 2.*/ new double[] { 1, 0 }, /* 3.*/ new double[] { 0, 1 }, /* 4.*/ new double[] { 1, 1 },};int[] outputs ={ /* 1. 0 xor 0 = 0: */ 0,/* 2. 1 xor 0 = 1: */ 1,/* 3. 0 xor 1 = 1: */ 1,/* 4. 1 xor 1 = 0: */ 0,};// Create the learning algorithm with the chosen kernelvar smo = new SequentialMinimalOptimization<Gaussian>(){Complexity = 100 // Create a hard-margin SVM };// Use the algorithm to learn the svmvar svm = smo.Learn(inputs, outputs);// Compute the machine's answers for the given inputsbool[] prediction = svm.Decide(inputs);// Compute the classification error between the expected // values and the values actually predicted by the machine:double error = new AccuracyLoss(outputs).Loss(prediction);Console.WriteLine("Error: " + error);// Show results on screen ScatterplotBox.Show("Training data", inputs, outputs);ScatterplotBox.Show("SVM results", inputs, prediction.ToZeroOne());Console.ReadKey();}} }


下面是vb.net版本的

Imports Accord.ControlsImports Accord.MachineLearning.VectorMachines.LearningImports Accord.Math.Optimization.LossesImports Accord.StatisticsImports Accord.Statistics.KernelsImports SystemPublic Class Form1'異或運算的SVM分類'定義樣本Dim inputs As Double()() ={New Double() {0, 0},New Double() {1, 0},New Double() {0, 1},New Double() {1, 1}}Dim outputs As Integer() ={0,' 1. 0 Xor 0 = 01, ' 2. 1 Xor 0 = 11,' 3. 0 Xor 1 = 10' 4. 1 Xor 1 = 0}'創建高斯核的SVM分類Dim smo As New SequentialMinimalOptimization(Of Gaussian)Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Clicksmo.Complexity = 100Dim svm = smo.Learn(inputs, outputs)Dim prediction As Boolean() = svm.Decide(inputs)Dim trainError As Double = New AccuracyLoss(outputs).Loss(prediction)Label1.Text = "Error: " + Str(trainError)ScatterplotBox.Show("Training data", inputs, outputs)ScatterplotBox.Show("SVM results", inputs, prediction.ToZeroOne())End Sub

下面的示例演示了泛型類的主干定義。

Public Class classHolder(Of t)Public Sub processNewItem(ByVal newItem As t)Dim tempItem As t' Insert code that processes an item of data type t.End Sub End Class

在上面的主干中, t 是一個 類型形參,即你在聲明此類時提供的數據類型的占位符。 在代碼中的其他地方,可以通過為 classHolder 提供不同的數據類型來聲明不同版本的 t 下面的示例演示了兩個此類聲明。

Public integerClass As New classHolder(Of Integer) Friend stringClass As New classHolder(Of String)

上面的語句聲明了 構造類,在這些類中,特定的類型替換了類型形參。 此類替換會在構造類中的代碼內進行傳播。 下面的示例顯示了 processNewItem 過程在 integerClass中的外觀。

Public Sub processNewItem(ByVal newItem As Integer)Dim tempItem As Integer' Inserted code now processes an Integer item. End Sub

總結

以上是生活随笔為你收集整理的vb.net2019-Accord.Net机器学习库安装与SVM简单分类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。