คู่มือการดาวน์โหลดและติดตั้ง R และ RStudio
ค้นพบวิธีที่เราสามารถดาวน์โหลดและติดตั้ง R และ RStudio ซึ่งเป็นทั้งแบบฟรีและแบบโอเพ่นซอร์สสำหรับการเขียนโปรแกรมสถิติและกราฟิก
หากคุณเคยทำงานกับ Python สำหรับการวิเคราะห์ข้อมูลหรือการเรียนรู้ของเครื่อง คุณน่าจะเจออาร์เรย์ NumPy เป็นเครื่องมือที่มีประสิทธิภาพในการจัดการข้อมูลตัวเลข แต่บางครั้ง ข้อมูลภายในอาร์เรย์เหล่านี้จำเป็นต้องได้รับการปรับหรือ 'ทำให้เป็นมาตรฐาน' เพื่อใช้ในอัลกอริทึมของคุณอย่างมีประสิทธิภาพ แต่การทำให้อาร์เรย์เป็นปกติหมายความว่าอย่างไร
ในการทำให้อาร์เรย์ NumPy เป็นมาตรฐาน คุณต้องปรับค่าในอาร์เรย์เพื่อให้ค่าเหล่านี้อยู่ในช่วงที่กำหนด โดยทั่วไปอยู่ระหว่าง 0 ถึง 1 หรือเพื่อให้ค่าเหล่านี้มีการแจกแจงแบบปกติมาตรฐานโดยมีค่าเฉลี่ยเป็น 0 และค่าเบี่ยงเบนมาตรฐานเป็น 1 ซึ่งมักจะทำในด้านการเรียนรู้ของเครื่องและการวิเคราะห์ข้อมูลเพื่อให้แน่ใจว่าฟีเจอร์อินพุตทั้งหมดมีขนาดเท่ากัน
ในบทความนี้ เราจะมาดูกันว่าคุณสามารถทำให้อาร์เรย์ NumPy ใน Python เป็นมาตรฐานได้อย่างไร เราจะดูวิธีการต่างๆ ที่คุณสามารถใช้เพื่อทำให้อาร์เรย์ NumPy เป็นมาตรฐาน และดูตัวอย่างที่จะช่วยให้คุณเข้าใจแนวคิดได้ดีขึ้น
เข้าเรื่องกันเลย!
สารบัญ
พื้นฐานของการทำให้เป็นมาตรฐานใน Python คืออะไร?
ก่อนที่เราจะใช้การทำให้เป็นมาตรฐานใน Python คุณต้องเข้าใจว่าการทำให้เป็นมาตรฐานหมายถึงอะไร
ดังนั้น ในส่วนนี้ เราจะพูดถึงว่าการทำให้เป็นมาตรฐานคืออะไรและแนวคิดหลักของมันคืออะไร
การทำให้เป็นมาตรฐานคืออะไร?
การทำให้เป็นมาตรฐานเป็นกระบวนการที่ปรับขนาดและแปลงข้อมูลเป็นช่วงมาตรฐาน สิ่งนี้ทำได้โดยการหารแต่ละองค์ประกอบของข้อมูลด้วยพารามิเตอร์ พารามิเตอร์สามารถเป็นค่าสูงสุด ช่วง หรือบรรทัดฐานอื่นๆ
คุณสามารถทำให้อาร์เรย์ NumPy เป็นมาตรฐานได้โดยใช้บรรทัดฐานแบบยุคลิด (หรือที่เรียกว่าบรรทัดฐาน L2) นอกจากนี้ คุณยังสามารถทำให้อาร์เรย์ NumPy เป็นมาตรฐานได้ด้วยการปรับขนาดค่าใหม่ระหว่างช่วงที่กำหนด โดยปกติจะเป็น 0 ถึง 1
ใน Python ไลบรารี NumPy มีวิธีที่มีประสิทธิภาพในการทำให้อาร์เรย์เป็นปกติ ซึ่งรวมถึงอาร์เรย์และเมทริกซ์หลายมิติด้วย
เหตุใดการทำให้เป็นมาตรฐานจึงสำคัญ
การทำให้เป็นมาตรฐานมีความสำคัญเนื่องจากทำให้มั่นใจได้ว่าฟีเจอร์ต่างๆ ได้รับการปฏิบัติอย่างเท่าเทียมกันเมื่อเปรียบเทียบและวิเคราะห์ข้อมูล คุณสามารถใช้มันเพื่อขจัดอคติที่อาจเกิดขึ้นหรือความคลาดเคลื่อนที่อาจเกิดขึ้นเนื่องจากมาตราส่วนที่แตกต่างกัน
บรรทัดฐานคืออะไร?
พารามิเตอร์ที่คุณใช้สำหรับการทำให้เป็นมาตรฐานอาจเป็นบรรทัดฐาน ที่แตกต่างกัน เช่น บรรทัดฐานยุคลิด (L2), บรรทัดฐานแมนฮัตตัน (L1) หรือบรรทัดฐานสูงสุด (L_inf) คุณ ใช้บรรทัดฐานในการคำนวณขนาดของเวกเตอร์หรือเมทริกซ์ สิ่งเหล่านี้จะถูกใช้เป็นปัจจัยปรับขนาดเพื่อทำให้ข้อมูลเป็นปกติ
เมื่อทำงานกับเมทริกซ์ เรามักจะใช้Frobenius normซึ่งเป็นลักษณะทั่วไปของ Euclidean norm สำหรับอาร์เรย์หลายมิติ
ตัวอย่างต่อไปนี้แสดงการทำให้เป็นมาตรฐานของเมทริกซ์โดยใช้บรรทัดฐาน Frobenius:
import numpy as np
# Initialize your matrix
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Calculate the Frobenius norm
frobenius_norm = np.linalg.norm(matrix, 'fro')
# Normalize the matrix
normalized_matrix = matrix / frobenius_norm
print('Original Matrix:')
print(matrix)
print('nFrobenius Norm:')
print(frobenius_norm)
print('nNormalized Matrix:')
print(normalized_matrix)
รหัส Python นี้จะนำเข้าไลบรารี NumPy ก่อนและใช้เพื่อสร้างเมทริกซ์ จากนั้นจะคำนวณค่ามาตรฐาน Frobenius ของเมทริกซ์ จากนั้นหารแต่ละองค์ประกอบในเมทริกซ์ด้วยค่านี้เพื่อทำให้ค่าปกติ
ผลลัพธ์ของรหัสนี้ได้รับด้านล่าง:
Normalization ใน Machine Learning คืออะไร?
ในแมชชีนเลิร์นนิงการทำให้เป็นมาตรฐานเป็นขั้นตอนก่อนการประมวลผลที่สำคัญเนื่องจากช่วยปรับปรุงประสิทธิภาพของอัลกอริทึม
เมื่อดำเนินการเทคนิคการปรับให้เหมาะสมตามการไล่ระดับสี คุณจะพบว่าคุณลักษณะที่ปรับให้เหมาะสมนั้นมีแนวโน้มที่จะมาบรรจบกันอย่างรวดเร็วและมีประสิทธิภาพมากกว่า เนื่องจากช่วยลดความเสี่ยงของการปรับขนาดหรือการไล่ระดับสีที่หายไป
เทคนิคการทำให้เป็นมาตรฐานใน Python คืออะไร?
คุณสามารถทำให้ อาร์เรย์ NumPy เป็นปกติ ได้หลายวิธี อย่างไรก็ตาม บางวิธีได้รับความนิยมมากกว่าวิธีอื่นเนื่องจากมีประสิทธิภาพสูง
สำหรับส่วนนี้ เราจะดูสามเทคนิคการทำให้เป็นมาตรฐานที่ใช้กันอย่างแพร่หลาย:
การปรับขนาดต่ำสุด-สูงสุด
L1 การทำให้เป็นมาตรฐาน
L2 การทำให้เป็นมาตรฐาน
1. วิธีการปรับขนาดต่ำสุด-สูงสุด
มาตราส่วนขั้นต่ำ-สูงสุดเรียกอีกอย่างว่าการทำให้เป็นบรรทัดฐานเชิงเส้นหรือการปรับขนาดคุณลักษณะ ในการปรับขนาดต่ำสุด-สูงสุด เราจะปรับขนาดค่าของอาร์เรย์ NumPy เพื่อให้อยู่ในช่วงที่ระบุ โดยทั่วไปอยู่ระหว่าง 0 ถึง 1
ในการทำเช่นนี้ ให้คุณลบค่าต่ำสุดออกจากแต่ละองค์ประกอบแล้วหารผลลัพธ์ด้วยผลต่างระหว่างค่าสูงสุดและค่าต่ำสุด
คุณสามารถแสดงมาตราส่วนต่ำสุด-สูงสุดทางคณิตศาสตร์ได้ดังนี้:
x' = (x - min(x)) / (max(x) - min(x))
ตัวอย่างต่อไปนี้สาธิตวิธีการปรับขนาดต่ำสุด-สูงสุดโดยใช้ไลบรารี NumPy:
import numpy as np
# Initialize your matrix
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Perform min-max scaling
min_val = np.min(matrix)
max_val = np.max(matrix)
scaled_matrix = (matrix - min_val) / (max_val - min_val)
print('Original Matrix:')
print(matrix)
print('nMin-Max Scaled Matrix:')
print(scaled_matrix)
โค้ดนี้จะนำเข้า NumPy ก่อน จากนั้นจึงคำนวณค่าต่ำสุดและค่าสูงสุดในเมทริกซ์ ซึ่งจะปรับขนาดให้ค่าทั้งหมดอยู่ระหว่าง 0 (ตรงกับค่าต่ำสุดเดิม) และ 1 (ตรงกับค่าสูงสุดเดิม)
ผลลัพธ์ของรหัสนี้ได้รับด้านล่าง:
Min-max scaling is a very common form of scaling in machine learning and data preprocessing.
2. How to Perform L1 Normalization
L1 normalization employs the L1-norm, which is the sum of the absolute values of the array elements. This is particularly useful for sparse matrices. It ensures that the sum of the absolute values of the normalized array elements equals 1.
The formula for L1 normalization is:
x' = x / sum(|x|)
The following example shows how you can perform L1 normalization using NumPy:
import numpy as np
# Initialize your matrix
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Perform L1 normalization
l1_norm = np.linalg.norm(matrix, 1, axis=1, keepdims=True)
l1_normalized_matrix = matrix / l1_norm
print('Original Matrix:')
print(matrix)
print('nL1 Normalized Matrix:')
print(l1_normalized_matrix)
In this code, np.linalg.norm(matrix, 1, axis=1, keepdims=True) calculates the L1 norm for each row (this is done by specifying axis=1).
This operation will return a column vector where each element is the L1 norm of the corresponding row. By dividing the original matrix by these norms (performing the division element-wise), we obtain the L1 normalized version of the matrix.
The output is given below:
3. How to Perform L2 Normalization
L2 normalization uses the L2-norm, which is the square root of the sum of the squared array elements.
This method converts the normalized array into a unit vector with a 2-norm of 1. L2 normalization is useful for dimensional reduction and ensures equal importance for all features.
The formula for L2 normalization is:
x' = x / sqrt(sum(x^2))
This is how you can perform L2 normalization using NumPy:
import numpy as np
# Initialize your matrix
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Perform L2 normalization
l2_norm = np.linalg.norm(matrix, 2, axis=1, keepdims=True)
l2_normalized_matrix = matrix / l2_norm
print('Original Matrix:')
print(matrix)
print('nL2 Normalized Matrix:')
print(l2_normalized_matrix)
ในรหัสนี้np.linalg.norm(matrix, 2, axis=1, keepdims=True)คำนวณ L2 norm (Euclidean norm) สำหรับแต่ละแถว (ทำได้โดยการระบุ axis=1) การดำเนินการนี้จะส่งคืนเวกเตอร์คอลัมน์โดยที่แต่ละองค์ประกอบเป็นบรรทัดฐาน L2 ของแถวที่เกี่ยวข้อง
โดยการหารเมทริกซ์ดั้งเดิมด้วยบรรทัดฐานเหล่านี้ (ดำเนินการตามองค์ประกอบการหาร) เราจะได้เมทริกซ์ L2 เวอร์ชันมาตรฐาน
ผลลัพธ์ได้รับด้านล่าง:
เอาล่ะ ตอนนี้เราได้กล่าวถึงวิธียอดนิยมในการสร้างอาร์เรย์มาตรฐานโดยใช้ NumPy แล้ว มาดูวิธีที่คุณสามารถทำได้เช่นเดียวกันโดยใช้ไลบรารี Python อื่นๆ ในหัวข้อถัดไป
วิธีใช้ Scikit-Learn สำหรับการทำให้เป็นมาตรฐานใน Python
Scikit-learn เป็นห้องสมุด Python ที่ทรงพลังสำหรับการเรียนรู้ของเครื่อง มีเครื่องมือหลายอย่างสำหรับการประมวลผลข้อมูลล่วงหน้า
เครื่องมือหนึ่งที่คุณสามารถใช้ได้คือ โมดูล sklearn.preprocessingซึ่งมีเทคนิคต่างๆ ในการทำให้เป็นมาตรฐาน มีฟังก์ชัน Scaler, Transformers และ Normalizers ที่แตกต่างกันมากมาย อย่างไรก็ตาม เราจะมุ่งเน้นไปที่MinMaxScalerและฟังก์ชันNormalize
ในการประมวลผลข้อมูลล่วงหน้าด้วย scikit-learn คุณใช้ API ของหม้อแปลงเป็นหลัก ซึ่งรวมถึงเมธอดfit , transformและfit_transform
1. วิธีปรับอาร์เรย์ให้เป็นมาตรฐานโดยใช้ MinMaxScaler
MinMaxScaler เป็นตัววัดขนาดที่ปรับข้อมูลให้เป็นมาตรฐานในช่วงที่ระบุ โดยปกติจะเป็น [0, 1 ]
สูตรสำหรับ MinMaxScalar ได้รับด้านล่าง:
scaled_value = (value - min_value) / (max_value - min_value)
หากต้องการใช้MinMaxScalerคุณสามารถทำตามขั้นตอนเหล่านี้:
นำเข้าไลบรารีที่จำเป็น:
import numpy as np
from sklearn.preprocessing import MinMaxScaler
สร้างอาร์เรย์ NumPy:
data = np.array([[1., 2., 5.], [3., 6., 8.], [5., 10., 12.]])
สร้างอินสแตนซ์ของMinMaxScalerและปรับให้เข้ากับข้อมูล:
scaler = MinMaxScaler()
scaler.fit(data)
แปลงข้อมูลโดยใช้ วิธี การแปลงหรือfit_transform :
normalized_data = scaler.transform(data)
ผลลัพธ์ของรหัสนี้ได้รับด้านล่าง:
อย่างที่คุณเห็นในเอาต์พุตว่าMinMaxScalarMatrixมีค่าตั้งแต่ 0 ถึง 1 เท่านั้น
2. วิธีการดำเนินการทำให้เป็นบรรทัดฐานของแถวในสถานที่
คุณยังสามารถใช้การปรับมาตรฐานของแถวแบบแทนที่ได้โดยใช้ฟังก์ชันทำให้เป็นมาตรฐาน
วิธีนี้ทำให้อาร์เรย์อินพุตหรือคุณลักษณะแต่ละรายการเป็นมาตรฐานโดยอิสระโดยปรับขนาดเวกเตอร์ให้เป็นบรรทัดฐานของหน่วย ตามค่าเริ่มต้น ฟังก์ชัน นอร์มัลไลซ์จะใช้บรรทัดฐาน L2 เพื่อทำการทำให้เป็นมาตรฐานอย่างง่าย แต่คุณสามารถเลือกตัวเลือกบรรทัดฐานอื่นๆ ได้
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการปรับมาตรฐานของแถวในตำแหน่ง:
from sklearn.preprocessing import normalize
import numpy as np
# Initialize your matrix
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], dtype=float)
# Apply in-place row normalization
normalize(matrix, norm='l2', copy=False)
print('L2 Normalized Matrix:')
print(matrix)
ในโค้ดนี้ เราเรียก ฟังก์ชัน normalizeจากsklearnกำหนดบรรทัดฐานที่จะใช้ ('l2' ในกรณีนี้) และตั้งค่าcopy=Falseเพื่อดำเนินการ normalization แบบแทนที่
ผลลัพธ์ของรหัสนี้ได้รับด้านล่าง:
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการเรียนรู้ของเครื่องในPythonโปรดดูวิดีโอต่อไปนี้:
ความคิดสุดท้าย
เมื่อคุณสำรวจเพิ่มเติมเกี่ยวกับวิทยาการข้อมูลและการเรียนรู้ของเครื่อง คุณจะพบว่ากระบวนการทำให้เป็นมาตรฐานเป็นขั้นตอนสำคัญในไปป์ไลน์การประมวลผลข้อมูลล่วงหน้าของคุณ
ประการแรก มันวางคุณสมบัติที่แตกต่างกันในระดับทั่วไป สิ่งนี้ทำให้โมเดลของคุณมีความไวต่อขนาดของอินพุตน้อยลง สามารถปรับปรุงประสิทธิภาพของอัลกอริธึมการเรียนรู้ของเครื่องได้อย่างมาก
ประการที่สอง มันช่วยคุณในการเร่งกระบวนการฝึกอบรม อัลกอริธึมบางอย่าง โดยเฉพาะที่ใช้การคำนวณระยะทางที่คำนวณได้ จะรวมกันเร็วขึ้นเมื่อข้อมูลถูกทำให้เป็นมาตรฐาน
การเรียนรู้วิธีการทำให้ข้อมูลเป็นมาตรฐาน ทำให้คุณมีทักษะที่สำคัญ การทำให้เป็นมาตรฐานเป็นเครื่องมือเชิงปฏิบัติที่ใช้เป็นประจำในแอปพลิเคชันในโลกแห่งความเป็นจริง มันจะช่วยให้คุณลดโอกาสที่จะได้ผลลัพธ์ที่ไม่คาดคิดเนื่องจากค่าผิดปกติหรือความแตกต่างในหน่วย
เช่นเดียวกับเครื่องมืออื่นๆ กุญแจสู่การเรียนรู้การทำให้เป็นมาตรฐานนั้นอยู่ที่การฝึกฝน ดังนั้นอย่าลังเลที่จะทำให้มือของคุณสกปรกและทดลองกับชุดข้อมูลและค่าสุ่มต่างๆ โลกของวิทยาศาสตร์ข้อมูลคือหอยนางรมของคุณ มีความสุขในการเข้ารหัส!
ค้นพบวิธีที่เราสามารถดาวน์โหลดและติดตั้ง R และ RStudio ซึ่งเป็นทั้งแบบฟรีและแบบโอเพ่นซอร์สสำหรับการเขียนโปรแกรมสถิติและกราฟิก
วิธีลดขนาดไฟล์ Excel – 6 วิธีที่มีประสิทธิภาพ
Power Automate คืออะไร? - สุดยอดคู่มือที่ช่วยให้คุณเข้าใจและใช้ได้อย่างมีประสิทธิภาพ
วิธีใช้ Power Query ใน Excel: คำแนะนำทั้งหมดเพื่อทำให้ข้อมูลของคุณมีประสิทธิภาพมากขึ้น
ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
คุณจะได้เรียนรู้วิธีการบันทึกและโหลดวัตถุจากไฟล์ .rds ใน R บล็อกนี้จะครอบคลุมถึงวิธีการนำเข้าวัตถุจาก R ไปยัง LuckyTemplates
ในบทช่วยสอนภาษาการเข้ารหัส DAX นี้ เรียนรู้วิธีใช้ฟังก์ชัน GENERATE และวิธีเปลี่ยนชื่อหน่วยวัดแบบไดนามิก
บทช่วยสอนนี้จะครอบคลุมถึงวิธีการใช้เทคนิค Multi Threaded Dynamic Visuals เพื่อสร้างข้อมูลเชิงลึกจากการแสดงข้อมูลแบบไดนามิกในรายงานของคุณ
ในบทความนี้ ฉันจะเรียกใช้ผ่านบริบทตัวกรอง บริบทตัวกรองเป็นหนึ่งในหัวข้อหลักที่ผู้ใช้ LuckyTemplates ควรเรียนรู้ในขั้นต้น
ฉันต้องการแสดงให้เห็นว่าบริการออนไลน์ของ LuckyTemplates Apps สามารถช่วยในการจัดการรายงานและข้อมูลเชิงลึกต่างๆ ที่สร้างจากแหล่งข้อมูลต่างๆ ได้อย่างไร