Mục TIÊU, đối tượng, phạm vi và phương pháp nghiên cứu
Mục tiêu nghiên cứu của khóa luận
Mục tiêu chính của khóa luận là nghiên cứu các giải pháp nâng cao độ chính xác dự báo của mô hình xây dựng trên tập dữ liệu lớn chuỗi thời gian Khóa luận tập trung vào việc áp dụng phương pháp giảm chiều dữ liệu và ứng dụng của chúng trong việc xây dựng mô hình dự báo tình hình kinh doanh của doanh nghiệp.
Mục tiêu cụ thể của khóa luận tập chúng vào các vấn đề sau:
Đề xuất một phương pháp giảm chiều biến mới nhằm khắc phục nhược điểm của các phương pháp hiện tại, từ đó nâng cao hiệu quả trong việc xây dựng mô hình dự báo tình hình kinh doanh cho doanh nghiệp.
Đề xuất quy trình xây dựng mô hình dự báo có điều kiện và không điều kiện trên tập dữ liệu lớn nhằm phân tích các yếu tố ảnh hưởng đến tình hình kinh doanh của doanh nghiệp Phương pháp giảm chiều biến được áp dụng để tối ưu hóa quá trình dự báo, giúp cải thiện độ chính xác và hiệu quả trong việc ra quyết định kinh doanh.
- Nghiên cứu ứng dụng phương pháp xây dựng mô hình dự báo được đề xuất trong việc mô hình hoá dự bao tình hình kinh doanh của doanh nghiệp.
Đối tượng nghiên cứu
Đối tượng nghiên cứu của khóa luận là phương pháp giảm chiều dữ liệu và ứng dụng của chúng trong hoạt động của doanh nghiệp.
Phạm vi nghiên cứu
Phương pháp giảm chiều dữ liệu trong xây dựng mô hình dự báo trên các tập dữ liệu lớn của doanh nghiệp
Phương pháp nghiên cứu
Phương pháp tổng hợp và phân tích là công cụ quan trọng trong việc nghiên cứu và ứng dụng giảm chiều biến Những phương pháp này giúp tổng hợp các công trình nghiên cứu liên quan, từ đó rút ra những kết luận có giá trị và ứng dụng thực tiễn Việc áp dụng các phương pháp này không chỉ nâng cao hiệu quả nghiên cứu mà còn mở ra hướng đi mới trong việc phát triển các ứng dụng giảm chiều biến.
3 việc xây dựng mô hình dự báo trên các tập dữ liệu lớn để phát hiện các khoảng trống nghiên cứu
Phương pháp mô hình hóa và phương pháp so sánh được áp dụng để đánh giá hiệu suất giảm chiều biến của phương pháp đề xuất thông qua thực nghiệm, so sánh với các phương pháp khác.
Tập dữ liệu chuỗi thời gian thực trong lĩnh vực kinh tế - tài chính được sử dụng trong khóa luận bao gồm thông tin từ một cửa hàng bán hàng online Dữ liệu này được thu thập từ kho dữ liệu mô hình học máy của UC Irvine và có sẵn trên trang Kaggle.com.
Ý nghĩa lý luận và thực tiễn của dự án
Giải pháp khoa học này giúp giảm chiều biến cho các tập dữ liệu lớn chuỗi thời gian mà không cần xấp xỉ một siêu phẳng, đồng thời ứng dụng nó để thực hiện dự báo hiệu quả trên các tập dữ liệu lớn trong lĩnh vực chuỗi thời gian.
Nghiên cứu trong luận án mang lại ý nghĩa thực tiễn quan trọng, khi các kết quả có thể áp dụng vào mô hình dự đoán tình hình kinh doanh của doanh nghiệp Mô hình này, được xây dựng trên cơ sở tập dữ liệu lớn và sử dụng phương pháp giảm chiều biến, cho thấy độ chính xác dự báo rất cao.
Cấu trúc của khóa luận
Cấu trúc luận án gồm:
Bài viết này sẽ trình bày cơ sở lý thuyết của đề tài, nêu rõ mục tiêu, đối tượng và phạm vi nghiên cứu Đồng thời, chúng tôi cũng sẽ mô tả phương pháp nghiên cứu được áp dụng và cấu trúc tổng thể của dự án.
Giảm chiều dữ liệu là một khái niệm quan trọng trong lĩnh vực dữ liệu lớn, giúp tối ưu hóa và đơn giản hóa dữ liệu mà không làm mất đi thông tin quan trọng Chương này sẽ giới thiệu tổng quan về dữ liệu lớn, khái niệm giảm chiều dữ liệu và các phương pháp hiệu quả để thực hiện quá trình này.
Chương II tập trung vào việc giảm chiều dữ liệu thông qua phương pháp PCA, giải thích chi tiết về quy trình và ứng dụng của nó Ngoài việc trình bày các biến thể của PCA, chương này còn giới thiệu một số mô hình sử dụng phương pháp PCA trong phân tích dữ liệu lớn, nhằm nâng cao hiệu quả xử lý và phân tích thông tin.
Chương III trình bày mô hình hoá dự báo tình hình kinh doanh của doanh nghiệp online thông qua tập dữ liệu doanh thu bán hàng Phương pháp giảm chiều biến được áp dụng dựa vào PCA nhằm tối ưu hóa dữ liệu Chương này thực nghiệm việc dự báo doanh thu cho doanh nghiệp bán hàng online, đồng thời rút ra một số kết luận quan trọng về hiệu quả của phương pháp PCA trong việc cải thiện độ chính xác của dự báo.
- Phần kết luận và kiến nghị: Trình bày một số kết luận về ý nghĩa, đóng góp của luận án và định hướng nghiên cứu trong tương lai
TỔNG QUAN VỀ GIẢM CHIỀU DỮ LIỆU
Khái niệm và một số tính chất của Giảm chiều dữ liệu
Giảm chiều dữ liệu (Dimensionality reduction) là quá trình chuyển đổi dữ liệu từ không gian có nhiều chiều sang không gian có ít chiều hơn, nhằm giữ lại những đặc điểm quan trọng của dữ liệu gốc Mục tiêu của phương pháp này là phản ánh gần nhất chiều nội tại của dữ liệu.
Hình 1.1: Minh họa giảm chiều dữ liệu trong tập dữ liệu lớn
Phân tích dữ liệu trong không gian chiều-cao gặp nhiều khó khăn do dữ liệu thô thường có tính thưa thớt, dẫn đến việc phân tích trở nên phức tạp và tốn thời gian tính toán Giảm chiều dữ liệu trở thành một giải pháp phổ biến trong các lĩnh vực có số lượng quan sát hoặc biến lớn, như xử lý tín hiệu, nhận dạng tiếng nói, thông tin học thần kinh và tin sinh học.
Các phương pháp giảm chiều dữ liệu được phân loại thành hai nhóm chính: tuyến tính và phi tuyến tính Chúng cũng được chia thành hai loại: chọn thuộc tính và trích chọn đặc tính Việc giảm chiều dữ liệu có nhiều ứng dụng, bao gồm giảm nhiễu, trực quan hóa dữ liệu, phân tích cụm, và đóng vai trò là bước trung gian để hỗ trợ các phân tích khác.
1.1.2 Vai trò của Giảm chiều dữ liệu
Trong lĩnh vực học máy, dữ liệu thường có kích thước rất lớn, cho phép máy tính thực hiện và hiểu các thuật toán phức tạp Tuy nhiên, việc phân tích và diễn giải dữ liệu này lại gặp khó khăn đối với con người.
Việc "nhìn" dữ liệu nhiều chiều là một thách thức lớn, vì vậy bài toán giảm chiều dữ liệu ra đời để cung cấp cái nhìn mới mẻ về dữ liệu này Các phương pháp giảm chiều không chỉ giúp trực quan hóa dữ liệu mà còn chuyển đổi dữ liệu về một không gian mới, từ đó khai thác các thuộc tính ẩn mà dữ liệu ban đầu không thể hiện rõ Hơn nữa, việc giảm kích thước dữ liệu còn giúp tăng tốc độ xử lý cho máy tính.
Hình 1.2: Ví dụ về tập dữ liệu huyền thoại Iris
Tập dữ liệu huyền thoại Iris bao gồm 4 thuộc tính và 3 nhãn tương ứng với 3 loại hoa, nhưng việc nhận diện sự phân tách giữa các loài dựa trên 4 thuộc tính này là khó khăn do không gian dữ liệu 4 chiều Thuật toán giảm dữ liệu giúp chuyển đổi về không gian 2 chiều, tạo điều kiện thuận lợi cho việc trực quan hóa trên hệ tọa độ Oxy, mặc dù điều này đồng nghĩa với việc mất một phần thông tin.
Hình 1.3: Biểu đồ thể hiện dữ liệu sau khi được giảm chiều
Nhìn vào đây, ta có thể dễ dàng phân tích hơn, có thể thấy lớp nào dễ nhầm lẫn với nhau, mức độ tách biệt giữa các lớp,…
Các phương pháp giảm chiều dữ liệu
1.2.1 Phương pháp chọn thuộc tính (Feature selection) Để xây dựng mô hình ta sẽ rất cần đến dữ liệu lớn Nhưng dữ liệu quá lớn cũng không thực sự tốt Những hệ thống của các tập đoàn công nghệ lớn có thể có số lượng trường dữ liệu lên tới hàng trăm ngàn Đây là một con số khổng lồ và sẽ gây ra những hạn chế đó là:
- Tăng chi phí tính toán
Quá nhiều biến giải thích có thể gây ra hiện tượng quá khớp (overfitting), khi mà mô hình hoạt động tốt trên tập huấn luyện nhưng lại kém hiệu quả trên tập kiểm tra.
- Trong số các biến sẽ có những biến gây nhiễu và làm giảm chất lượng mô hình
- Rối loạn thông tin do không thể kiểm soát và hiểu hết các biến
Để tối ưu hóa dữ liệu, việc áp dụng các phương pháp như giảm chiều dữ liệu và lựa chọn biến quan trọng là rất cần thiết Phương pháp giảm chiều dữ liệu sẽ được đề cập trong chương khác, trong khi chương này sẽ giới thiệu một số kỹ thuật lựa chọn biến phổ biến.
Bên dưới là những thuật toán quan trọng được sử dụng để lựa chọn các biến
Một phương pháp quan trọng trong thống kê để giảm số lượng biến là lựa chọn dựa trên phương sai Phân tích các biến không biến động không hữu ích cho việc phân loại hoặc dự báo, vì giá trị của chúng dường như đã được biết cho tất cả các quan sát Do đó, ý tưởng chính của phương pháp này là loại bỏ những biến có phương sai nhỏ hơn một ngưỡng nhất định.
Trong sklearn ta có thể sử dụng VarianceThreshold để lọc bỏ biến theo phương sai from sklearn.feature_selection import VarianceThreshold from sklearn.datasets import make_classification
# Khở i to ạo dữ liệ u example
X, y = make_classification(n_samplesP0, n_featuresP, random_state3) print('X shape:', X.shape) print('y shape:', y.shape)
# Lọ c bỏ các bi ế n có phươ ng sai nhỏ h ơ n 0.8 print('Total features with thres=0.8: {}'.format(VarianceThreshold(0.8).fit_transform(X).shape))
# Lọ c bỏ các bi ế n có phươ ng sai nhỏ h ơ n 1.0
X_kvar = VarianceThreshold(0.9).fit_transform(X) print('Total features with thres=1.0: {}'.format(X_kvar.shape))
Ngoài phương pháp phương sai, kiểm định thống kê đơn biến cũng có thể được áp dụng để đánh giá sự độc lập tuyến tính giữa hai biến ngẫu nhiên Phương pháp này sử dụng phân phối chi-squared và Fisher nhằm lựa chọn biến tốt nhất Để hiểu rõ hơn về hai phương pháp thống kê này, chúng ta sẽ thực hành lựa chọn biến và đánh giá hiệu quả mô hình.
9 from sklearn.feature_selection import SelectKBest, f_classif from sklearn.linear_model import LogisticRegression from sklearn.model_selection import cross_val_score
# Lự a chọ n biế n dự a trên phương pháp Fisher
X_kbest = SelectKBest(f_classif, k = 5).fit_transform(X, y) print('X shape after applying statistical selection: ',X_kbest.shape)
Ta sẽ đánh giá hiệu quả mô hình bằng cross-validation trước và sau lựa chọn biến với KFold = 5
# Hồ i qui logistic logit = LogisticRegression(solver='lbfgs', random_state=1)
# 1.d ữ liệu g ốc acc_org = cross_val_score(logit, X, y, scoring = 'accuracy', cv = 5).mean()
# 2 Áp d ụng phương sai acc_var = cross_val_score(logit, X_kvar, y, scoring = 'accuracy', cv = 5).mean()
In this analysis, the accuracy of the logistic regression model was evaluated using different methods The mean accuracy on the original dataset was calculated, followed by the accuracy achieved through variance analysis Finally, the accuracy obtained using statistical methods was assessed through cross-validation, specifically employing a scoring metric of 'accuracy' with a 5-fold cross-validation approach.
1.2.1.2 Sử dụng mô hình Đây là phương pháp rất thường xuyên được áp dụng trong các cuộc thi phân tích dữ liệu ta sẽ dựa trên một số mô hình cơ sở để đánh giá mức độ quan trọng của các biến Có hai lớp mô hình thường được sử dụng để đánh biến đó là Random Forest và Linear Regression Ưu điểm của các phương pháp này là kết quả đánh giá rất chuẩn xác, tuy nhiên nhược điểm của chúng là phải xây dựng mô hình hồi qui rồi mới xác định được biến quan trọng Điều này dường như đi trái lại với thực tế phải lựa chọn biến trước khi huấn luyện mô hình Để áp dụng phương pháp này ta thực hiện như sau: from sklearn.ensemble import RandomForestClassifier from sklearn.svm import LinearSVC from sklearn.linear_model import Lasso from sklearn.feature_selection import SelectFromModel from sklearn.model_selection import cross_val_score from sklearn.pipeline import make_pipeline
# Hồ i qui theo RandomForest rdFrt = RandomForestClassifier(n_estimators = 20, random_state = 1)
# Hồ i qui theo LinearSVC lnSVC = LinearSVC(C=0.01, penalty="l1", dualse)
# Hồ i qui theo Lasso lassoReg = Lasso(alpha = 1.0)
# Tạo mộ t pipeline thực hi ệ n lựa ch ọn bi ế n từ RandomForest model và h ồi qui theo logit pipe1 = make_pipeline(StandardScaler(), SelectFromModel(estimator = rdFrt), logit)
# Tạo mộ t pipeline thực hi ệ n lựa ch ọn bi ế n từ Linear SVC model và h ồi qui theo logit pipe2 = make_pipeline(StandardScaler(), SelectFromModel(estimator = lnSVC), logit)
# 1 Mô hình logit acc_log = cross_val_score(logit, X, y, scoring = 'accuracy', cv = 5).mean()
# 2 Mô hình RandomForest acc_rdf = cross_val_score(rdFrt, X, y, scoring = 'accuracy', cv = 5).mean()
# 3 Mô hình pipe1 acc_pip1 = cross_val_score(pipe1, X, y, scoring = 'accuracy', cv = 5).mean()
The accuracy of various models was evaluated using cross-validation The logistic regression model achieved an accuracy score of `acc_log`, while the random forest model recorded an accuracy of `acc_rdf` Additionally, pipeline 1 demonstrated an accuracy of `acc_pip1`, and pipeline 2 achieved an accuracy of `acc_pip2`, with the latter calculated as the mean accuracy across five cross-validation folds.
Việc lựa chọn biến dựa trên mô hình Random Forest và Linear SVC đã chứng minh hiệu quả trong việc nâng cao độ chính xác của mô hình Ngoài ra, chúng ta cũng có thể thực hiện lựa chọn biến thông qua phương pháp grid search.
1.2.1.3 Sử dụng Search a, Exhaustive Search
Phương pháp này tập trung vào việc xác định tập con các đặc trưng tốt nhất từ các đặc trưng đầu vào, dựa trên một thước đo mô hình cụ thể như độ chính xác (accuracy) Để thực hiện điều này, mô hình cần được huấn luyện trên tất cả các kết hợp của từ 1 đến n đặc trưng, với tổng số lượng các kết hợp có thể được tính toán.
Phương pháp này được xác định bởi công thức 𝑛) = 2 𝑛 − 1, cho thấy số lượng tổ hợp có thể rất lớn khi bộ dữ liệu có nhiều đặc trưng Do đó, nó được coi là phương pháp Exhaustive, chỉ phù hợp với các bộ dữ liệu có số lượng đặc trưng nhỏ Ưu điểm của phương pháp này là
11 lại đó là giúp tìm ra được tập con đặc trưng tốt nhất trực tiếp thông qua đánh giá Accuracy b, Sequential Feature Selection
Để tối ưu hóa mô hình, việc đầu tiên cần làm là giới hạn không gian tìm kiếm các bộ kết hợp đặc trưng đầu vào Tùy thuộc vào việc tăng hay giảm biến, ta có hai phương pháp: forward và backward Phương pháp forward bắt đầu từ đặc trưng đầu vào có kết quả tốt nhất, sau đó lần lượt thêm các đặc trưng mới cho đến khi đạt tối đa k_features hoặc khi hàm loss function không giảm nữa Ngược lại, phương pháp backward bắt đầu từ toàn bộ các đặc trưng và loại bỏ dần các đặc trưng không cần thiết.
Compared to the Exhaustive Search method, Sequential Feature Selection is more cost-effective but does not guarantee that the selected feature set is optimal The search direction, whether forward or backward, is entirely based on chance.
Bên dưới ta sẽ tiến hành áp dụng phương pháp Sequential Feature Selection để tìm kiếm đặc trưng theo backward với số biến cần lựa chọn là k_features=3
!pip install mlxtend from mlxtend.feature_selection import SequentialFeatureSelector selector = SequentialFeatureSelector(logit, scoring = 'accuracy', verbose = 2, k_features = 3, forward = False, n_jobs = -1) selector.fit(X, y)
Mô hình bắt đầu với 50 biến ban đầu và qua từng quá trình, các biến sẽ được loại bỏ dần cho đến khi chỉ còn lại 3 biến tối thiểu Qua mỗi giai đoạn, độ chính xác (accuracy) của mô hình sẽ ngày càng tăng lên.
1.2.2 Phương pháp trích chọn đặc tính (Feature extraction)
Dữ liệu thường có dạng thô và đến từ nhiều nguồn khác nhau như văn bản, hình ảnh, âm thanh, phiếu điều tra, hệ thống lưu trữ, website và ứng dụng, vì vậy người xây dựng mô hình cần thu thập và tổng hợp các nguồn dữ liệu liên quan đến vấn đề nghiên cứu Sau đó, dữ liệu phải được làm sạch và chuyển đổi thành dạng dữ liệu cấu trúc để xây dựng mô hình Đối với dữ liệu dạng văn bản, hình ảnh hoặc âm thanh, cần sử dụng các kỹ thuật trích lọc đặc trưng để chuyển đổi dữ liệu từ dạng chưa mã hóa sang dạng số học, giúp huấn luyện mô hình hiệu quả Dữ liệu văn bản là một trong những kiểu dữ liệu phổ biến áp dụng kỹ thuật trích lọc này.
1.2.2.1 Trích lọc đặc trưng cho văn bản
Tiểu kết
Trích lọc đặc trưng là một kỹ thuật quan trọng trong deep learning, được ứng dụng rộng rãi trong xử lý ảnh và ngôn ngữ tự nhiên Nó cũng được sử dụng để phân rã thời gian và làm việc với dữ liệu địa lý, cũng như theo dõi dữ liệu người dùng từ các hệ thống web và ứng dụng.
Lựa chọn đặc trưng là một bước quan trọng trong việc xây dựng mô hình, yêu cầu sử dụng phương pháp thống kê, mô hình hoặc grid search Kiến thức về lĩnh vực chuyên ngành giúp modeler hiểu rõ mối quan hệ giữa các biến, không chỉ qua số liệu mà còn từ góc độ thực tiễn kinh doanh Do đó, sự tư vấn từ các BA và chuyên gia ngành là cần thiết để khám phá các quy luật tiềm ẩn trong dữ liệu Hầu hết các mô hình hiện đại đều thực hiện Feature Engineering trước khi huấn luyện, giúp tạo ra mô hình mạnh mẽ hơn Việc so sánh nhiều mô hình khác nhau cũng rất quan trọng để xác định mô hình phù hợp nhất, và trong một số trường hợp, có thể kết hợp nhiều mô hình để đạt hiệu quả tối ưu.
Không có phương pháp Feature Engineering tối ưu nào cho tất cả các bài toán Việc tìm ra phương pháp phù hợp đòi hỏi một quá trình thử nghiệm và sai sót để xác định cách tiếp cận hiệu quả nhất cho từng trường hợp cụ thể.
GIẢM CHIỀU DỮ LIỆU VÀ PHƯƠNG PHÁP PCA
Giảm chiều dữ liệu bằng phương pháp PCA
2.1.1 Lựa chọn thuộc tính (Lựa chọn biến)
Lựa chọn thuộc tính là một phương pháp quan trọng giúp xác định tập con các biến trong dữ liệu lớn, đồng thời loại bỏ các biến nhiễu và dư thừa Có ba phương pháp chính trong lựa chọn thuộc tính: phương pháp tiếp cận bộ lọc (Filter), phương pháp tiếp cận bọc (Wrapper), và phương pháp tiếp cận nhúng (Embedded).
Các kỹ thuật lựa chọn biến khác nhau lại được chia thành 3 loại theo 3 cách tiếp cận khác nhau:
Cách tiếp cận bộ lọc (Filter) sử dụng các tiêu chí hoặc độ đo xác định để xếp hạng và lựa chọn thuộc tính một cách hiệu quả.
Cách tiếp cận bọc (Wrapper) trong tìm kiếm tập con các thuộc tính tốt tập trung vào việc đánh giá chất lượng của các tập thuộc tính Chất lượng này thường được đo lường thông qua độ chính xác dự báo hoặc phân lớp của các thuật toán phân loại và dự báo.
Cách tiếp cận nhúng (Embedded) là phương pháp lựa chọn thuộc tính được tích hợp trực tiếp vào thuật toán phân lớp hoặc dự đoán, mà không cần tách biệt dữ liệu đầu vào thành các tập huấn luyện và kiểm tra.
Phương pháp tiếp cận nhúng các thuộc tính trong quá trình học đang thu hút sự chú ý nhờ vào việc kế thừa ưu điểm từ các kỹ thuật lựa chọn thuộc tính theo cách tiếp cận lọc và bọc Khóa luận này tập trung vào phương pháp lọc, đặc biệt là sử dụng hệ số tương quan Pearson để phân tích các biến chuỗi thời gian có giá trị số Phương pháp này giúp lựa chọn các biến có tương quan cao với biến mục tiêu, đồng thời loại bỏ các biến nhiễu, dư thừa và không liên quan.
20 Độ đo hệ số tương quan Pearson:
Hệ số tương quan Pearson của biến mục tiêu với từng biến giải thích theo công thức sau:
Giả sử 𝑿 = (𝒙 𝒊 ), 𝒀 = (𝒚 𝒊 ), ở đây 𝒊 − 𝟏, … , 𝒎 là hai chuỗi thời gian vô hướng
Hệ số tương quan Pearson giữa X và Y được xác định theo công thức dưới đây:
Độ đo hệ số tương quan Pearson, ký hiệu là P(X, Y) = |Corr(X, Y)|, được sử dụng để loại bỏ thông tin nhiễu và các biến dư thừa trong các ứng dụng dự báo chuỗi thời gian vô hướng trên các tập dữ liệu lớn.
Giả sử 𝒀, 𝑿 𝟏 , 𝑿 𝟐 là các chuỗi thời gian, với 𝜶 và 𝜷 là các ngưỡng do người dùng xác định, được gọi lần lượt là ngưỡng có liên quan và ngưỡng dư thừa Chuỗi thời gian X 1 được xem là có liên quan với Y nếu xác suất P(Y,X 1) đạt ít nhất mức α Đồng thời, chuỗi thời gian X 2 được coi là dư thừa đối với Y nếu tồn tại biến X 1 sao cho xác suất P(Y,X 1) lớn hơn hoặc bằng P(Y,X 2) và P(X 1,X 2) lớn hơn hoặc bằng β.
Khi tập hợp các biến mới vẫn còn lớn, việc thực hiện hồi quy biến mục tiêu theo các biến này sẽ không khả thi Do đó, cần áp dụng thêm các phương pháp hoặc kỹ thuật để giảm chiều của các biến khác.
2.1.2 Phân tích suy biến (SVD – Singular Value Decomposition)
Phép phân tích suy biến (SVD) là một phương pháp phân rã ma trận, trong đó một ma trận được phân tách thành tích của ba ma trận Hai ma trận ở vị trí đầu và cuối là các ma trận trực giao, có thể không khả nghịch, trong khi ma trận ở giữa là ma trận đường chéo, có thể không vuông SVD thường được sử dụng trong các ứng dụng như giảm chiều dữ liệu và xử lý tín hiệu.
Kích thước ma trận được để ở bên dưới chân ma trận, tức là ma trận
𝑨 𝒎𝒎 𝝐𝑹 𝒎∗𝒏 Trong công thức trên thì 𝑼 𝒎𝒎 , 𝐕 𝒏𝒏 là các ma trận trực giao và 𝚺 𝒎𝒏 là ma trận đường chéo
Hình 2.1: Mô tả về phân tích suy biến (SVD)
Phép phân tích suy biến sẽ lần lượt trải qua:
Phép xoay (rotation) là quá trình biến đổi một điểm dữ liệu 𝒙 𝝐 𝑹 𝒎 trong không gian gốc bằng cách nhân với ma trận 𝑼 𝒎𝒎, nhằm thực hiện xoay trục mà không làm thay đổi tích vô hướng của hai điểm dữ liệu Cụ thể, nếu xét hai véctơ 𝒙 𝒊, phép biến đổi này giữ nguyên mối quan hệ giữa chúng, đảm bảo tính chính xác trong các ứng dụng hình học và phân tích dữ liệu.
𝒙 𝒊 𝝐 𝑹 𝒎 Phép xoay sẽ giúp biến đổi các vectơ thành hai vectơ mới là 𝒚 𝒊 = 𝑼𝒙 𝒊 và
𝒚 𝒋 = 𝑼𝒙 𝒋 Tích vô hướng của chúng:
Phép nới rộng (scaling) là quá trình mà kết quả thu được từ phép xoay được nhân với ma trận đường chéo, giúp tăng cường các chiều dữ liệu Mỗi chiều sẽ được mở rộng theo số lần tương ứng với giá trị của trị riêng trên đường chéo chính.
Một phép xoay khác được thực hiện sau khi dữ liệu đã được nới rộng và chuyển về không gian thấp chiều Quá trình này tiếp tục bằng cách nhân dữ liệu với ma trận 𝑽 𝒏𝒏 để thực hiện phép xoay.
Ta có thể biểu diễn ma trận A dưới dạng tổng của tích vô hướng giữa vectơ cột 𝒖 𝒊 ∈ 𝑹 𝒎 của 𝑼 𝒎𝒎 và vectơ dòng 𝒗 𝒊 ∈ 𝑹 𝒏 của 𝑽 𝒏𝒏 𝑻 như sau:
Các vectơ 𝒖 𝒊 và 𝒗 𝒊 tạo thành các hệ cơ sở độc lập tuyến tính Trong ma trận đường chéo 𝚺 𝒏𝒏, thường chỉ có một số lượng lớn các trị riêng dương, trong khi các trị riêng còn lại gần như bằng 0 Do đó, việc tính toán SVD chỉ được thực hiện tại 𝝉 vị trí dòng và cột tương ứng với các trị riêng đủ lớn Ma trận 𝐴 𝑚𝑛 có thể được biểu diễn dưới dạng SVD compact như sau:
Các ma trận 𝑼 𝒓, 𝚺 𝒓, 𝑽 𝒓 𝑻 được rút gọn bằng cách giữ lại các vị trí tương ứng với 𝜹 𝒊 đủ lớn Khi 𝒓 ≪ 𝒏, phương pháp này giúp tiết kiệm đáng kể số lượng tính toán và lưu trữ so với phương pháp làm mỏng SVD.
Phương pháp Truncate SVD giả định rằng ma trận A là ma trận bán xác định dương, với mọi trị riêng không âm Tương tự như Compact SVD, Truncate SVD chỉ lấy ra t dòng và cột tương ứng với t trị riêng lớn nhất của A, từ U và V, trong khi phần còn lại của ma trận sẽ bị loại bỏ Kết quả là ta thu được ma trận xấp xỉ của A.
𝑨̂ = 𝑼 𝒕 𝚺 𝒕 𝑽 𝒕 𝑻 Hoặc có thể biểu diễn dưới dạng tổng của tích vô hướng các vectơ cột và dòng của U,V T như sau:
Một số biến thể của PCA
2.2.1 KPCA ( Kernel principal component analysis)
Phương pháp PCA là một kỹ thuật phổ biến để giảm chiều dữ liệu từ các thuộc tính lớn và nhiễu thành một bộ dữ liệu nhỏ hơn thông qua biến đổi tuyến tính Tuy nhiên, trong nhiều ứng dụng thực tế, hiệu quả của PCA bị hạn chế do thuật toán dựa trên dữ liệu tuyến tính Để áp dụng PCA cho dữ liệu phi tuyến, nhiều nghiên cứu đã được thực hiện nhằm biến đổi dữ liệu thành dạng tuyến tính Nghiên cứu của Kramer (1991) đã phát triển thuật toán PCA phi tuyến dựa trên mạng nơ ron, nhưng mạng này phức tạp và khó tìm giá trị tối ưu do có 5 lớp Nghiên cứu của Dong và McAvoy cũng sử dụng mạng nơ ron với giả thuyết rằng tính phi tuyến của dữ liệu đầu vào có thể tương ứng với tổ hợp tuyến tính của các đại lượng ngẫu nhiên, cho phép tách thành tổng các hàm của các đại lượng đó, nhưng phương pháp này chỉ áp dụng được cho một số bài toán phi tuyến hạn chế.
Vào những năm cuối thế kỷ trước, Scholkopf và các cộng sự đã phát triển một phương pháp PCA phi tuyến mới gọi là KPCA (PCA dựa trên hàm nhân) Phương pháp này thực hiện biến đổi phi tuyến trong không gian tọa độ bằng cách tìm các phần tử cơ bản có liên hệ phi tuyến với các giá trị đầu vào Giả sử các giá trị đầu vào xk nằm trong không gian Rm với k = 1,…, n, chúng ta có thể tính toán ma trận tương quan (covariance matrix) của các giá trị này.
𝑛 − 1 Sau đó giải hệ phương trình để tìm giá trị đặc trưng λv=Cv
Phương pháp hàm nhân dựa trên ý tưởng rằng các phép tính tương tự có thể thực hiện trong không gian tích vô hướng F, liên quan đến không gian giá trị đầu vào thông qua biến đổi phi tuyến ϕ:𝑅 𝑚 → 𝐹 và 𝑥 → 𝑋.
Ta có thể biểu diễn ma trận tương quan trong không gian F như sau, với giả sử là dữ liệu đã được chuyển về tâm của trục toạ độ
Và tương tự ta có thể tính được các giá trị đặc trưng tương tự như với PCA truyền thống với hàm nhân có dạng như sau
ICA (Phân tích thành phần độc lập) là một kỹ thuật thống kê giúp xác định các yếu tố ẩn trong các bộ biến ngẫu nhiên, phép đo hoặc tín hiệu Kỹ thuật này xây dựng một mô hình phát sinh cho dữ liệu đa biến quan sát, thường được trình bày dưới dạng một cơ sở dữ liệu lớn với nhiều mẫu Trong mô hình, các biến số dữ liệu được giả định là hỗn hợp tuyến tính của các biến tiềm ẩn chưa biết, với hệ thống hỗn hợp cũng chưa rõ ràng Các biến tiềm ẩn này được cho là không tuân theo phân phối Gaussian và độc lập với nhau, được gọi là các thành phần độc lập của dữ liệu quan sát.
Hình 2.3: Biểu đồ minh hoạ ICA
ICA là một kỹ thuật mạnh mẽ hơn PCA, có khả năng phát hiện các yếu tố tiềm ẩn của các nguồn mà các phương pháp truyền thống không thể làm được Nó được ứng dụng rộng rãi trong lĩnh vực hình ảnh kỹ thuật số, cơ sở dữ liệu tài liệu, chỉ số kinh tế và đo lường tâm lý Bài viết đã cung cấp cái nhìn tổng quan về các thuật toán phổ biến trong AI, hy vọng bạn sẽ tìm hiểu sâu hơn để phát triển các ứng dụng “trí tuệ nhân tạo” phục vụ cho cộng đồng.
Mô hình sử dụng PCA
2.3.1 Giới thiệu về phân lớp dữ liệu
2.3.1.1 Khái niệm phân lớp dữ liệu
Phân lớp là một kỹ thuật khai phá dữ liệu cổ điển dựa trên học máy, được sử dụng để phân loại các mục trong một tập dữ liệu thành các nhóm đã được xác định trước Phương pháp này áp dụng các kỹ thuật toán học như cây quyết định, lập trình tuyến tính, mạng neural và thống kê Nhiều nhà phát triển đã tạo ra phần mềm có khả năng học cách phân lớp các mục dữ liệu, chẳng hạn như trong ứng dụng dự đoán nhân viên sẽ rời công ty, phân chia hồ sơ thành hai nhóm: “bỏ đi” và “ở lại” Nhờ đó, phần mềm khai thác dữ liệu có thể phân loại nhân viên vào các nhóm khác nhau một cách hiệu quả.
Ngày nay, phân lớp dữ liệu (classification) trở thành một trong những lĩnh vực nghiên cứu quan trọng trong khai phá dữ liệu Nhu cầu thực tiễn yêu cầu con người phải trích xuất các quyết định thông minh từ cơ sở dữ liệu chứa nhiều thông tin ẩn Phân lớp và dự đoán là hai hình thức phân tích dữ liệu nhằm xây dựng mô hình mô tả các lớp dữ liệu quan trọng hoặc dự đoán xu hướng dữ liệu trong tương lai Phân lớp tập trung vào việc dự đoán giá trị của các nhãn xác định (categorical label) hoặc giá trị rời rạc (discrete value), trong khi dự đoán xây dựng mô hình với các hàm nhận giá trị liên tục Ví dụ, mô hình phân lớp có thể được áp dụng để dự báo thời tiết.
Dự đoán thời tiết ngày mai, như mưa hay nắng, dựa vào các thông số như độ ẩm, sức gió và nhiệt độ của hôm nay và những ngày trước Tương tự, trong lĩnh vực kinh doanh, nhân viên có thể đưa ra quyết định chính xác về lượng hàng hóa và chủng loại bày bán dựa trên xu hướng mua sắm của khách hàng Mô hình dự đoán còn có khả năng ước lượng chi tiêu của khách hàng tiềm năng dựa trên thông tin về thu nhập và nghề nghiệp Phân lớp dữ liệu đã thu hút sự chú ý của các nhà nghiên cứu trong nhiều lĩnh vực, bao gồm học máy, hệ chuyên gia và thống kê Công nghệ này được ứng dụng rộng rãi trong thương mại, ngân hàng, marketing, nghiên cứu thị trường, bảo hiểm, y tế và giáo dục Các thuật toán trước đây chủ yếu sử dụng dữ liệu cư trú trong bộ nhớ với quy mô nhỏ, trong khi những thuật toán mới áp dụng kỹ thuật cư trú trên đĩa, giúp mở rộng khả năng xử lý với các tập dữ liệu lớn lên tới hàng tỉ bản ghi.
Hình 2.4: Phân lớp dữ liệu
2.3.1.2 Các bước phân lớp dữ liệu
Quá trình phân lớp dữ liệu gồm 2 bước:
Bước thứ nhất: xây dựng mô hình( learning)
Xây dựng mô hình là quá trình mô tả một tập hợp các lớp đã được xác định trước Mỗi mẫu được giả định thuộc về một lớp cụ thể, dựa trên các thuộc tính của nhãn lớp Tập hợp các bộ dữ liệu dùng để xây dựng mô hình được gọi là tập huấn luyện Mô hình có thể được biểu diễn dưới dạng quy tắc phân loại, cây quyết định hoặc công thức toán học.
Bước thứ hai: sử dụng mô hình( classification)
Bước phân lớp sử dụng dữ liệu kiểm thử để ước tính độ chính xác của các quy tắc phân lớp Nếu độ chính xác đạt yêu cầu, các quy tắc này có thể được áp dụng cho bộ dữ liệu mới Quá trình phân lớp thực chất là gán nhãn lớp cho dữ liệu có nhãn lớp chưa biết.
Trong mô hình phân lớp, thuật toán phân lớp đóng vai trò quan trọng, quyết định sự thành công của toàn bộ hệ thống Chìa khóa để phân lớp dữ liệu hiệu quả là tìm kiếm một thuật toán nhanh, chính xác và có khả năng mở rộng tốt Đặc biệt, khả năng mở rộng của thuật toán được chú trọng phát triển Nhiều kỹ thuật phân lớp đã được áp dụng và cải tiến trong những năm qua.
- Phân lớp cây quyết định (Decision tree classification)
- Bộ phân lớp Bayesian (Bayesian classifier)
- Mô hình phân lớp K-hàng xóm gần nhất (K-nearest neighbor classifier)
- Các thuật toán di truyền
- Phương pháp tập thô (Rough set Approach) a, Chuẩn bị dữ liệu cho việc phân lớp:
Tiền xử lý dữ liệu là bước quan trọng không thể thiếu trong quá trình phân lớp, ảnh hưởng trực tiếp đến khả năng áp dụng của mô hình.
Quá trình tiền xử lý dữ liệu là bước quan trọng giúp nâng cao độ chính xác, hiệu quả và khả năng mở rộng của mô hình phân lớp Các công việc trong quá trình này bao gồm làm sạch dữ liệu, đảm bảo rằng thông tin đầu vào là chính xác và đáng tin cậy.
Làm sạch dữ liệu là quá trình xử lý các lỗi (noise) và giá trị thiếu (missing value) trong tập dữ liệu Noise bao gồm các lỗi ngẫu nhiên và giá trị không hợp lệ, có thể được xử lý bằng kỹ thuật làm trơn Giá trị thiếu xuất hiện khi các ô không có giá trị, thường do lỗi trong nhập liệu hoặc vì giá trị không có hoặc không quan trọng Để xử lý giá trị thiếu, có thể thay thế bằng giá trị phổ biến nhất hoặc giá trị có khả năng xảy ra nhất dựa trên thống kê Mặc dù nhiều thuật toán phân lớp có cơ chế xử lý giá trị thiếu và lỗi, nhưng việc tiền xử lý này giúp giảm sự hỗn độn trong quá trình học và xây dựng mô hình phân lớp.
Hình 2.5: Làm sạch dữ liệu
31 c, Phân tích sự cần thiết của dữ liệu
Trong quá trình phân tích dữ liệu, nhiều thuộc tính có thể không cần thiết cho bài toán phân lớp cụ thể Chẳng hạn, dữ liệu về ngày trong tuần không liên quan đến việc phân tích độ rủi ro của khoản vay ngân hàng, do đó, thuộc tính này trở thành dư thừa Việc phân tích sự cần thiết của dữ liệu giúp loại bỏ các thuộc tính không cần thiết, từ đó giảm thiểu sự phức tạp và sai lệch trong quá trình học, đảm bảo rằng mô hình phân lớp cuối cùng là chính xác và hiệu quả.
Khái quát hóa dữ liệu lên mức khái niệm cao hơn là một bước quan trọng trong quá trình tiền xử lý, đặc biệt đối với các thuộc tính liên tục như thu nhập của khách hàng, có thể được phân loại thành các nhóm như thấp, trung bình, và cao Tương tự, các thuộc tính rời rạc như địa chỉ phố cũng có thể được khái quát hóa thành thành phố Quá trình này giúp cô đọng dữ liệu học nguyên thủy, từ đó giảm thiểu các thao tác vào/ra trong quá trình học.
So sánh các mô hình phân lớp
Trong mỗi ứng dụng cụ thể, việc lựa chọn mô hình phân lớp phù hợp là rất quan trọng Quyết định này được thực hiện thông qua việc so sánh các mô hình phân lớp dựa trên các tiêu chuẩn nhất định.
Độ chính xác dự đoán là khả năng của mô hình trong việc xác định chính xác nhãn lớp cho dữ liệu mới hoặc dữ liệu chưa biết.
- Tốc độ (speed) Tốc độ là những chi phí tính toán liên quan đến quá trình tạo ra và sử dụng mô hình
- Sức mạnh (robustness) Sức mạnh là khả năng mô hình tạo ta những dự đoán đúng từ những dữ liệu noise hay dữ liệu với những giá trị thiếu
- Khả năng mở rộng (scalability) Khả năng mở rộng là khả năng thực thi hiệu quả trên lượng lớn dữ liệu của mô hình đã học
- Tính hiểu được (interpretability) Tính hiểu được là mức độ hiểu và hiểu rõ những kết quả sinh ra bởi mô hình đã học
- Tính đơn giản (simplicity)Tính đơn giản liên quan đến kích thước của cây quyết định hay độ cô đọng của các luật
Trong các tiêu chuẩn trên, khả năng mở rộng của mô hình phân lớp được nhấn mạnh và trú trọng phát triển, đặc biệt với cây quyết định
Đánh giá độ chính xác của mô hình phân lớp là một bước quan trọng để dự đoán độ chính xác cho các kết quả phân loại dữ liệu trong tương lai và so sánh các mô hình khác nhau Bài viết này tập trung vào hai phương pháp đánh giá phổ biến: holdout và k-fold cross-validation, cả hai đều dựa trên việc phân hoạch ngẫu nhiên tập dữ liệu ban đầu.
Phương pháp holdout là một kỹ thuật phân chia dữ liệu, trong đó dữ liệu được chia ngẫu nhiên thành hai phần: tập dữ liệu đào tạo và tập dữ liệu kiểm tra Thông thường, 2/3 dữ liệu được sử dụng cho tập dữ liệu đào tạo, trong khi phần còn lại được dành cho tập dữ liệu kiểm tra.
Hình 2.6: Ước lượng độ chính xác của mô hình phân lớp
TIểu kết
Trong chương này, khóa luận tóm tắt các kiến thức nền cần thiết cho chương tiếp theo, bao gồm các khái niệm về giảm chiều biến, phương pháp giảm chiều biến PCA và mô hình dự báo.
Chương II cũng chú trọng đề xuất phương pháp giảm chiều biến dựa vào phương pháp PCA là một trong những phương pháp hiệu quả trong giảm chiều biến với tập dữ liệu lớn trong kinh tế - kinh doanh
Kết quả của giảm chiều biến theo phương pháp PCA sẽ được thể hiện rõ ràng ở Chương III cũng là chương thực nghiệm cho toàn bộ khóa luận
THỰC NGHIỆM PHƯƠNG PHÁP GIẢM CHIỀU PCA VÀO BÀI TOÁN PHÂN LỚP PHÂN TÍCH RỜI BỎ DỊCH VỤ CỦA
Giới thiệu
Dự báo biến mục tiêu trong tập dữ liệu lớn yêu cầu áp dụng phương pháp giảm chiều biến Chương 02 đã giới thiệu phương pháp PCA, một kỹ thuật phổ biến trong lĩnh vực kinh tế - tài chính Trong chương này, khóa luận sẽ trình bày các thuật toán dự báo biến mục tiêu cho dữ liệu lớn liên quan đến tình hình kinh doanh của doanh nghiệp bán hàng online, kết hợp với việc sử dụng phương pháp PCA để nâng cao tốc độ xử lý dữ liệu trong mô hình thông qua các đánh giá dựa trên dữ liệu đầu ra.
Bài toán đặt ra cho một doanh nghiệp bán hàng online với 12,330 đơn hàng trả lại, yêu cầu phân tích dữ liệu để xác định số lượng khách hàng đã rời bỏ dịch vụ và những khách hàng tiếp tục sử dụng dịch vụ Qua đó, người phân tích có thể dự đoán số lượng khách hàng sẽ rời bỏ trong tương lai Đồng thời, việc áp dụng phương pháp giảm chiều dữ liệu sẽ giúp tăng tốc độ xử lý mô hình dự đoán lượng khách hàng rời bỏ dịch vụ.
Mô tả tập dữ liệu
Tập dữ liệu bao gồm 18 cột với 12330 quan sát bao gồm:
- Cột Administrative có kiểu dữ liệu int64
- Cột Administrative_Duration có kiểu dữ liệu float
- Cột Informational có kiểu dữ liệu int64
- Cột Informational_Duration có kiểu dữ liệu float
- Cột ProductRelated có kiểu dữ liệu int64
- Cột ProductRelated_Duration có kiểu dữ liệu float
- Cột BounceRates có kiểu dữ liệu float
- Cột ExitRates có kiểu dữ liệu float
- Cột PageValues có kiểu dữ liệu float
- Cột SpecialDay có kiểu dữ liệu float
- Cột Month có kiểu dữ liệu object
- Cột OperatingSystems có kiểu dữ liệu int64
- Cột Browser có kiểu dữ liệu int64
- Cột Region có kiểu dữ liệu int64
- Cột TrafficType có kiểu dữ liệu int64
- Cột VisitorType có kiểu dữ liệu object
- Cột Weekend có kiểu dữ liệu bool
- Cột Revenue có kiểu dữ liệu bool
The dataset contains a total of 2 columns with boolean data types, 7 columns with float64 data types, 7 columns with int64 data types, and 2 columns with object data types.
Kết luận rằng đây là tập dữ liệu lớn có số lượng quan sát nhiều và cấu trúc dữ liệu phức tạp
# Column Non-Null Count Dtype
1 Administrative_Duration 12330 non-null float64
3 Informational_Duration 12330 non-null float64
5 ProductRelated_Duration 12330 non-null float64
17 Revenue 12330 non-null bool dtypes: bool(2), float64(7), int64(7), object(2)
Quy trình dự báo KHÁCH HÀNG RỜI BỎ DỊCH VỤ DỰA TRÊN
Giai đoạn 1: Tiền xử lý dữ liệu là bước quan trọng trước khi đưa tập dữ liệu vào mô hình học máy Trong giai đoạn này, dữ liệu cần được xử lý để đảm bảo chất lượng và tính chính xác, giúp cải thiện hiệu suất của mô hình.
Các bước xử lý tiền kỳ đầu tiên sẽ tập chung vào mảng các giá trị trống
Theo như kết quả ở trên cho thấy tập dữ liệu không có giá trị trống ở trong bảng
Chúng ta sẽ lấy các giá trị "object" và "bool" để xác định biến mục tiêu, đồng thời đo các giá trị như count (tổng số quan sát trong biến), unique (số lượng giá trị duy nhất trong biến), top (giá trị đứng đầu trong thước đo), và freq (giá trị trung bình trong biến).
Giai đoạn 2: EDA dữ liệu (khai phá dữ liệu khám phá)
Trước tiên ta sẽ khám phá biểu đồ theo trường dữ liệu churn (ở đây là trường dữ liệu revenue)
Hình 3.1: Tỉ lệ rời bỏ khách hàng hiện tại của doanh nghiệp
Biểu đồ tròn cho thấy lượng khách hàng trung thành (True) chỉ chiếm 15.5%, trong khi đó lượng khách hàng rời bỏ (False) lên tới 84.5% Điều này cho thấy tỷ lệ khách hàng giữ lại dịch vụ buôn bán online thấp hơn so với số lượng khách hàng đã ngừng sử dụng dịch vụ.
Hình 3.2: Lượng khách hàng rời bỏ theo ngày đặc biệt
Biểu đồ cho thấy xu hướng giảm dần số lượng khách hàng rời bỏ dịch vụ trong các ngày đặc biệt, đồng thời cũng phản ánh sự giảm dần của lượng khách hàng duy trì sử dụng dịch vụ.
Hình 3.3: Lượng khách hàng rời bỏ theo lượng sản phẩm
Biểu đồ này minh họa tỷ lệ khách hàng rời bỏ dịch vụ dựa trên số lượng sản phẩm được phân phối, tương tự như các chỉ số theo từng ngày đặc biệt.
Và đối với lượng khách hàng chia theo loại khách tương tự
Hình 3.4 cho thấy lượng khách hàng rời bỏ dịch vụ theo chỉ số phân loại khách hàng Các chỉ số khác cho thấy lượng khách hàng rời bỏ không ổn định, đặc biệt là từ các vùng quốc gia khác.
Hình 3.5: Lượng khách hàng rời bỏ theo vùng quốc gia
Lượng khách hàng tính theo tháng
Hình 3.6: Lượng khách hàng rời bỏ theo tháng
Lượng khách hàng tính theo mức độ truy cập trình duyệt web
Hình 3.7: Lượng khách hàng rời bỏ theo chỉ số duyệt Web của khách hàng
Và lượng khách hàng tính theo chỉ số phương thức phương tiện giao hàng
Hình 3.8: Lượng khách hàng rời bỏ theo phương tiện giao hàng
Tập dữ liệu có các trường với giá trị biến đổi khác nhau, gây khó khăn trong việc dự đoán và làm tăng thời gian xử lý cho mô hình học máy Để cải thiện tốc độ dự đoán, cần áp dụng phương pháp giảm chiều biến PCA nhằm tối ưu hóa quá trình xử lý cho mô hình học máy.
Giai đoạn 3: Xử lý tập dữ liệu bằng phương pháp giảm chiều biến PCA Trong giai đoạn này, chúng ta sẽ tiếp tục xử lý các trường dữ liệu nhằm chuẩn bị cho việc áp dụng phương pháp PCA.
PCA để có thể giảm chiều biến chúng
From sklearn.model_selectioin import train_test_split
# Lựa chọn các trường dữ liệu cho PCA
Features = ["Administrative", "Administrative_Duration", "Informational",
"Informational_Duration","ProductRelated", "ProductRelated_Duration", "BounceRates",
"ExitRates", "PageValues","SpecialDay", "OperatingSystems", "Browser", "Region",
#tách biến độc lập (X) và biến phụ thuộc (y)
# chia dữ liệu thành tập huấn luyện và tập test
X_train, X_test, y_train, y_test = train_test_split(X,y, test_size = 0.2, random_stateB)
Giai đoạn 4: Ứng dụng phương pháp PCA vào tập dữ liệu
From sklearn.decomposition import PCA
From sklearn.preprocessing import StandardScaler
X_train_scaled = caler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test) n_components = 2 # Số thành phần chính mong muốn pca = PCA(n_components=n_components)
X_train_pca = pca.fit_transform(X_train_scaled)
X_test_pca = pca.transform(X_test_scaled)
Sau khi áp dụng phương pháp PCA vào tập dữ liệu, ta thu được kết quả của các mô hình máy học như sau:
Bảng 3.1: Kết quả nhận được từ các mô hình test với phương pháp PCA
Based on the provided data, we will extract and compare the accuracy and processing time of various experimental models, including Decision Tree Classifier, Logistic Regression, Gaussian Naive Bayes, Random Forest Classifier, and K-Neighbors Classifier from the sklearn library The accuracy scores will be calculated using the accuracy_score function, while the processing time will be measured using the time module.
# Định nghĩa các mô hình phân loại models = {
# Đào tạo và đánh giá các mô hình for model_name, model in models.items(): start_time = time.time()
Training a model on data without dimensionality reduction involves using the command `model.fit(X_train, y_train)` to fit the model to the training data Predictions are then generated with `y_pred = model.predict(X_test)`, allowing for the evaluation of the model's performance The accuracy of the predictions is calculated using `accuracy = accuracy_score(y_test, y_pred)` Additionally, the time taken for this process is measured with `time_no_pca = time.time() - start_time`.
Training a model on reduced-dimensional data involves fitting the model using PCA-transformed training data After training, predictions are made on the PCA-transformed test data, and the accuracy is calculated by comparing the predicted values to the actual test labels The time taken for this process is also recorded, and the results are stored for further analysis.
"Time (No PCA)": time_no_pca,
# In bảng kết quả results_df = pd.DataFrame(results) print(results_df)
Hình 3.9: Bảng so sánh độ hiệu quả các mô hình test theo phương pháp PCA
Sau khi áp dụng phương pháp PCA, tập dữ liệu được thu gọn lại, chỉ còn các đặc trưng riêng biệt, giúp tăng tốc độ xử lý so với phương pháp không sử dụng PCA, vốn có tốc độ xử lý chậm hơn Tuy nhiên, độ chính xác của các mô hình sử dụng PCA lại thấp hơn so với các mô hình không sử dụng phương pháp này, do việc thu gọn dữ liệu dẫn đến chỉ số chính xác giảm.
Tiểu kết
Phương pháp giảm chiều dữ liệu PCA cho thấy hiệu quả về tốc độ xử lý, mặc dù độ chính xác thấp hơn so với việc không sử dụng PCA Tuy nhiên, sự chênh lệch về độ chính xác giữa hai phương pháp không đáng kể, cho phép sử dụng PCA để đưa ra dự đoán nhanh chóng với độ sai số thấp Điều này góp phần cải thiện hiệu suất dự đoán khách hàng rời bỏ dịch vụ của doanh nghiệp trong tương lai.
Định hướng phát triển trong tương lai
Ngoài PCA, các biến thể như KPCA và ICA có thể nâng cao độ chính xác của mô hình học máy mà vẫn đảm bảo hiệu suất thời gian cao Bên cạnh đó, việc áp dụng nhiều phương pháp khác để biến đổi dữ liệu thành dạng dễ xử lý sẽ thúc đẩy tốc độ phân tích của mô hình, từ đó cung cấp các phân tích kịp thời và chính xác hơn.
Khóa luận nghiên cứu về giảm chiều dữ liệu PCA (Principal Component Analysis) và ứng dụng của nó trong phân lớp dữ liệu bán hàng online PCA là phương pháp phổ biến giúp loại bỏ đặc trưng dư thừa và trích xuất thông tin quan trọng từ dữ liệu gốc Bài toán phân lớp dữ liệu bán hàng online cần một hệ thống phân loại hiệu quả để phân loại dữ liệu vào các nhãn tương ứng.
Các nghiên cứu trước đây đã chỉ ra rằng việc giảm chiều dữ liệu có thể thực hiện thông qua các phương pháp lựa chọn và trích xuất đặc trưng Trong số đó, PCA được xem là một trong những kỹ thuật phổ biến nhất, giúp tối ưu hóa thời gian tính toán trong quá trình học tập Ngoài PCA, các kỹ thuật khác như EMD, correlation, LDA và forward selection cũng đóng vai trò quan trọng trong việc giảm chiều dữ liệu và lựa chọn đặc trưng hiệu quả.
Nghiên cứu cho thấy PCA là công cụ hiệu quả trong phân lớp dữ liệu bán hàng online, giúp giảm chiều dữ liệu và loại bỏ đặc trưng dư thừa Bằng cách tạo ra các thành phần chính mới từ dữ liệu ban đầu, PCA hỗ trợ xây dựng mô hình phân loại hiệu quả và rút ngắn thời gian huấn luyện.
Nghiên cứu cho thấy rằng các kỹ thuật giảm chiều dữ liệu phi tuyến không vượt trội hơn PCA trong các nhiệm vụ thực tế Mặc dù các phương pháp phi tuyến có thể hoạt động hiệu quả trong các nhiệm vụ nhân tạo được chọn lọc, nhưng chúng không chứng minh được ưu thế so với PCA trong các tình huống thực tế Do đó, các nghiên cứu tương lai nên tập trung vào việc cải thiện các kỹ thuật giảm chiều dữ liệu phi tuyến nhằm nâng cao hiệu suất trong các nhiệm vụ thực tế.
Nghiên cứu trong khóa luận này chỉ ra rằng PCA là một phương pháp giảm chiều dữ liệu hiệu quả, phù hợp cho bài toán phân lớp dữ liệu bán hàng online Tuy nhiên, cần tiếp tục phát triển các kỹ thuật giảm chiều dữ liệu phi tuyến để cải thiện hiệu suất trong các nhiệm vụ thực tế.