- ตัวดำเนินการ
-
เรียนรู้
ศูนย์การเรียนรู้ Python ตัวอย่างที่รันได้, NumPy, pandas และอื่น ๆ ศูนย์การเรียนรู้ C และ C++ พอยน์เตอร์ หน่วยความจำ STL และ C++ สมัยใหม่ ศูนย์การเรียนรู้ C#พื้นฐาน C#, OOP, LINQ, async และแบบฝึกหัด .NET อัลกอริทึม Python การค้นหา การเรียงลำดับ รีเคอร์ชัน และภาพจำลอง O(n) อัลกอริทึม C และ C++ เปรียบเทียบการเขียนด้วย C และ C++
- โจทย์
การถดถอยโลจิสติก เป็นโมเดลเชิงเส้นสำหรับคำถามแบบใช่หรือไม่ สำหรับแต่ละตัวอย่าง มันคำนวณความน่าจะเป็นแล้วแปลงเป็นคลาส:
- z = x₁×w₁ + … + xₙ×wₙ + bias
- p = 1 / (1 + e^(-z))
- คลาส = 1 ถ้า p ≥ threshold ไม่เช่นนั้น 0
จงเขียน logistic_predict(samples, weights, bias, threshold)
อินพุต
samples: หนึ่งแถวของฟีเจอร์ n ตัวต่อตัวอย่าง
weights: น้ำหนัก n ค่า
bias: ไบแอส
threshold: ความน่าจะเป็นที่ต้องถึงเพื่อทำนายคลาส 1 (อยู่ระหว่าง 0 และ 1 โดยไม่รวมขอบ)
เอาต์พุต
คืนค่าคลาสที่ทำนาย (0 หรือ 1) ของแต่ละตัวอย่างตามลำดับ
เงื่อนไข
1 ≤ จำนวนตัวอย่าง ≤ 1,000, 1 ≤ n ≤ 50
-100 ≤ ฟีเจอร์ น้ำหนัก และไบแอสแต่ละค่า ≤ 100
0 < threshold < 1
ตัวอย่าง
ตัวอย่างที่ 1
อินพุต:
bias = -1.0
samples = [
[2.0, 1.0],
[0.0, 0.0],
[-1.0, -3.0]
]
weights = [1.5, -0.5]
threshold = 0.5
ผลลัพธ์ที่คาดหวัง:
[1, 0, 0]
คำอธิบาย
ตัวอย่าง 1: z = 3 - 0.5 - 1 = 1.5, p ≈ 0.818 → 1 ตัวอย่าง 2: z = -1, p ≈ 0.269 → 0 ตัวอย่าง 3: z = -1.5 + 1.5 - 1 = -1, p ≈ 0.269 → 0 ผลลัพธ์: [1, 0, 0]
ตัวอย่างที่ 2
อินพุต:
bias = -2.0
samples = [
[1.0],
[2.0],
[3.0]
]
weights = [1.0]
threshold = 0.7
ผลลัพธ์ที่คาดหวัง:
[0, 0, 1]
คำอธิบาย
ความน่าจะเป็นคือ σ(-1) ≈ 0.269, σ(0) = 0.5 และ σ(1) ≈ 0.731 มีเพียงค่าสุดท้ายที่ถึงเกณฑ์ 0.7 ผลลัพธ์จึงเป็น [0, 0, 1]
แหล่งอ้างอิง
-
ตัวอย่างที่ 1 ยังไม่ได้รันอินพุต:
bias = -1.0 samples = [ [2.0, 1.0], [0.0, 0.0], [-1.0, -3.0] ] weights = [1.5, -0.5] threshold = 0.5ผลลัพธ์ที่คาดหวัง:[1, 0, 0]เอาต์พุตของคุณ -
ตัวอย่างที่ 2 ยังไม่ได้รันอินพุต:
bias = -2.0 samples = [ [1.0], [2.0], [3.0] ] weights = [1.0] threshold = 0.7ผลลัพธ์ที่คาดหวัง:[0, 0, 1]เอาต์พุตของคุณ
มี 4 การทดสอบที่ซ่อนอยู่จะถูกรันเมื่อคุณส่งคำตอบ
คอมไพเลอร์และดีบักเกอร์ C# ออนไลน์
เขียน คอมไพล์ รัน และดีบัก C# ออนไลน์ ใช้ breakpoint การทำงานทีละขั้น และการตรวจสอบออบเจ็กต์ใน IDE หลายไฟล์โดยไม่ต้องใช้ Visual Studio
🚀 350,747 การดำเนินการทั้งหมด (1 ในเดือนนี้)
ฝึก C# ด้วยโจทย์เขียนโค้ด
แก้โจทย์จริงใน editor นี้: รันทดสอบตัวอย่าง ส่งคำตอบ และรับรีวิวโค้ดจาก AI
🔷 เกี่ยวกับตัวรัน C# / .NET ออนไลน์นี้
CodeUtility C# Executor ช่วยให้คุณเขียนและรันโค้ด C# จริงได้โดยตรงในเบราว์เซอร์ของคุณ - ไม่ต้องติดตั้ง ไม่ต้องตั้งค่า Visual Studio หรือ .NET SDK ใช้งานผ่านแซนด์บ็อกซ์ที่ปลอดภัยซึ่งรองรับ .NET runtime และเวอร์ชันภาษา C# สมัยใหม่ รวมถึง C# 9 และใหม่กว่านั้น
เครื่องมือนี้ใช้ dotnet-script เบื้องหลังในการคอมไพล์และรันโค้ดของคุณด้วยพฤติกรรม .NET แท้ๆ ทำให้คุณลองเล่นได้ทั้งฟีเจอร์ C# พื้นฐานและขั้นสูง เช่น LINQ, async/await, pattern matching และ generics
คุณสามารถทดสอบสคริปต์ง่ายๆ ฟังก์ชัน และลำดับตรรกะ หรือสำรวจแนวคิดอย่างคลาส โครงสร้าง (structs), การสืบทอด (inheritance) และอินเทอร์เฟซ - ทั้งหมดนี้ในสภาพแวดล้อมการเขียนโค้ดที่สะอาดและปราศจากสิ่งรบกวน
ไม่ว่าคุณกำลังเรียนรู้ C#, ทดสอบอัลกอริทึมหรือทดลองฟีเจอร์ .NET เครื่องมือ CodeUtility C# Executor มอบวิธีที่รวดเร็ว ปลอดภัย และเชื่อถือได้ในการรันโค้ด C# ได้ทันทีจากทุกเบราว์เซอร์
มากกว่าเครื่องมือรันโค้ด
ใช้ตัวแก้ไขหลายไฟล์ เทอร์มินัลประมวลผลแบบแยกส่วน ไลบรารีเฉพาะรันไทม์ พื้นที่ทำงานถาวร การแชร์ และการทำงานร่วมกันแบบเรียลไทม์ได้จากตัวประมวลผลเดียวกัน
วิธีใช้ตัวประมวลผลนี้
เลือกรันไทม์ เปิดหรือสร้างไฟล์ เขียนโค้ด แล้วเลือกเรียกใช้ ผลลัพธ์จะแสดงในเทอร์มินัล ส่วนผู้ใช้ที่ลงชื่อเข้าใช้สามารถเก็บไฟล์ในพื้นที่ทำงาน ติดตั้งไลบรารี และทำงานร่วมกันผ่านการแชร์ได้
- เลือกเวอร์ชันแล้วแก้ไขไฟล์ปัจจุบัน หรือเปิดไฟล์อื่นในพื้นที่ทำงาน
- เรียกใช้โค้ด ป้อนข้อมูลในเทอร์มินัลเมื่อระบบร้องขอ และตรวจสอบประวัติการเรียกใช้ที่บันทึกไว้
- ใช้ไลบรารี เครื่องมือพื้นที่ทำงาน การแชร์ และแชท เมื่องานของคุณต้องใช้โค้ดมากกว่าหนึ่งส่วน
💡 พื้นฐาน C# และตัวอย่างที่คุณลองได้ด้านบน
1. การประกาศตัวแปรและค่าคงที่
C# ใช้การประกาศตัวแปรแบบชนิดชัดเจน (strongly-typed) ใช้ const สำหรับค่าคงที่ตอนคอมไพล์ และ readonly สำหรับค่าคงที่ตอนรันไทม์
int age = 30;
double pi = 3.14159;
char grade = 'A';
string name = "Alice";
bool isActive = true;
// ค่าคงที่
const int MaxUsers = 100;
const string Company = "CodeUtility";
2. เงื่อนไข (if / switch)
ใช้ if, else if และ switch เพื่อควบคุมโฟลว์การทำงาน
int x = 2;
if (x == 1)
{
Console.WriteLine("หนึ่ง");
}
else if (x == 2)
{
Console.WriteLine("สอง");
}
else
{
Console.WriteLine("อื่น ๆ");
}
switch (x)
{
case 1:
Console.WriteLine("หนึ่ง");
break;
case 2:
Console.WriteLine("สอง");
break;
default:
Console.WriteLine("อื่น ๆ");
break;
}
3. ลูป
C# รองรับลูปแบบ for, while และ foreach
for (int i = 0; i < 3; i++)
{
Console.WriteLine(i);
}
int n = 3;
while (n > 0)
{
Console.WriteLine(n);
n--;
}
4. อาเรย์
อาเรย์ใช้เก็บคอลเลกชันขนาดคงที่ของสมาชิกชนิดเดียวกัน
int[] numbers = { 10, 20, 30 };
Console.WriteLine(numbers[1]);
5. การจัดการรายการ (List)
ใช้ List<T> สำหรับคอลเลกชันที่ยืดหยุ่นได้ (ไดนามิก)
List<int> nums = new List<int> { 1, 2, 3 };
nums.Add(4);
nums.Remove(2);
foreach (int n in nums)
{
Console.Write(n + " ");
}
6. อินพุต/เอาต์พุตคอนโซล
ใช้ Console.WriteLine และ Console.ReadLine สำหรับ I/O พื้นฐาน
Console.Write("กรอกชื่อของคุณ: ");
string name = Console.ReadLine();
Console.WriteLine($"สวัสดี, {name}!");
7. ฟังก์ชัน
กำหนดเมธอดโดยระบุชนิดค่าที่ส่งคืน ชื่อ และพารามิเตอร์
int Add(int a, int b)
{
return a + b;
}
Console.WriteLine(Add(3, 4));
8. ดิกชันนารี
Dictionary<TKey, TValue> ใช้เก็บคู่คีย์-ค่า
Dictionary<string, int> ages = new Dictionary<string, int>();
ages["Alice"] = 30;
Console.WriteLine(ages["Alice"]);
9. การจัดการข้อยกเว้น
จัดการข้อผิดพลาดขณะรันด้วย try, catch, และ finally
try
{
throw new Exception("มีบางอย่างผิดพลาด");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
10. การทำงานกับไฟล์ (File I/O)
ใช้ File และ StreamReader/StreamWriter สำหรับการทำงานกับไฟล์
File.WriteAllText("file.txt", "สวัสดีไฟล์");
string text = File.ReadAllText("file.txt");
Console.WriteLine(text);
11. การจัดการสตริง
สตริงใน C# รองรับเมธอดอย่าง Length, Substring, Contains
string message = "Hello World";
Console.WriteLine(message.Length);
Console.WriteLine(message.Substring(0, 5));
Console.WriteLine(message.Contains("World"));
12. คลาสและออบเจ็กต์
C# รองรับการเขียนโปรแกรมเชิงวัตถุผ่านคลาสและออบเจ็กต์
class Person
{
public string Name;
public Person(string name) => Name = name;
public void Greet() => Console.WriteLine($"สวัสดี ฉันชื่อ {Name}");
}
Person p = new Person("Alice");
p.Greet();