SciSharp Series: NumSharp, numpy rasa C#

Hi Rekan-rekan Dev,

Ngapain nih wiken begini ? Kalau belum ada rencana apa-apa yuk kenalan dengan Numsharp, yaitu library untuk komputasi numerik yang diadaptasi dari library Numpy python. Library ini bagian dari SciSharp, yaitu kumpulan library untuk Machine Learning dengan .NET, yang belum tau silakan baca-baca link berikut : SciSharp STACK

Nah kita langsung saja simak penggunaannya, yang pertama siapkan lingkungan pengembangan di PC kalian:

  1. Install dotnet Download .NET (Linux, macOS, and Windows) (microsoft.com)
  2. Install VSCode Download Visual Studio Code – Mac, Linux, Windows atau bisa juga Visual Studio Download Visual Studio Tools – Install Free for Windows, Mac, Linux (microsoft.com)

Berikut adalah contoh penggunaannya:

using NumSharp;
using NumSharpDemo;

//mengubah dimensi array jadi 2 axis: 3 dan 5
var a = np.arange(15).reshape(3, 5);
a?.Print("arrange and reshape");

//melihat ukuran tiap axis
NumsharpExtensions.Print("shape:");
NumsharpExtensions.Print(a.shape);

//jumlah dimensi
NumsharpExtensions.Print("ndim:");
NumsharpExtensions.Print(a.ndim);

//total item axis 1 x axis 2 x ... axis n
NumsharpExtensions.Print("size:");
NumsharpExtensions.Print(a.size);

//bikin 2 dimensi array dari numeric array
var b = np.array(new [,]{ {1.5, 2, 3}, { 4, 5, 6} });
b?.Print("create 2 dim array");

//bikin array isi 0 dengan parameter ukuran matrix
var c = np.zeros((3, 4));
c?.Print("create zero array");

//membuat array isi 1 dengan parameter ukuran matrix
var d = np.ones((3, 3));
d?.Print("create ones array");

//membuat array kosong dengan parameter ukuran matrix
var e = np.empty((2, 3));
e?.Print("create empty array");

//membuat deret berdasarkan rentang dan jumlah deret
var f = np.linspace(0, 2, 9);
f?.Print("linspace 0 - 2 : 9");

//aplikasi rumus dengan linspace
var g = np.linspace(0, 180, 10);
var h = np.sin(g);
g?.Print("derajat");
h?.Print("fungsi sin dari rentang derajat hasil linspace");

//bikin array dengan nilai acak
var rnd = np.random;
a = rnd.rand((2, 2));
a?.Print("buat array dengan nilai acak");

//operasi aritmatika
b = a + 10;
b?.Print("a ditambah 10");
c = a * 10;
c?.Print("a dikali 10");

//operasi matrix
d = np.array(new[,] { { 1, 1 } });
d?.Print("d");
e = np.array(new[,] { { 0, 1 },{ 2,3 } });
e?.Print("e");
f = d.dot(e);
f?.Print("perkalian matrix d . e");


//min, max
g = rnd.rand((3,3));
g?.Print("g");
g.min().Print("min");
g.max().Print("max");

//universal function
b = np.arange(8);
b.Print("b");
c = np.exp(b);
c?.Print("exp b");
//akar
d = np.sqrt(b);
d?.Print("sqrt b");


//indexing
a = np.arange(10);
a?.Print("a");
//ambil array ke 3 sampe 5
b = a["2:5"];
b?.Print("ambil array ke 3 sampe 5");

//flatten, sum, mean, std, iterasi
c = np.array(new [,] { { 1, 2 }, { 3, 4 } });
c?.Print("c");
// versi flat array dari a
d = c.flat; //or nd.flatten() for a copy
d?.Print("flatten c");
Console.WriteLine("iterasi");
// interate ndarray
foreach (object val in c)
{
Console.WriteLine(val);
}
e = d.sum();
e?.Print("sum");
d.mean().Print("mean");
d.std().Print("std");

Project contohnya bisa di unduh dari SciSharpSeries/src/NumSharpDemo at main · mifmasterz/SciSharpSeries (github.com)

Nah dengan numpy ini bakal memudahkan kamu dalam membuat fungsi-fungsi kalkulasi yang melibatkan array multi dimensi dengan mudah dan cepat, pengolahan data numerik, atau project-project machine learning kamu.

Terus berkarya rekan-rekan,

Salam Coder 😀 

 

Loading

You May Also Like