Cách xây dựng bộ phân loại trong Python

Trước khi bạn tiếp tục xây dựng thuật toán phân loại học máy của mình, đây là một câu hỏi dành cho bạn. Bạn có biết điểm chung của Tesla và Netflix là gì không?

Giám đốc điều hành của cả hai công ty đều thích tuân theo triết lý cổ xưa về “Nguyên tắc đầu tiên”

Và triết lý của những nguyên tắc đầu tiên là gì?

Nói một cách đơn giản, khi đối mặt với một vấn đề khó khăn, bạn cố gắng chia nó thành những phần nhỏ hơn và xây dựng con đường của bạn từ đó.

Nhưng tại sao 'các nguyên tắc đầu tiên' lại được đề cập trong một blog về mô hình phân loại máy học?

Trước khi xây dựng mô hình phân loại trong python, chúng ta sẽ bắt đầu một chút từ những điều cơ bản, đó là học máy. Hãy xem những gì trong cửa hàng cho chúng tôi trong blog

  • Sơ lược về học máy
  • Máy học đang được triển khai như thế nào trong giao dịch?
  • Thuật toán phân loại trong học máy là gì?
  • Các loại thuật toán phân loại trong học máy theo nhiệm vụ phân loại
  • Thực hiện phân loại trong Python
    • Bước 1. Nhập thư viện
    • Bước 2. Tìm nạp dữ liệu
    • Bước 3. Xác định biến mục tiêu
    • Bước 4. Tạo các biến dự đoán
    • Bước 5. Kiểm tra và đào tạo phân tách tập dữ liệu
    • Bước 6. Tạo mô hình phân loại học máy bằng tập dữ liệu tàu
    • Bước 7. Mô hình phân loại precision_score trong Python
    • Bước 8. Sự dự đoán
    • Bước 9. Vẽ dữ liệu phân loại trong matplotlib

Sơ lược về học máy

Hãy để chúng tôi lấy một định nghĩa đơn giản về học máy. Học máy cung cấp cho máy khả năng tự học dựa trên kinh nghiệm, quan sát và phân tích các mẫu trong quá khứ trong một tập dữ liệu nhất định mà không cần lập trình rõ ràng

Để phá vỡ nó, các lập trình viên trước đó thường viết mã rõ ràng những gì máy nên làm. Lấy ví dụ về một chiếc ô tô có trợ lực lái. Nếu tài xế bẻ vô lăng sang phải sẽ có chương trình báo cho xe di chuyển các bánh về bên phải. Điều này sẽ làm cho xe rẽ phải

Và điều gì xảy ra khi chúng ta thêm máy học vào nó?

Về cơ bản, chúng ta có thể lắp cho ô tô một camera và một số cảm biến tiệm cận sẽ giúp chương trình “nhìn thấy” những gì phía trước ô tô. Và chúng ta sẽ dạy máy kiểm tra xem có chướng ngại vật phía trước xe không, nếu không có thì tiến lên

Đây rõ ràng là một sự đơn giản hóa quá mức, nhưng đây là một trong những nguyên tắc đầu tiên khi chế tạo một chiếc xe “không người lái”. Và các công ty như Tesla, Ford và BMW đang sử dụng máy học và AI để thực hiện tất cả các nhiệm vụ này

Nếu bạn muốn biết thêm về các nguyên tắc cơ bản của máy học, hãy xem blog cơ bản về máy học

Máy học đang được triển khai như thế nào trong giao dịch?

Chúng tôi có thể sử dụng dữ liệu, có thể là OHLC hoặc dữ liệu giá, dữ liệu cơ bản hoặc dữ liệu thay thế như tweet và dữ liệu tin tức về một nội dung nhất định, để tạo mô hình máy học và sau đó sử dụng dữ liệu đó để dự đoán tương lai

Khi chúng tôi nói dự đoán tương lai, chúng tôi đang nói rằng mô hình học máy sẽ cung cấp cho chúng tôi tín hiệu về việc nên mua hay bán một tài sản để tăng lợi nhuận của chúng tôi. Tất nhiên, không ai là hoàn hảo và học máy vẫn còn một chặng đường dài trước khi nó dự đoán chính xác tương lai

Bởi vì nếu có thể, tất cả mọi người sử dụng nó sẽ là triệu phú bây giờ. Tuy nhiên, trong lĩnh vực giao dịch, học máy có thể mang lại cho bạn lợi thế đó khi vượt trội so với đối thủ

Khi nói đến học máy, có nhiều cách tiếp cận khác nhau được thực hiện để giải quyết một vấn đề. Nói rộng ra, bạn có thể xếp các mô hình học máy vào ba loại khác nhau

  • học có giám sát,
  • học tập không giám sát, và
  • học tăng cường

Trong phần tiếp theo, chúng ta hãy cố gắng hiểu cách học máy có thể giúp dự đoán tương lai bằng cách sử dụng mô hình phân loại học máy

Thuật toán phân loại trong học máy là gì?

Con người về bản chất là những sinh vật thích phân loại mọi thứ. Trên thực tế, đó là một trong những cách chúng ta học cách xác định mọi thứ

Hãy tưởng tượng một em bé đang cố gắng hiểu thế giới mà em đang nhìn thấy

  • Anh nhìn thấy cha mẹ mình, những người có hai tay và hai chân
  • Nhưng một lần khi đang ở trong vườn, anh ấy cũng chú ý đến một sinh vật có bốn chân và một cái đuôi.
  • Mẹ của em bé nói rằng sinh vật đó là một con chó
  • Sau đó, bố của đứa bé đưa hình ảnh một con mèo và nói rằng đây là một sinh vật khác
  • Bây giờ em bé có thể xác định con người, con mèo và con chó

Đây là phiên bản đơn giản hóa về cách mô hình học máy cũng học theo phân loại. Ban đầu, chúng tôi cung cấp cho mô hình học máy một số ví dụ để huấn luyện mô hình. Sau đó, chúng tôi kiểm tra xem máy đã học được bao nhiêu bằng cách đưa cho máy một số ví dụ để kiểm tra

Có nhiều loại mô hình học máy phục vụ cho các loại nhiệm vụ phân loại khác nhau. Hãy kiểm tra một số loại thuật toán học máy trong phần tiếp theo

Chúng tôi đã tuyển chọn một danh sách một số công cụ hỗ trợ học tập tốt nhất từ ​​vô số công cụ có sẵn. Dưới đây là danh sách 10 blog học máy hàng đầu

Các loại thuật toán phân loại trong học máy theo nhiệm vụ phân loại

Sau đây là các loại thuật toán phân loại khác nhau trong học máy dựa trên các phân loại khác nhau

phân loại nhị phân

Trong kiểu phân loại này, bạn chỉ có hai lớp để phân loại. Một ví dụ phổ biến là thư rác hoặc không thư rác, hoặc mua hoặc không mua

Phân loại nhiều lớp

Như tên ngụ ý, bạn có nhiều hơn hai loại lớp trong loại nhiệm vụ phân loại này. Ví dụ: mô hình sẽ phải phân loại thành mua, giữ và bán

phân loại mất cân bằng

Nếu bạn được cung cấp dữ liệu mà dữ liệu của một lớp chiếm đa số, thì đó là một loại nhiệm vụ phân loại mất cân bằng. Ví dụ: nếu dữ liệu của S&P500 được lấy và nhiệm vụ là dự đoán xem chúng ta có nên giữ nó trong một năm hay không, chúng ta sẽ thấy rằng vì S&P500 tăng hàng năm nên mô hình sẽ luôn thông báo giữ nó trong một năm

Tùy theo nhiệm vụ mà có thể lựa chọn các mô hình phân loại khác nhau. Trên thực tế, hãy xem phần học máy trong sách giao dịch, nơi chúng tôi đã giải thích các mô hình học máy khác nhau, bao gồm phân loại bằng Python. Nếu bạn muốn biết về các loại mô hình phân loại khác nhau trong Python, bạn có thể đọc tại đây

Bây giờ chúng ta hãy xây dựng một mô hình phân loại trong Python để giúp chúng ta đưa ra quyết định có nên mua một tài sản hay không

Thực hiện phân loại trong Python

Tuyên bố từ chối trách nhiệm ngắn gọn ở đây, bạn cũng có thể xây dựng mô hình phân loại học máy bằng các ngôn ngữ lập trình khác. Nhưng ở đây, chúng tôi tập trung vào phân loại trong Python vì tính linh hoạt và dễ sử dụng của nó

Mặc dù sẽ mất một thời gian để bạn thành thạo Python, nhưng bạn có thể hiểu mã và chức năng của nó nhờ sự hỗ trợ của nhiều thư viện khác nhau trong Python ngay từ ngày đầu tiên

Nếu không có các thư viện này, bạn sẽ phải mất thời gian viết mã các chức năng khác nhau để thực hiện tác vụ bạn muốn. Nhưng với những thư viện này, bạn chỉ cần viết vài dòng code là xong việc. Ở đây chúng ta sẽ sử dụng thư viện Python “sklearn” để tạo một mô hình phân loại đơn giản

Chúng tôi sẽ giải thích mã khi chúng tôi thực hiện và bạn sẽ hiểu sự đơn giản của ngôn ngữ Python

Chúng tôi sẽ triển khai thuật toán phân loại máy học trên S&P500 bằng Trình phân loại vectơ hỗ trợ [SVC]

SVC là mô hình phân loại học tập có giám sát. Một bộ dữ liệu đào tạo được cung cấp cho thuật toán phân loại học máy, mỗi dữ liệu thuộc một trong các danh mục

Chẳng hạn, các danh mục có thể là mua hoặc bán cổ phiếu. Thuật toán phân loại xây dựng một mô hình dựa trên dữ liệu huấn luyện và sau đó, phân loại dữ liệu thử nghiệm thành một trong các loại

Bước 1. Nhập thư viện

Trước khi chúng tôi bắt đầu viết mã bất kỳ chiến lược giao dịch nào, chúng tôi phải nhập các thư viện Python cần thiết sẽ cần thiết. Trong trường hợp của chúng tôi, chúng bao gồm thư viện máy học sklearn

Hơn nữa, chúng tôi sử dụng thư viện pandas để lưu trữ cũng như thực hiện các tác vụ thao tác dữ liệu khác nhau trên dữ liệu. Cuối cùng, chúng tôi sử dụng matplotlib và thư viện seaborn để trực quan hóa dữ liệu

Bước 2. Tìm nạp dữ liệu

Chúng tôi sẽ tải xuống dữ liệu S&P500 từ Yahoo. Tài chính sử dụng thư viện python yfinance

Sau đó, chúng tôi sẽ loại bỏ các giá trị còn thiếu khỏi dữ liệu và vẽ chuỗi giá đóng của S&P500

Bước 3. Xác định biến mục tiêu

Biến mục tiêu là biến mà thuật toán phân loại học máy sẽ dự đoán. Trong ví dụ này, biến mục tiêu là liệu giá S&P500 sẽ tăng hay giảm vào ngày giao dịch tiếp theo. Nói cách khác, liệu S&P500 sẽ tăng hay giảm vào ngày giao dịch tiếp theo

Trước tiên, chúng tôi sẽ xác định tín hiệu giao dịch thực tế bằng cách sử dụng logic sau

  • Nếu giá đóng cửa của ngày giao dịch tiếp theo lớn hơn giá đóng cửa của ngày hôm nay, thì chúng ta sẽ mua chỉ số S&P500
  • Nếu không, chúng tôi sẽ bán chỉ số S&P500
  • Chúng tôi sẽ lưu trữ +1 cho tín hiệu mua và -1 cho tín hiệu bán

Chúng tôi sử dụng. shift để dịch cột giá đóng cửa. Tham số -1 cho biết chúng ta tăng giá đóng cửa của ngày hôm sau

Biến mục tiêu là một vế của phương trình. Bây giờ, chúng ta cần thứ gì đó sẽ giúp mô hình học hỏi và đây là các biến dự đoán. Chúng ta sẽ xem xét chúng trong phần tiếp theo

Bước 4. Tạo các biến dự đoán

X là tập dữ liệu chứa các biến của bộ dự đoán được sử dụng để dự đoán biến mục tiêu, 'y'. Nếu bạn hỏi ai đó họ sẽ dự đoán giá của ngày hôm sau như thế nào, họ có thể nói rằng họ sẽ xem xét giá của ngày hôm nay, hay đúng hơn là giá đóng cửa để cụ thể.

Theo cách này, giá đóng cửa có thể là một biến dự đoán. Tuy nhiên, bạn không nên sử dụng giá đóng cửa, vì nó là biến mục tiêu. Vì vậy, chúng tôi sử dụng các biến khác nhau ở đây

Mặc dù bạn cũng có thể sử dụng các giá trị chỉ báo kỹ thuật khác nhau hoặc dữ liệu cơ bản, nhưng chúng tôi sẽ tập trung vào dữ liệu OHLC/giá để đơn giản hóa

Thay vì sử dụng trực tiếp dữ liệu OHLC, chúng tôi cố gắng tìm sự kết hợp của chúng. Do đó, X bao gồm các biến như 'Mở - Đóng' và 'Cao - Thấp'. Đây có thể hiểu là các chỉ số dựa vào đó thuật toán sẽ dự đoán giá quyền chọn

được rồi. Chúng tôi có cả biến dự đoán, cũng như biến mục tiêu. Vì vậy, làm thế nào để chúng ta tiến hành?

Hãy nhớ rằng trong các phần đầu tiên, chúng tôi đã nói rằng máy cần một số dữ liệu để tìm hiểu trước khi có thể bắt đầu dự đoán. Chúng tôi gọi giai đoạn học tập là “đào tạo mô hình” và chúng tôi kiểm tra xem mô hình đã học đúng hay chưa trong giai đoạn “kiểm tra mô hình”

Bước 5. Kiểm tra và đào tạo phân tách tập dữ liệu

Bây giờ, bạn không thể sử dụng toàn bộ tập dữ liệu để đào tạo mô hình phân loại trong Python. Thử nghĩ xem, nếu bạn biết chính xác các câu hỏi sẽ được hỏi trong một bài kiểm tra, liệu đó có phải là một bài kiểm tra công bằng không?

Theo cách tương tự, chúng tôi chia tập dữ liệu thành tập dữ liệu huấn luyện và kiểm tra để đánh giá xem mô hình học máy đã học đúng hay chưa. Trong bước này, chúng tôi sẽ chia dữ liệu thành tập dữ liệu huấn luyện và tập dữ liệu thử nghiệm

  1. Đầu tiên, 80% dữ liệu được sử dụng để đào tạo và dữ liệu còn lại để kiểm tra
  2. X_train và y_train là tập dữ liệu đào tạo
  3. X_test và y_test là tập dữ liệu thử nghiệm

Bước 6. Tạo mô hình phân loại học máy bằng tập dữ liệu tàu

Trước tiên, chúng tôi sẽ tạo mô hình phân loại máy học trong python dựa trên tập dữ liệu tàu. Mô hình này sau đó sẽ được sử dụng để dự đoán tín hiệu giao dịch trong tập dữ liệu thử nghiệm

Bước 7. Mô hình phân loại precision_score trong Python

Chúng tôi sẽ tính toán độ chính xác của mô hình phân loại trên tập dữ liệu thử nghiệm và đào tạo, bằng cách so sánh các giá trị thực tế của tín hiệu giao dịch với các giá trị dự đoán của tín hiệu giao dịch. Hàm precision_score[] sẽ được sử dụng để tính toán độ chính xác

cú pháp. precision_score[ target_actual_value, target_predicted_value]

  1. target_actual_value. giá trị tín hiệu chính xác
  2. target_predicted_value. giá trị tín hiệu dự đoán

Độ chính xác từ 50% trở lên trong dữ liệu thử nghiệm cho thấy mô hình phân loại có hiệu quả

Bước 8. Sự dự đoán

Chúng tôi sẽ dự đoán tín hiệu [mua hoặc bán] cho tập dữ liệu thử nghiệm, sử dụng cls. chức năng dự đoán []. Sau đó, chúng tôi sẽ tính toán lợi nhuận của chiến lược dựa trên tín hiệu được dự đoán bởi mô hình trong bộ dữ liệu thử nghiệm. Chúng tôi lưu nó trong cột 'Strategy_Return'

Bước 9. Vẽ dữ liệu phân loại trong matplotlib

Cuối cùng, chúng ta sẽ vẽ biểu đồ lợi nhuận chiến lược tích lũy bằng cách sử dụng gói python matplotlib

Như đã thấy từ biểu đồ, máy học trong chiến lược phân loại python tạo ra lợi nhuận khoảng 25% trong tập dữ liệu thử nghiệm

Tất nhiên, bạn có thể điều chỉnh các biến dự đoán hoặc chọn các biến khác và kiểm tra xem nó ảnh hưởng như thế nào đến độ chính xác và hiệu suất của chiến lược

Bằng cách này, chúng tôi đã học được phân loại trong học máy là gì. Hơn nữa, bạn cũng đã xây dựng một mô hình phân loại bằng Python để dự đoán giá trong tương lai của S&P500

Nếu bạn muốn tìm hiểu thêm về các mô hình phân loại trong Python, bạn có thể xem Giao dịch với Machine Learning. Khóa học phân loại và SVM sẽ giúp bạn tạo chiến lược phân loại cũng như giao dịch trực tiếp với nó

Nếu muốn trở thành một chuyên gia ML, bạn có thể xem Lộ trình học tập của Quantra về Machine Learning & Deep Learning in Financial Markets, đây là một bộ gồm 7 khóa học và bao gồm tất cả các mô hình ML bao gồm cả cây quyết định và mạng lưới thần kinh

Tệp trong phần tải xuống

  • Chiến lược phân loại Machine Learning Mã Python

Đăng nhập để tải xuống

Cập nhật - Chúng tôi nhận thấy rằng một số người dùng đang gặp khó khăn khi tải xuống dữ liệu thị trường từ nền tảng Yahoo và Google Finance. Trong trường hợp bạn đang tìm kiếm một nguồn thay thế cho dữ liệu thị trường, bạn có thể sử dụng Quandl cho cùng một nguồn

từ chối trách nhiệm. Tất cả các khoản đầu tư và giao dịch trên thị trường chứng khoán đều có rủi ro. Mọi quyết định đặt giao dịch trên thị trường tài chính, bao gồm giao dịch cổ phiếu hoặc quyền chọn hoặc các công cụ tài chính khác là quyết định cá nhân chỉ nên được đưa ra sau khi nghiên cứu kỹ lưỡng, bao gồm đánh giá rủi ro cá nhân và tài chính cũng như sự tham gia của hỗ trợ chuyên nghiệp trong phạm vi bạn . Các chiến lược giao dịch hoặc thông tin liên quan được đề cập trong bài viết này chỉ dành cho mục đích thông tin

Trình phân loại trong Python là gì?

Bộ phân loại là thuật toán máy học xác định loại của phần tử đầu vào dựa trên một tập hợp các tính năng . Ví dụ: một bộ phân loại có thể được sử dụng để dự đoán loại bia dựa trên đặc điểm của nó, đó là “tính năng”. Những tính năng này có thể bao gồm nồng độ cồn, mùi thơm, hình thức, v.v.

3 lớp phân loại là gì?

Phân loại mô tả. Phân loại mô tả được sử dụng để mô tả hình dạng, kích thước, kết cấu hoặc một mẫu của danh từ. .
Dụng cụ phân loại. Hình dạng của các bộ phân loại công cụ mô tả cách một đối tượng được xử lý. .
Phân loại phần tử

Làm cách nào để xây dựng mô hình ml trong Python?

7 bước để xây dựng mô hình máy học bằng Python .
Đang tải tập dữ liệu
Hiểu tập dữ liệu
tiền xử lý dữ liệu
Trực quan hóa dữ liệu
Xây dựng mô hình hồi quy
đánh giá mô hình
dự đoán mô hình

Làm cách nào để xây dựng một mô hình trong Python?

Làm cách nào để xây dựng mô hình dự đoán bằng Python? .
Bước 1. Nhập thư viện Python. Đầu tiên và quan trọng nhất, hãy nhập các thư viện Python cần thiết. .
Bước 2. Đọc bộ dữ liệu. .
Bước 3. Khám phá bộ dữ liệu. .
Bước 3. Lựa chọn tính năng. .
Bước 4. Xây dựng mô hình. .
Bước 5. Đánh giá hiệu suất của mô hình

Chủ Đề