Tự Học ML | Tổng Hợp Thư Viện Python Tốt Nhất Cho ML(Machine ...
🔥CHỌN LỌC TOP NHỮNG KHOÁ HỌC LẬP TRÌNH ONLINE NHIỀU NGƯỜI THEO HOC TẠI ĐÂY🔥
Sau đây Cafedev chia sẻ cho ace một số lib Python dành cho ML tốt nhất hiện nay, như tên gọi cho thấy, là khoa học lập trình một máy tính mà chúng có thể học từ các loại dữ liệu khác nhau. Một định nghĩa chung hơn được đưa ra bởi Arthur Samuel là – “ML là lĩnh vực nghiên cứu cung cấp cho máy tính khả năng học mà không cần được lập trình rõ ràng”. Chúng thường được sử dụng để giải quyết các loại vấn đề trong cuộc sống.
Ngày xưa, mọi người thường thực hiện các tác vụ ML bằng cách mã hóa thủ công tất cả các thuật toán và công thức toán học và thống kê. Điều này làm cho quá trình mất thời gian, tẻ nhạt và không hiệu quả. Nhưng trong thời hiện đại, nó trở nên dễ dàng và hiệu quả hơn rất nhiều so với ngày xưa bởi các thư viện, khuôn khổ và mô-đun python khác nhau. Ngày nay, Python là một trong những ngôn ngữ lập trình phổ biến nhất cho nhiệm vụ này và nó đã thay thế nhiều ngôn ngữ trong ngành, một trong những lý do là bộ sưu tập thư viện khổng lồ của nó. Các thư viện Python được sử dụng trong ML là:
- Numpy
- Scipy
- Scikit-learn
- Theano
- TensorFlow
- Keras
- PyTorch
- Pandas
- Matplotlib
Nếu ace nào chưa biết hoặc tìm hiểu sâu hơn về Python với series tự học Python cùng với Cafedev.
1. Numpy
NumPy là một thư viện python rất phổ biến để xử lý mảng và ma trận lớn đa chiều, với sự trợ giúp của một bộ sưu tập lớn các hàm toán học cấp cao. Nó rất hữu ích cho các tính toán khoa học cơ bản trong ML. Nó đặc biệt hữu ích cho các khả năng đại số tuyến tính, biến đổi Fourier và số ngẫu nhiên. Các thư viện cao cấp như TensorFlow sử dụng NumPy để thao tác với Tensor.
Để biết thêm chi tiết, hãy tham khảo tài liệu.
# ----------------------------------------------------------- #Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam #@author cafedevn #Contact: cafedevn@gmail.com #Fanpage: https://www.facebook.com/cafedevn #Group: https://www.facebook.com/groups/cafedev.vn/ #Instagram: https://instagram.com/cafedevn #Twitter: https://twitter.com/CafedeVn #Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/ #Pinterest: https://www.pinterest.com/cafedevvn/ #YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/ # ----------------------------------------------------------- # Python program using NumPy # for some basic mathematical # operations import numpy as np # Creating two arrays of rank 2 x = np.array([[1, 2], [3, 4]]) y = np.array([[5, 6], [7, 8]]) # Creating two arrays of rank 1 v = np.array([9, 10]) w = np.array([11, 12]) # Inner product of vectors print(np.dot(v, w), "\n") # Matrix and Vector product print(np.dot(x, v), "\n") # Matrix and matrix product print(np.dot(x, y))Output
219 [29 67] [[19 22] [43 50]]2. SciPy
SciPy là một thư viện rất phổ biến đối với những người đam mê ML vì nó chứa các mô-đun khác nhau để tối ưu hóa, đại số tuyến tính, tích hợp và thống kê. Có một sự khác biệt giữa thư viện SciPy và ngăn xếp SciPy. SciPy là một trong những gói cốt lõi tạo nên ngăn xếp SciPy. SciPy cũng rất hữu ích cho việc thao tác hình ảnh.
# ----------------------------------------------------------- #Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam #@author cafedevn #Contact: cafedevn@gmail.com #Fanpage: https://www.facebook.com/cafedevn #Group: https://www.facebook.com/groups/cafedev.vn/ #Instagram: https://instagram.com/cafedevn #Twitter: https://twitter.com/CafedeVn #Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/ #Pinterest: https://www.pinterest.com/cafedevvn/ #YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/ # ----------------------------------------------------------- # Python script using Scipy # for image manipulation from scipy.misc import imread, imsave, imresize # Read a JPEG image into a numpy array img = imread('D:/Programs / cat.jpg') # path of the image print(img.dtype, img.shape) # Tinting the image img_tint = img * [1, 0.45, 0.3] # Saving the tinted image imsave('D:/Programs / cat_tinted.jpg', img_tint) # Resizing the tinted image to be 300 x 300 pixels img_tint_resize = imresize(img_tint, (300, 300)) # Saving the resized tinted image imsave('D:/Programs / cat_tinted_resized.jpg', img_tint_resize)Output
Hình gốc
Hình ảnh màu:
Đổi size hình màu:
Để biết thêm chi tiết, hãy tham khảo tài liệu.
3. Scikit-learn
Skikit-learning là một trong những thư viện ML phổ biến nhất cho các thuật toán ML cổ điển. Nó được xây dựng dựa trên hai thư viện Python cơ bản, viz., NumPy và SciPy. Scikit-learning hỗ trợ hầu hết các thuật toán học có giám sát và không giám sát. Scikit-learning cũng có thể được sử dụng để khai thác dữ liệu và phân tích dữ liệu, điều này làm cho nó trở thành một công cụ tuyệt vời cho những người mới bắt đầu với ML.
# Python script using Scikit-learn # for Decision Tree Clasifier # Sample Decision Tree Classifier from sklearn import datasets from sklearn import metrics from sklearn.tree import DecisionTreeClassifier # load the iris datasets dataset = datasets.load_iris() # fit a CART model to the data model = DecisionTreeClassifier() model.fit(dataset.data, dataset.target) print(model) # make predictions expected = dataset.target predicted = model.predict(dataset.data) # summarize the fit of the model print(metrics.classification_report(expected, predicted)) print(metrics.confusion_matrix(expected, predicted))Output
DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=None, max_features=None, max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None, min_samples_leaf=1, min_samples_split=2, min_weight_fraction_leaf=0.0, presort=False, random_state=None, splitter='best') precision recall f1-score support 0 1.00 1.00 1.00 50 1 1.00 1.00 1.00 50 2 1.00 1.00 1.00 50 micro avg 1.00 1.00 1.00 150 macro avg 1.00 1.00 1.00 150 weighted avg 1.00 1.00 1.00 150 [[50 0 0] [ 0 50 0] [ 0 0 50]]Để biết thêm chi tiết, hãy tham khảo tài liệu.
4. Theano
Chúng ta đều biết rằng Machine Learning về cơ bản là toán học và thống kê. Theano là một thư viện python phổ biến được sử dụng để xác định, đánh giá và tối ưu hóa các biểu thức toán học liên quan đến mảng nhiều chiều một cách hiệu quả. Nó đạt được bằng cách tối ưu hóa việc sử dụng CPU và GPU. Nó được sử dụng rộng rãi để kiểm tra đơn vị và tự xác minh để phát hiện và chẩn đoán các loại lỗi khác nhau. Theano là một thư viện rất mạnh đã được sử dụng trong các dự án khoa học chuyên sâu về tính toán quy mô lớn từ lâu nhưng đủ đơn giản và dễ tiếp cận để các cá nhân sử dụng cho các dự án của riêng họ.
# Python program using Theano # for computing a Logistic # Function import theano import theano.tensor as T x = T.dmatrix('x') s = 1 / (1 + T.exp(-x)) logistic = theano.function([x], s) logistic([[0, 1], [-1, -2]])Output:
array([[0.5, 0.73105858], [0.26894142, 0.11920292]])Để biết thêm chi tiết, hãy tham khảo tài liệu.
5. TensorFlow
TensorFlow là một thư viện mã nguồn mở rất phổ biến để tính toán số hiệu suất cao được phát triển bởi nhóm Google Brain của Google. Như tên cho thấy, Tensorflow là một khuôn khổ liên quan đến việc xác định và chạy các phép tính liên quan đến các tensor. Nó có thể đào tạo và chạy các mạng thần kinh sâu có thể được sử dụng để phát triển một số ứng dụng AI. TensorFlow được sử dụng rộng rãi trong lĩnh vực nghiên cứu và ứng dụng học sâu.
# Python program using TensorFlow # for multiplying two arrays # import `tensorflow` import tensorflow as tf # Initialize two constants x1 = tf.constant([1, 2, 3, 4]) x2 = tf.constant([5, 6, 7, 8]) # Multiply result = tf.multiply(x1, x2) # Initialize the Session sess = tf.Session() # Print the result print(sess.run(result)) # Close the session sess.close()Output
[ 5 12 21 32]Để biết thêm chi tiết, hãy tham khảo tài liệu.
6. Keras
Keras là một thư viện ML rất phổ biến cho Python. Nó là một API mạng thần kinh cấp cao có khả năng chạy trên TensorFlow, CNTK hoặc Theano. Nó có thể chạy liên tục trên cả CPU và GPU. Keras làm cho nó thực sự dành cho người mới bắt đầu ML để xây dựng và thiết kế Mạng thần kinh. Một trong những điều tốt nhất về Keras là nó cho phép tạo mẫu dễ dàng và nhanh chóng.
Để biết thêm chi tiết, hãy tham khảo tài liệu.
7. PyTorch
PyTorch là một thư viện ML mã nguồn mở phổ biến cho Python dựa trên Torch, là một thư viện ML mã nguồn mở được triển khai bằng C với trình bao bọc trong Lua. Nó có nhiều lựa chọn về công cụ và thư viện hỗ trợ Thị giác máy tính, Xử lý ngôn ngữ tự nhiên (NLP) và nhiều chương trình ML khác. Nó cho phép các developer thực hiện tính toán trên Tensors với khả năng tăng tốc GPU và cũng giúp tạo đồ thị tính toán.
# ----------------------------------------------------------- #Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam #@author cafedevn #Contact: cafedevn@gmail.com #Fanpage: https://www.facebook.com/cafedevn #Group: https://www.facebook.com/groups/cafedev.vn/ #Instagram: https://instagram.com/cafedevn #Twitter: https://twitter.com/CafedeVn #Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/ #Pinterest: https://www.pinterest.com/cafedevvn/ #YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/ # ----------------------------------------------------------- # Python program using PyTorch # for defining tensors fit a # two-layer network to random # data and calculating the loss import torch dtype = torch.float device = torch.device("cpu") # device = torch.device("cuda:0") Uncomment this to run on GPU # N is batch size; D_in is input dimension; # H is hidden dimension; D_out is output dimension. N, D_in, H, D_out = 64, 1000, 100, 10 # Create random input and output data x = torch.randn(N, D_in, device = device, dtype = dtype) y = torch.randn(N, D_out, device = device, dtype = dtype) # Randomly initialize weights w1 = torch.randn(D_in, H, device = device, dtype = dtype) w2 = torch.randn(H, D_out, device = device, dtype = dtype) learning_rate = 1e-6 for t in range(500): # Forward pass: compute predicted y h = x.mm(w1) h_relu = h.clamp(min = 0) y_pred = h_relu.mm(w2) # Compute and print loss loss = (y_pred - y).pow(2).sum().item() print(t, loss) # Backprop to compute gradients of w1 and w2 with respect to loss grad_y_pred = 2.0 * (y_pred - y) grad_w2 = h_relu.t().mm(grad_y_pred) grad_h_relu = grad_y_pred.mm(w2.t()) grad_h = grad_h_relu.clone() grad_h[h < 0] = 0 grad_w1 = x.t().mm(grad_h) # Update weights using gradient descent w1 -= learning_rate * grad_w1 w2 -= learning_rate * grad_w2Output
0 47168344.0 1 46385584.0 2 43153576.0 ... ... ... 497 3.987660602433607e-05 498 3.945609932998195e-05 499 3.897604619851336e-05Để biết thêm chi tiết, hãy tham khảo tài liệu.
8. Pandas
Pandas là một thư viện Python phổ biến để phân tích dữ liệu. Nó không liên quan trực tiếp đến ML. Như chúng ta biết rằng tập dữ liệu phải được chuẩn bị trước khi đào tạo. Trong trường hợp này, Pandas rất tiện lợi vì nó được phát triển đặc biệt để khai thác và chuẩn bị dữ liệu. Nó cung cấp cấu trúc dữ liệu cấp cao và nhiều công cụ đa dạng để phân tích dữ liệu. Nó cung cấp nhiều phương pháp có sẵn để dò tìm, kết hợp và lọc dữ liệu.
# Python program using Pandas for # arranging a given set of data # into a table # importing pandas as pd import pandas as pd data = {"country": ["Brazil", "Russia", "India", "China", "South Africa"], "capital": ["Brasilia", "Moscow", "New Dehli", "Beijing", "Pretoria"], "area": [8.516, 17.10, 3.286, 9.597, 1.221], "population": [200.4, 143.5, 1252, 1357, 52.98] } data_table = pd.DataFrame(data) print(data_table)Output
Để biết thêm chi tiết, hãy tham khảo Pandas.
9. Matplotlib
Matpoltlib là một thư viện Python rất phổ biến để trực quan hóa dữ liệu. Giống như Pandas, nó không liên quan trực tiếp đến ML. Nó đặc biệt hữu ích khi một lập trình viên muốn hình dung các mẫu trong dữ liệu. Nó là một thư viện vẽ đồ thị 2D được sử dụng để tạo đồ thị và đồ thị 2D. Mô-đun có tên pyplot giúp lập trình viên dễ dàng vẽ biểu đồ vì nó cung cấp các tính năng kiểm soát kiểu đường, thuộc tính phông chữ, trục định dạng, v.v. , Vân vân,
# Python program using Matplotib # for forming a linear plot # importing the necessary packages and modules import matplotlib.pyplot as plt import numpy as np # Prepare the data x = np.linspace(0, 10, 100) # Plot the data plt.plot(x, x, label ='linear') # Add a legend plt.legend() # Show the plot plt.show()Output
Để biết thêm chi tiết, hãy tham khảo tài liệu.
Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.
Nguồn và Tài liệu tiếng anh tham khảo:
- w3school
- python.org
- geeksforgeeks
Tài liệu từ cafedev:
- Full series tự học Python từ cơ bản tới nâng cao tại đây nha.
- Tự học ML bằng Python từ cơ bản tới nâng cao.
- Ebook về python tại đây.
- Các series tự học lập trình MIỄN PHÍ khác
- Nơi liên hệ hợp tác hoặc quảng cáo cùng Cafedevn tại đây.
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
- Group Facebook
- Fanpage
- Youtube
- Trang chủ
Chào thân ái và quyết thắng!
Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!
Từ khóa » Thư Viện Ai Python
-
Top Các Thư Viện Python Sử Dụng Cho Lập Trình Trí Tuệ Nhân Tạo - Blog
-
Top 10 Thư Viện Python Tốt Nhất Cho Data Scientist Nửa đầu Năm 2022
-
Thư Viện Python: Cái Nào Tốt Nhất Cho Vai Trò Gì? | TopDev
-
Thư Viện Mì AI - Sách, Dataset Miễn Phí Cho Các Bạn Học AI
-
Top 5 Thư Viện Python Hữu ích Cho Lập Trình Viên - T3H
-
5 Thư Viện Python Hữu Ích Cho Các Dự Án Machine Learning 2022
-
Lập Trình AI Bằng Python Có Thật Sự Hiệu Quả Như Những Ngôn Ngữ ...
-
TOP THƯ VIỆN PYTHON TỐT NHẤT - Hybrid Technologies
-
Beginner Cần Biết: Top 30 Thư Viện Python Tốt Nhất (Phần 1)
-
TOP 10 THƯ VIỆN PYTHON HÀNG ĐẦU TRONG NĂM 2021 (PHẦN 1)
-
Cách Cài đặt Thư Viện Python - Viblo
-
Các Thư Viện Python Mã Nguồn Mở Phổ Biến IRenderFarm Với AI ...
-
20 Thư Viện Python Bạn Không Thể Sống Thiếu Chúng - Techmaster
-
Top 5 Thư Viện Python Cho Machine Learning. - NordicCoder