Skip to content

Thích Công Nghệ

Thích Công Nghệ

  • Home » 
  • Máy Tính » 
  • Dự Đoán Giá Laptop Bằng Python: Hướng Dẫn Xây Dựng Mô Hình Chuẩn Xác

Dự Đoán Giá Laptop Bằng Python: Hướng Dẫn Xây Dựng Mô Hình Chuẩn Xác

By Administrator Tháng 8 1, 2025
Máy tính xách tay Lenovo Yoga Slim 9i Gen 10 màu bạc sang trọng đặt trên bàn, minh họa sự đa dạng của các dòng laptop hiện nay.
Table of Contents

Khi bạn đang cân nhắc mua một chiếc laptop mới, câu hỏi đầu tiên thường xuất hiện là “Tôi nên trả bao nhiêu tiền cho nó?”. Việc tìm kiếm thông tin trên vô vàn trang web, hay đi lòng vòng các cửa hàng có thể ngốn rất nhiều thời gian và công sức. Nhưng bạn có biết, một chút kiến thức về Python và kỹ thuật hồi quy tuyến tính có thể giúp công việc này trở nên dễ dàng và hiệu quả hơn rất nhiều không?

Bài viết này sẽ đưa bạn đi sâu vào thế giới của phân tích dữ liệu, nơi chúng ta sẽ cùng xây dựng một mô hình dự đoán giá laptop dựa trên các thông số kỹ thuật và thương hiệu của chúng. Mục tiêu là giúp bạn không chỉ hiểu được giá trị thực của một chiếc laptop mà còn nắm vững cách ứng dụng Python, một ngôn ngữ lập trình mạnh mẽ, để giải quyết các vấn đề thực tế trong lĩnh vực công nghệ.

Tại Sao Cần Một Công Cụ Dự Đoán Giá Laptop Tự Động?

Việc tìm kiếm một chiếc laptop ưng ý với mức giá phù hợp trong thị trường đa dạng như hiện nay là một thách thức lớn. Có hàng ngàn mẫu mã từ vô số thương hiệu, mỗi chiếc lại sở hữu cấu hình và tính năng riêng biệt. Nếu phải tự mình lật tung hàng nghìn trang web hay ghé thăm vô số cửa hàng vật lý để so sánh, bạn sẽ tốn rất nhiều thời gian và năng lượng. Là một người yêu công nghệ nhưng luôn bận rộn, tôi nhận thấy đây không phải là một công việc thú vị hay hiệu quả. Tôi muốn có một chương trình mà chỉ cần nhập các thông số như dung lượng RAM mong muốn hay độ phân giải màn hình cần thiết, nó sẽ cho ra một mức giá dự kiến.

Sức mạnh của Python và kiến thức về hồi quy tuyến tính từ thống kê đã giúp tôi nhận ra rằng việc xây dựng một mô hình để trả lời những câu hỏi này là hoàn toàn khả thi. Python là một ngôn ngữ tuyệt vời, và tôi đã có một số kiến thức cơ bản về nó. Nó ngày càng trở nên phổ biến trong phân tích dữ liệu vì đủ đơn giản cho những người không có nền tảng khoa học máy tính nhưng vẫn cung cấp các thư viện mạnh mẽ để phân tích dữ liệu một cách chuyên sâu.

Máy tính xách tay Lenovo Yoga Slim 9i Gen 10 màu bạc sang trọng đặt trên bàn, minh họa sự đa dạng của các dòng laptop hiện nay.Máy tính xách tay Lenovo Yoga Slim 9i Gen 10 màu bạc sang trọng đặt trên bàn, minh họa sự đa dạng của các dòng laptop hiện nay.

Chia sẻ thông tin này với những người khác đang tìm mua laptop cũng là một mục tiêu quan trọng. Ai muốn bị “hớ” khi mua một chiếc máy tính? Tôi thì không, và tôi đoán bạn cũng vậy.

Tập Hợp “Bộ Công Cụ” Thống Kê Với Python

Để thực hiện dự án này, tôi đã sử dụng các thành phần quen thuộc trong hệ sinh thái thống kê của Python. Trước đó, tôi đã thiết lập một môi trường Mamba với đầy đủ các công cụ cần thiết. Mặc dù nhiều hệ điều hành, bao gồm cả Linux, đi kèm với Python, nhưng phiên bản đó thường được dùng để hỗ trợ hệ thống chứ không phải cho các chương trình người dùng. Nếu bạn nâng cấp Python của hệ thống, các script phụ thuộc vào nó có thể bị lỗi. Có nhiều công cụ để cài đặt các môi trường tùy chỉnh như VirtualEnv.

Thành phần đầu tiên là NumPy. Đây là một thư viện phổ biến cho mọi loại phép toán số học, đặc biệt là các phép tính thống kê và đại số tuyến tính mà chúng ta sẽ sử dụng ngầm.

Thư viện tiếp theo bạn cần là Pandas, cho phép bạn nhập bộ dữ liệu và xem nó dưới dạng các cột trong một “dataframe”. Nó giống như sự kết hợp giữa cơ sở dữ liệu quan hệ và bảng tính, đồng thời cho phép bạn thực hiện các thao tác mạnh mẽ trên dữ liệu của mình.

Seaborn là một thư viện để xem các biểu đồ dữ liệu thống kê. Tôi sử dụng nó để trực quan hóa phân phối dữ liệu trong biểu đồ tần suất (histograms), biểu đồ phân tán (scatterplots) và hồi quy tuyến tính.

Logo thư viện Seaborn của Python với biểu đồ cột, đường lượn sóng và các điểm phân tán, thể hiện khả năng trực quan hóa dữ liệu thống kê mạnh mẽ.Logo thư viện Seaborn của Python với biểu đồ cột, đường lượn sóng và các điểm phân tán, thể hiện khả năng trực quan hóa dữ liệu thống kê mạnh mẽ.

Cuối cùng, Pingouin giúp tôi thực hiện nhiều kiểm định thống kê một cách dễ dàng, mà không cần phải nhớ tất cả các công thức đã quên từ những năm học thống kê đại học. Đây là chương trình sẽ xây dựng mô hình thông qua hồi quy tuyến tính đa biến của giá bán lẻ so với tất cả các thuộc tính của laptop.

Để kết nối tất cả những công cụ này, bạn có thể thực hiện đơn giản trong hầu hết các môi trường giống Unix, bao gồm cả Windows sử dụng Windows Subsystem for Linux (WSL). Bạn có thể làm theo hướng dẫn trên trang web để cài đặt nó.

Jupyter Notebooks cung cấp một cách tương đối thân thiện với người dùng để chạy các lệnh Python và xem kết quả, cũng như lưu trữ kết quả để sử dụng sau này, nhưng nó là tùy chọn. Tôi đã tạo một Jupyter Notebook, và sẽ minh họa các ví dụ code từ đó. Tôi đã đăng nó lên GitHub của mình, vì vậy bạn có thể xem code và một số ví dụ mà tôi không thể trình bày hết trong bài viết này.

Sau khi cài đặt Mamba, bạn có thể tạo môi trường mình cần. Để kích hoạt, tôi gõ lệnh này tại shell Linux:

mamba activate stats

Thu Thập Dữ Liệu Laptop Để Phân Tích

Để xây dựng bộ dữ liệu cho mô hình hồi quy, tôi có thể tự mình tìm kiếm qua các cửa hàng trực tuyến và xây dựng một cơ sở dữ liệu toàn diện về laptop. Việc này sẽ mất rất nhiều thời gian để xây dựng, cũng như để làm sạch dữ liệu sao cho nhất quán. May mắn thay, đã có người làm việc này rồi.

Có một bộ dữ liệu về laptop với các thông số kỹ thuật phần cứng nhất định như tốc độ CPU, dung lượng RAM, dung lượng lưu trữ, và độ phân giải màn hình (chiều ngang và chiều dọc) có sẵn trên Kaggle.

Giá của các chiếc laptop trong bộ dữ liệu được tính bằng euro. Tuy nhiên, một kiểm tra nhanh trên Xe.com vào tháng 7 năm 2025 cho thấy tỷ giá hối đoái giữa euro và đô la Mỹ khá gần nhau, nên chúng ta có thể tạm thời bỏ qua sự khác biệt này để tập trung vào mô hình.

Xây Dựng Mô Hình Hồi Quy Dự Đoán Giá Laptop

Với môi trường đã sẵn sàng và dữ liệu đã thu thập, giờ là lúc xây dựng mô hình. Đầu tiên, tôi phải nhập các thư viện sẽ sử dụng:

import numpy as np
import pandas as pd
import seaborn as sns
%matplotlib inline
import pingouin as pg

Các dòng này nhập các thư viện NumPy, Pandas, Seaborn và Pingouin. Chúng được rút gọn thành “np”, “pd”, “sns” và “pg” để tiện sử dụng. Dòng bắt đầu bằng “%” được dùng trong Jupyter Notebooks để chỉ định rằng các biểu đồ được vẽ bằng Matplotlib sẽ hiển thị ngay trong Notebook, thay vì trong một cửa sổ riêng.

Tiếp theo, chúng ta sẽ nhập dữ liệu bằng Pandas:

laptops = pd.read_csv("data/laptop_prices.csv")

Lệnh này sẽ tạo một Pandas DataFrame chứa dữ liệu của chúng ta. Chúng ta có thể xem cách dữ liệu được sắp xếp bằng phương thức head():

laptops.head()

Chúng ta cũng có thể xem các thống kê mô tả cơ bản của tất cả các cột số liệu bằng phương thức describe():

laptops.describe()

Bảng kết quả thống kê mô tả (mean, std, min, max, percentile) của các cột số liệu trong bộ dữ liệu laptop, cung cấp cái nhìn tổng quan về đặc điểm dữ liệu.Bảng kết quả thống kê mô tả (mean, std, min, max, percentile) của các cột số liệu trong bộ dữ liệu laptop, cung cấp cái nhìn tổng quan về đặc điểm dữ liệu.

Kết quả này sẽ hiển thị trung bình, độ lệch chuẩn, giá trị nhỏ nhất, tứ phân vị dưới (25th percentile), trung vị (median), tứ phân vị trên (75th percentile) và giá trị lớn nhất của mỗi cột.

Tôi cũng thích trực quan hóa phân phối dữ liệu thông qua biểu đồ tần suất (histograms). Hàm displot của Seaborn làm điều này một cách hiệu quả.

Để xem phân phối giá:

sns.displot(x='Price_euros',data=laptops)

Biểu đồ histogram phân phối giá laptop trong môi trường Jupyter Notebook, cho thấy sự phân bố lệch phải của dữ liệu giá sản phẩm.Biểu đồ histogram phân phối giá laptop trong môi trường Jupyter Notebook, cho thấy sự phân bố lệch phải của dữ liệu giá sản phẩm.

Biểu đồ này cho Pingouin biết rằng chúng ta muốn vẽ giá theo trục x và sử dụng DataFrame laptops làm nguồn. Phần đuôi của phân phối bị lệch rõ rệt sang phải, cho thấy có một số ít laptop có giá rất cao.

Chúng ta sẽ xây dựng một mô hình sử dụng nhiều thông số kỹ thuật khác nhau. Nó sẽ trông giống như thế này:

giá = a(tốc độ CPU) + b(RAM) + c(kích thước inch) + ...

Các chữ cái a, b, c... là viết tắt của các hệ số được xác định bởi hồi quy. Nó tương tự như hồi quy tuyến tính đơn giản mà bạn có thể đã thấy, nhưng thay vì khớp một đường thẳng trên biểu đồ phân tán, bạn đang khớp một mặt phẳng. Vì có nhiều hơn ba chiều trong mô hình này, thực tế nó là một siêu mặt phẳng (hyperplane).

Để thu được hồi quy của giá bằng euro so với kích thước laptop, tốc độ CPU, kích thước màn hình, trọng lượng, bộ nhớ chính và bộ nhớ phụ, hãy sử dụng hàm hồi quy tuyến tính của Pingouin:

pg.linear_regression(laptops[['Inches','Ram','Weight','ScreenW','ScreenH','CPU_freq','PrimaryStorage','SecondaryStorage']],laptops['Price_euros'],relimp=True)

Lệnh này sẽ cung cấp cho chúng ta các hệ số cho phương trình hồi quy. Tùy chọn relimp=True sẽ yêu cầu Pingouin tính toán mức độ đóng góp của mỗi biến vào giá. Các hệ số sẽ được hiển thị ở cột ngoài cùng bên trái, với cột ngoài cùng bên phải cho chúng ta biết rằng RAM là yếu tố dự đoán giá lớn nhất. Con số cần chú ý để xác định mức độ phù hợp của mô hình là bình phương hệ số tương quan, được ký hiệu là “r2” trong bảng này. Nó vào khoảng 0.66, có nghĩa là đây là một sự phù hợp khá tốt.

Với các hệ số dự đoán, giờ đây chúng ta có thể đưa các giá trị vào phương trình để dự đoán giá. Dưới đây là một hàm thực hiện điều đó:

def price(inches,ram,weight,screenw,screenh,cpu_freq,primary_storage,secondary_storage):
    return 77.11 + -69.81*inches + 77.89*ram + 92.04*ram + 0.04*screenw + 0.59*screenh + 284.51 - 0.21*primary_storage + -0.04 * secondary_storage

Bạn nên lùi dòng thứ hai vào để đúng cú pháp Python.

Thương Hiệu Có Thực Sự Ảnh Hưởng Đến Giá Laptop Không?

Mô hình hồi quy này chỉ xem xét các thông số kỹ thuật. Bạn có thể tự hỏi liệu thương hiệu có thực sự là một yếu tố dự đoán giá hay không. Chúng ta có thể sử dụng phân tích phương sai, hay ANOVA, để xác định xem sự khác biệt giữa các thương hiệu có đáng kể hay không. Vì dữ liệu giá bị lệch, như đã thấy với biểu đồ tần suất, một kiểm định phi tham số sẽ chính xác hơn. Pingouin có kiểm định Kruskal-Wallis thực hiện điều này.

Kiểm định này sẽ kiểm tra giả thuyết không (null hypothesis) rằng không có mối quan hệ nào giữa giá và thương hiệu:

pg.kruskal(data=laptops,dv='Price_euros',between='Company').round(2)

Bảng kết quả kiểm định Kruskal-Wallis về sự khác biệt giá laptop giữa các thương hiệu, được thực hiện trong Python Jupyter Notebook, với p-value cho thấy sự khác biệt đáng kể.Bảng kết quả kiểm định Kruskal-Wallis về sự khác biệt giá laptop giữa các thương hiệu, được thực hiện trong Python Jupyter Notebook, với p-value cho thấy sự khác biệt đáng kể.

Giá trị p-value là 0, điều này có nghĩa là giá thực sự có ý nghĩa thống kê. Việc làm tròn được thực hiện để làm cho giá trị p-value dễ thấy hơn. Nếu không, nó sẽ được hiển thị dưới dạng ký hiệu khoa học. Điều này có nghĩa là chúng ta có thể bác bỏ giả thuyết không và kết luận rằng thương hiệu là một yếu tố dự đoán giá.

Tôi đã có thể xây dựng một công cụ dự đoán giá để giúp mình quyết định mức giá hợp lý cho một chiếc máy tính dựa trên thông số kỹ thuật của nó, và một công cụ khác để xác định mức độ quan trọng của thương hiệu. Điều này cho thấy sức mạnh của Python và các thư viện của nó trong việc biến một công việc có vẻ khó khăn bằng tay thành một vài dòng code đơn giản.

Hy vọng bài viết này đã cung cấp cho bạn cái nhìn sâu sắc về cách ứng dụng Python trong phân tích dữ liệu và giúp bạn tự tin hơn khi lựa chọn chiếc laptop tiếp theo. Đừng ngần ngại khám phá và thử nghiệm các công cụ này để tạo ra những mô hình dự đoán riêng của mình!

Share
facebookShare on FacebooktwitterShare on TwitterpinterestShare on Pinterest
linkedinShare on LinkedinvkShare on VkredditShare on ReddittumblrShare on TumblrviadeoShare on ViadeobufferShare on BufferpocketShare on PocketwhatsappShare on WhatsappviberShare on ViberemailShare on EmailskypeShare on SkypediggShare on DiggmyspaceShare on MyspacebloggerShare on Blogger YahooMailShare on Yahoo mailtelegramShare on TelegramMessengerShare on Facebook Messenger gmailShare on GmailamazonShare on AmazonSMSShare on SMS
Post navigation
Previous post

Top 6 Game Robot Chiến Đấu Đỉnh Cao Không Thể Bỏ Qua Sau Mecha Break

Next post

Tiềm Năng Chưa Được Khai Thác: 4 Tính Năng An Toàn iPhone Apple Nên Bổ Sung Ngay

Administrator

Related Posts

Categories Máy Tính Dự Đoán Giá Laptop Bằng Python: Hướng Dẫn Xây Dựng Mô Hình Chuẩn Xác

7 Điều Tôi Ước Đã Biết Khi Bắt Đầu Xây Dựng Plex Server của Riêng Mình

Categories Máy Tính Dự Đoán Giá Laptop Bằng Python: Hướng Dẫn Xây Dựng Mô Hình Chuẩn Xác

Hướng Dẫn Đặt Tên Vùng Trong Excel: Tăng Hiệu Suất Và Tối Ưu Công Thức

Categories Máy Tính Dự Đoán Giá Laptop Bằng Python: Hướng Dẫn Xây Dựng Mô Hình Chuẩn Xác

Tại Sao Trình Duyệt Web Trở Thành Công Cụ Chính Để Xử Lý File PDF?

Recent Posts

  • 10 Chiêu Trò Móc Túi Game Thủ Tinh Vi Nhất Trong Ngành Game Hiện Đại
  • 5 Lỗi Thường Gặp Khi Tự Host Server Minecraft & Cách Khắc Phục Hiệu Quả
  • 7 Điều Tôi Ước Đã Biết Khi Bắt Đầu Xây Dựng Plex Server của Riêng Mình
  • Hướng Dẫn Đặt Tên Vùng Trong Excel: Tăng Hiệu Suất Và Tối Ưu Công Thức
  • Tại Sao Trình Duyệt Web Trở Thành Công Cụ Chính Để Xử Lý File PDF?

Recent Comments

Không có bình luận nào để hiển thị.
Copyright © 2025 Thích Công Nghệ - Powered by Nevothemes.
Offcanvas
Offcanvas

  • Lost your password ?