Pipeline trong lập trình là gì

Khi chuẩn bị data cho model trong machine learning, các điểm dữ liệu đôi khi chênh lệch nhau quá lớn, một thành phần có khoảng giá trị từ 0 đến 1000, thành phần kia chỉ có khoảng giá trị từ 0 đến 1 chẳng hạn. Lúc này, chúng ta cần chuẩn hóa dữ liệu trước khi thực hiện các bước tiếp theo. Còn gọi là Feature scaling.Cũng có trường hợp lượng feature của data lớn nên chúng ta cần chọn ra một số lượng nhỏ hơn các feature phù hợp với bài toán. Còn gọi là Feature selection.

Sau khi sử dụng các phương pháp tiền xử lý xong, bước tiếp theo là đưa dữ liệu vào model. Và tất cả các bước trên có thể gói gọn vào Pipeline để mọi việc được đơn giản hoá. Tại sao nên dùng Pipeline và lợi ích nó đem lại như thế nào, cùng thực hành và bạn sẽ thấy được cái hay của Pipeline đem lại.

Lần này mình sẽ sử dụng bộ data: Breast Cancer Wisconsin. Bộ dataset này bao gồm 569 sample chuẩn đoán ác tính, lành tính với tế bào khối u.
Nói qua 1 chút về bộ data này nhé:

2 cột đầu tiên tương ứng với sample id và kết quả chuẩn đoán. M là ác tính, B là lành tính. Từ cột thứ 3 đến 32 chứa dữ liệu được tính toán từ hình ảnh chụp tế bào khối u. Từ những số liệu này, việc cần làm là xây dựng model dự đoán khối u ác tính hay lành tính.

Với 3 bước đơn giản sau để chuẩn bị data:

import pandas as pd df = pd.read_csv['//archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/wdbc.data', header =None] from sklearn.preprocessing import LabelEncoder X = df.loc[:, 2:].values y = df.loc[:, 1].values le = LabelEncoder[] y = le.fit_transform[y] le.transform[['M', 'B']] from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split[X, y, test_size=0.2, random_state=1]

Để có thể sử dụng LogisticRegression chúng ta cần chuẩn hoá dữ liệu.

Ngoài ra còn có công đoạn giảm số chiều của dữ liệu. Vậy tại sao lại cần giảm số chiều của dữ liệu làm gì? Thực ra các feature vectors trong các bài toán thực tế có thể có số chiều rất lớn, tới vài nghìn. Ngoài ra, số lượng các điểm dữ liệu cũng thường rất lớn. Nếu thực hiện lưu trữ và tính toán trực tiếp trên dữ liệu có số chiều cao này thì sẽ gặp khó khăn cả về việc lưu trữ và tốc độ tính toán. Vì vậy, giảm số chiều dữ liệu là một bước quan trọng trong nhiều bài toán

Hiện tại số chiều của dữ liệu đang là 30, mình sẽ sử dụng PCA để giảm số chiều xuống còn 2. Cụ thể về PCA bạn có thể tham khảo tại đây.

Vì vậy thay vì lần lượt làm 3 công đoạn riêng, mình sẽ tạo 1 Pipeline, Pipeline sẽ có nhiệm vụ kết hợp 3 Object: StandardScaler, PCA, LogisticRegression.

from sklearn.preprocessing import StandardScaler from sklearn.decomposition import PCA from sklearn.linear_model import LogisticRegression from sklearn.pipeline import Pipeline pipe_lr = Pipeline[[['scl', StandardScaler[]], ['pca', PCA[n_components=2]], ['clf', LogisticRegression[random_state=1]] ]] pipe_lr.fit[X_train, y_train] 'Test Accuracy: %.3f' % pipe_lr.score[X_test, y_test]

Pipeline là list tuple. Ví dụ như ['clf', LogisticRegression[random_state=1]] thì clf là tên gán cho object LogisticRegression phía sau, chỉ là tên nên bạn muốn đặt sao cũng được, nhưng nên đặt tên có nghĩa. Và chúng ta có thể truy cập các component bên trong Pipeline qua tên định danh này.

pipe_lr.named_steps['scl']

Bước trung gian trong Pipeline là transform và cuối cùng là bước dự đoán. Ở ví dụ trên có 2 bước trung gian: StandardScaler và PCA. Bước cuối là model phân loại hồi quy LogisticRegression.

Khi tiến hành gọi method fit của pipe_lr thì Object StandardScaler sẽ tiến hành gọi method fit và transform với đầu vào là Training Data.

Training Data sau khi được scaling sẽ đi đến bước tiếp theo là PCA. Tại bước này, số chiều dữ liệu hiện tại là 30 giảm xuống còn n_components chiều. Cũng giống như bước trên, method fit và transform sẽ được gọi.

Và data sau khi được transform qua 2 bước trên sẽ được chuyển đến model LogisticRegression.

Lưu ý nhỏ là:

Số bước trung gian không giới hạn. Ví dụ bạn có thể thêm bước lựa chọn đặc trưng sử dụng SelectKBest, RFE, RFECV chẳng bạn. Hay sử dụng thêm OneHotEncoder.

Sơ đồ luồng xử lý minh hoạ cho những gì mình nói ở trên:

Ngoài ra trong trường hợp muốn set lại parameter cho model hoặc các transform object bạn có thể làm như sau:

pipe_lr.set_params[pca__n_components = 15, clf__C=0.5] pipe_lr.fit[X_train, y_train] 'Test Accuracy: %.3f' % pipe_lr.score[X_test, y_test]

Như ở ví dụ tên định danh của object và parameter được nối với nhau bởi dấu __, rất đơn giản phải không.

Như mình đã nói ở trên, khi lượng feature của data lớn nên chúng ta cần chọn ra một số lượng nhỏ hơn các feature phù hợp với bài toán. Tuy nhiên với dữ liệu Breast Cancer Wisconsin thì lượng feature cũng không nhiều. Nhưng cứ thử xem kết quả có cải thiện được không nhé.

from sklearn.feature_selection import SelectKBest from sklearn.feature_selection import f_regression k_filter = SelectKBest[f_regression, k=15] pipe_lr = Pipeline[[['scl', StandardScaler[]], ['kbest', k_filter], ['clf', LogisticRegression[random_state=1]] ]] pipe_lr.fit[X_train, y_train] 'Test Accuracy: %.3f' % pipe_lr.score[X_test, y_test]

Mình thử chọn ra 15 feature tốt nhất nhưng rất tiếc là kết quả không được cải thiện. Và đây là kết quả khi chưa tunning hyper parameter.

Mình viết bài viết này muốn giới thiệu với các bạn những kiến thức cơ bản về Pipeline. Làm việc với machine learning thì chắc chắn bạn sẽ gặp và ứng dụng rất nhiều bài toán khác với pipeline. Mong rằng những kiến thức cơ bản trên sẽ giúp các bạn làm việc dễ dàng hơn.

Hẹn gặp lại các bạn ở các bài viết sau ^^

Source code bạn có thể xem tại đây.

Bạn muốn học lập trình hãy liên hệ ngay với Mỹ Vân để được nhận ưu đãi từ học viện nhé

Học lập trình tại Đà Nẵng 0935029202Số tài khoản : 56110000942174 BIDV Chi nhánh Đà NẵngHUYNH THI MY VAN

Khái niệm Pipeline trong kinh doanh đang trở nên phổ biến và các doanh nghiệp ngày càng quan tâm cũng như dành sự đầu tư đúng mức. Bởi Sales Pipeline chính là giải pháp  giúp cải thiện năng suất làm việc của nhân viên kinh doanh cũng như đem lại những thành công nhất định cho doanh nghiệp. Cùng tìm hiểu Pipeline là gì? Đặc điểm của quy trình Pipeline trong bài viết dưới đây.

Khái niệm Pipeline trong tiếng Anh có nghĩa là đường ống dẫn tài nguyên. Còn nếu xét trong lĩnh vực kinh doanh, Pipeline được hiểu là một quy trình có tính liền mạch giúp doanh nghiệp hình dung, lên kế hoạch và định hướng hoạt động kinh doanh của tổ chức.

Sale Pipeline [hay còn được gọi là đường ống bán hàng] là một quy trình bán hàng, bao gồm nhiều công việc được sắp xếp theo một trình tự rõ ràng, nhằm đảm bảo các hoạt động bán hàng được diễn ra hiệu quả.

Ngoài ra, đường ống bán hàng cho phép người quản lý doanh nghiệp nắm được số lượng giao dịch dự kiến sẽ diễn ra hoặc kết thúc trong một giai đoạn nhất định. Bên cạnh đó, mức độ chuyển đổi khách hàng và doanh số dự kiến cũng là các yếu tố nhà quản lý có thể phần nào đong đếm được thông qua mô hình này.

Việc vận hành kinh doanh dựa trên nguyên tắc Sale Pipeline sẽ giúp các công đoạn được phân chia rõ ràng nhưng không tách biệt. Các quy trình nối tiếp theo sau giúp tốc độ của công việc suôn sẻ và đạt được hiệu quả cao hơn rất nhiều. Sales Pipeline là tập hợp của nhiều giai đoạn, mỗi một giai đoạn lại phụ thuộc vào những quy trình khác nhau, miễn sao phù hợp với nhu cầu, hành vi và thị hiếu của khách hàng. Mục tiêu chung của các Pipeline là chuyển tệp khách hàng tiềm năng thành khách hàng hiện tại và sau cùng là trở thành khách hàng mục tiêu của doanh nghiệp.

Có thể nói, đặc điểm dễ nhận thấy nhất của quy trình Pipeline trong kinh doanh là không giới hạn trong một khoảng thời gian dài ngắn. Thời gian của quy trình sẽ được thực hiện linh động sao cho phù hợp với các chiến lược mà doanh nghiệp đặt ra và hoạt động kinh doanh tại thời điểm đang xét đến. Chưa kể, việc xác định thời điểm bắt đầu của quy trình rất phức tạp, có thể được tính từ khi khách đến mua hàng cũng có thể là tính từ khi doanh nghiệp nhập sản phẩm về kho hàng của mình,…

Để có thể xây dựng được một quy trình Pipeline trong kinh doanh phù hợp và dành riêng cho doanh nghiệp, người quản lý cần tham khảo các bước dưới đây:

  • Xác định đúng và đủ các giai đoạn của chu kỳ bán hàng.
  • Tiến hành tính toán số lượng cơ hội cần ở mỗi giai đoạn để đạt được mục tiêu doanh thu.
  • Xác định những đặc điểm chung trong các cơ hội chuyển đổi tại mỗi giai đoạn.
  • Tạo quy trình bán hàng hoặc điều chỉnh các quy trình đang có xung quanh các hoạt động bán hàng và các dữ liệu về khách hàng.

Bên cạnh đó, Pipeline còn có đặc điểm, đó là nó được dùng để mô tả một quy trình bán hàng [Sales Pipeline]. 7 giai đoạn trong quy trình bán hàng Sales Pipeline bao gồm:

  • Tìm kiếm các cơ hội mới thông qua nhiều hoạt động tiếp cận khách hàng tiềm năng khác nhau, như hội thảo trên website, quảng cáo hoặc tiếp thị nội dung.
  • Tiến hành thu thập thông tin của khách hàng tiềm năng.
  • Thu hút khách hàng tiềm năng: Trong giai đoạn này, doanh nghiệp sẽ theo dõi và chăm sóc khách hàng tiềm năng nhằm tăng tỉ lệ chuyển đổi.
  • Đủ tiêu chuẩn: Đây là thời điểm mà bạn cần xem xét và quyết định xem khách hàng tiềm năng có đủ tiêu chuẩn hay không, nghĩa là khách hàng đó có nhu cầu, ngân sách và thẩm quyền để mua hàng hay không.
  • Các giai đoạn tùy chỉnh: ví dụ như lên lịch cho các cuộc họp trực tiếp hoặc cung cấp các phiên bản dùng thử miễn phí. Bất kể chiến thuật nào, giai đoạn này được thiết kế nhằm giúp đưa khách hàng tiềm năng đến gần hơn với việc đưa ra các quyết định mua hàng.
  • Kết thúc: Khi quá trình bán hàng Sales Pipeline kết thúc, yêu cầu khách hàng tiềm năng hoàn tất thỏa thuận.
  • Thắng/thua: tất cả các giai đoạn khi đã đi đến thời điểm cuối cùng trong đường ống bán hàng, dù là thành công hay thất bại cũng cần được ghi chú lại một cách cẩn thận.

Xây dựng được một quy trình Pipeline hiệu quả sẽ mang tới lại lợi ích tuyệt vời cho các doanh nghiệp. Đầu tiên là nó giúp tạo ra một quy trình bán hàng thông minh, khoa học, tiết kiệm thời gian và gia tăng doanh thu, mở rộng thị trường. Tiếp theo, quy trình Pipeline có khả năng nhận biết và loại bỏ các khâu không cần thiết, thiếu hiệu quả. Pipeline cũng hỗ trợ các nhà quản lý, doanh nghiệp theo dõi và kiểm soát quy trình bán hàng, từ đó nhanh chóng đưa ra các phương án cải thiện, sửa đổi tối ưu nhất để hướng tới mục tiêu cuối cùng là nâng cao hiệu quả doanh số.

Tóm lại, có thể thấy, vai trò của quy trình Pipeline như sau:

  • Cải thiện hiệu quả quy trình bán hàng của doanh nghiệp.
  • Dự báo chính xác kết quả kinh doanh trong tương lai.
  • Phân tích dữ liệu doanh nghiệp và đưa ra chiến lược bán hàng khác nhau.
  • Quản lý và phân bổ hiệu quả các nguồn lực nhân viên kinh doanh để tối ưu.
  • Xem xét tiến độ kinh doanh.

Quy trình Pipeline không thể mang lại hiệu quả tuyệt đối và cũng có thể đi chệch hướng, không mang đến hiệu quả trong trường hợp các doanh nghiệp không tập trung vào xây dựng quy trình bán hàng lành mạnh. Để có Pipeline khỏe mạnh, các nhà quản lý doanh nghiệp cần phải theo dõi và cập nhật sự thay đổi, biến động của thị trường.

Thường xuyên theo dõi các chỉ số bán hàng quan trọng như:

  • Số lượng giao dịch hiện đang trong quá trình thực hiện.
  • Quy mô trung bình của một giao dịch và thời gian để chốt.
  • Tỷ lệ đóng chốt những đơn hàng thành công.

Theo dõi đầy đủ các chỉ số trên sẽ giúp cho các doanh nghiệp đi theo đúng định hướng của Pipeline quy định.

Việc giữ cho quy trình Sales pipeline được duy trì sự lành mạnh, trong sạch sẽ giúp tăng doanh số bán hàng và đảm bảo cho các giao dịch bán hàng diễn ra hiệu quả, nhanh chóng, thuận tiện cho khách hàng. Để làm được điều này, các nhà quản lý cần theo dõi và phát hiện các giao dịch lỗi kịp thời. Từ đó đưa ra được các giải pháp, kế hoạch, chiến lược bán hàng, nhằm đảm bảo duy trì và tăng trưởng doanh số.

Các doanh nghiệp nên đưa phần mềm quản trị khách hàng CRM vào sử dụng để Pipeline hiệu quả hơn. Dưới sự hỗ trợ của các chuyên gia và ứng dụng công nghệ thì quy trình bán hàng sẽ được quản lý hiệu quả, bán hàng nhanh chóng và ít xảy ra lỗi hơn.

Với nhũng chia sẻ trên mong rằng Mona.Software giúp bạn hiểu được Pipeline là gì? Khi xây dựng quy trình Pipeline khỏe mạnh chính là giải pháp tuyệt vời để doanh nghiệp tăng doanh số bán hàng và phát triển, cạnh tranh tốt hơn so với các đối thủ trong cùng ngành hàng. Nếu bạn kiên nhẫn, tiếp tục cải thiện và tối ưu hóa quy trình bán hàng, doanh nghiệp sẽ cho thấy các dấu hiệu khả quan và mang lại kết quả khá tốt.

Video liên quan

Chủ Đề