1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo chuyên đề học phần khai phá dữ liệu đề tài áp dụng mô hình hồi quy tuyến tính trong dự đoán giá xe ô tô cũ

28 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Áp dụng mô hình hồi quy tuyến tính trong dự đoán giá xe ô tô cũ
Tác giả Phạm Mạ Đức Hồng, Tông Minh Ngọc Cồng Nghệ Thông Tin Cồng Nghệ Thống Tin
Trường học Trường Đại Học Điện Lực
Chuyên ngành Khai Phá Dữ Liệu
Thể loại Báo cáo chuyên đề học phần
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 28
Dung lượng 2,39 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thay vì phải code phần mền vớicách thức thủ công theo một bộ hướng dẫn cụ thể nhằm hoàntoàn một nhiệm vụ để ra thì máy sẽ tự “học hỏi” bằng cách sửdụng một lượng lớn dữ liệu cùng những t

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN

Trang 2

Sinh viên thực hiện:

Giảng viên chấm:

Trang 3

MỤC LỤC

LIỆT KÊ CHỮ VIẾT TẮT 1

DANH MỤC CÁC HÌNH 2

DANH MỤC CÁC BẢNG 3

LỜI MỞ ĐẦU 4

CHƯƠNG 1: GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU 6

1.1 Khai phá dữ liệu là gì 6

1.2 Quy trình khai phá dữ liệu 6

1.3 Giới thiệu về đề tài 7

CHƯƠNG 2 PHÂN LỚP DỮ LIỆU VỚI MÔ HỒI QUY 8

2.1 Mô hình hồi quy tuyến tính 8

2.1.1 Giới thiệu 8

2.1.2 Mô hình 9

2.1.3 Chọn hàm cơ bản 10

2.1.4 Giữ nguyên đầu vào 10

2.1.5 Chuẩn hóa đầu vào 10

2.1.6 Đa thức hóa 11

2.2 Phân lớp dữ liệu (Classification) 11

2.3 Phân cụm dữ liệu (Clustering) 11

CHƯƠNG 3 ỨNG DỤNG CỦA MÔ HÌNH HỒI QUY TUYẾN TÍNH 12

3.1 Mô tả bài toán 12

3.2 Môi trường thử nghiệm 13

3.2.1 Giới thiệu về Python 13

3.2.2 Đặc điểm của Python 13

3.2.3 Cài đặt Python 14

3.3 Xây dựng bộ dữ liệu 14

Trang 4

3.4 Áp dụng thuật toán vào bài toán dự đoán giá xe ô tô cũ 15

3.4.1 Sử dụng hàm Gaussian 15

3.4.2 Sử dụng hàm Sigmoid 15

3.4.3 Ước lượng tham số 15

3.5 Kết quả chương trình 17

3.5.1 Phân Cụm ( Liên hệ giữa điểm và giá rượu trending và test) 17

3.5.2 Mô hình hồi quy tuyến tính (Liên hệ năm sản xuất , giữa điểm , km đã đi được và giá xe ô tô cũ) 18

3.5.3 Giữ đoán giá ô tô cũ thông qua Points nhập vào 19

KẾT LUẬN 20

TÀI LIỆU THAM KHẢO 21

Trang 5

LIỆT KÊ CHỮ VIẾT TẮT

NBC Naive Bayes Classifier

DANH MỤC CÁC HÌN

Trang 6

Hình 1: Hình ảnh folder training data 12

Hình 2: Hình ảnh source code 1 12

Hình 3: Hình ảnh source code 2 12

Hình 4: Hình ảnh source code 3 13

Hình 5: Hình ảnh source code 4 13

Hình 6: Hình ảnh source code 5 14

Hình 7: Hình ảnh source code 6 14

Hình 8: Hình ảnh source code 7 15

Hình 9: Hình ảnh source code 8 15

Hình 10: Hình ảnh phần mềm 16

Trang 7

DANH MỤC CÁC BẢNG

Bảng 1: Bảng ví dụ từ quan trọng và giả thuyết 10

Trang 8

LỜI MỞ ĐẦU

Công nghệ ngày nay phổ biến và không ai có thể phù nhậnđược tầm quan trọng và những hiệu quả mà nó đem lại chocuộc sống chúng ta Bất kỳ trong lĩnh vực nào, sự góp mặt củatrí tuệ nhân tạo sẽ giúp con người làm việc và hoàn thành tốtcông việc hơn Và gần đây, một thuật ngữ “machine learning”rất được nhiều người quan tâm Thay vì phải code phần mền vớicách thức thủ công theo một bộ hướng dẫn cụ thể nhằm hoàntoàn một nhiệm vụ để ra thì máy sẽ tự “học hỏi” bằng cách sửdụng một lượng lớn dữ liệu cùng những thuật toán cho phép nóthực hiện các tác vụ

Đây là một lĩnh vực khoa học tuy không mới, nhưng chothấy lĩnh vực trí tuệ nhân tạo đang ngày càng phát triển và cóthể tiến xa hơn trong tương lai Đồng thời, thời điểm này nóđược xem là một lĩnh vực ‘nóng” và dành nhiều mối quan tâm

để phát triển nó một cách mạnh mẽ, bùng nổ hơn

Hiện nay, việc quan tâm machine learning càng ngày càngtăng lên là vì nhờ có machine learning giúp ga tăng dung lượnglưu trữ các loại dữ liệu sẵn, việc xử lý tính toán có chi phí thấp

và hiệu quả rất nhiều

Những điều trên được hiểu là nó có thể thực hiện tự động,nhanh chóng để tạo ra những mô hình cho phép phân tích các

dự liệu có quy mô lớn hơn và phức tạp hơn đồng thời đưa ranhững kết quả một cách nhanh và chính xác hơn

Chính sự hiệu quả trong công việc và các lợi ích vượt bậc

mà nó đem lại cho chúng ta khiến machine learning ngày càng

Trang 9

được chú trọng và quan tâm nhiều hơn Vì vậy, em chọn đề tài

“Áp dụng mô hình hồi quy tuyến tính trong dự đoán giá xe ô tô

cũ”.

Trang 10

LỜI CẢM ƠN

Môn học “Khai phá dữ liệu” là một môn học rất bổ ích đối với chúng em.Sau khi hoàn thành đề tài này, chúng em đã phần nào hiểu được thế nào là máyhọc, biết được các phương pháp và thuật toán khai phá dữ liệu, có được mộtchương trình cơ bản Để có được những thành công như vậy, ngoài sự nỗ lực củacác thành viên trong nhóm còn có sự giúp đỡ tận tình của thầy giáo hướng dẫn

và sự tìm tòi ham học hỏi của các bạn trong nhóm

Đầu tiên, chúng em xin gửi lời cảm ơn tới thầy giáo – Phạm Đức Hổng

về những hướng dẫn khoa học của thầy Tiếp đến chúng em xin gửi lời cảm ơntới cô giáo chủ nhiệm cùng toàn thể các thầy cô trong khoa đã giúp tạo điều kiệngiúp đỡ chúng em trong quá trình thực hiện đề tài

Mặc dù đã rất cố gắng hoàn thiện bài tập lớn với tất cả sự nỗ lực, tuynhiên, do bước đầu đi vào thực tế, tìm hiểu và xây dựng đồ án trong thời gian cóhạn, và kiến thức còn hạn chế, nhiều bỡ ngỡ, nên báo cáo “Khai phá dữ liệu”chắc chắn sẽ không thể tránh khỏi những thiếu sót Chúng em rất mong nhậnđược sự quan tâm, thông cảm và những đóng góp quý báu của các thầy cô vàcác bạn để đồ án này ngày càng hoàn thiện hơn

Một lần nữa, chúng em xin chân thành cám ơn và luôn mong nhận được

sự đóng góp của thầy!

Trang 11

CHƯƠNG 1: GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU 1.1 Khai phá dữ liệu là gì

Data mining – khai phá dữ liệu, là một tập hợp, một hệ thốngcác phương pháp tính toán, thuật toán được áp dụng cho các cơ sở

dữ liệu lớn và phức tạp mục đích loại bỏ các chi tiết ngẫu nhiên, chitiết ngoại lệ, khám phá các mẫu, mô hình, quy luật tiềm ẩn, cácthông tin có giá trị trong bộ dữ liệu Data mining là thành quả côngnghệ tiên tiến ngày nay, là quá trình khám phá các kiến thức vô giábằng cách phân tích khối lượng lớn dữ liệu đồng thời lưu trữ chúng ởnhiều cơ sở dữ liệu khác nhau”

1.2 Quy trình khai phá dữ liệu

1.2.1 Nghiên cứu lĩnh vực

Ta cần nghiên cứu lĩnh vực cần sử dụng Data mining để xác địnhđược những tri thức ta cần chắt lọc, từ đó định hướng để tránh tốnthời gian cho những tri thức không cần thiết

2.2.2 Tạo tập tin dữ liệu đầu vào

Ta xây dựng tập tin để lưu trữ các dữ liệu đầu vào để máy tính cóthể lưu trữ và xử lý

2.2.3 Tiền xử lý, làm sạch, mã hóa

Ở bước này ta tiến hành bỏ bớt những dữ liệu rườm rà, khôngcần thiết, tinh chỉnh lại cấu trúc của dữ liệu và mã hóa chúng để tiệncho quá trình xử lý

2.2.4 Rút gọn chiều

Thông thường một tập dữ liệu có chiều khá lớn sẽ sinh ra mộtlượng dữ liệu khổng lồ, ví dụ với n chiều ta sẽ có 2^n tổ hợp Do đó,đây là một bước quan trọng giúp giảm đáng kể hao tổn về tài

Trang 12

nguyên trong quá trình xử lý tri thức Thông thường ta sẽ dùngRough set(http://en.wikipedia.org/wiki/Rough_set) để giảm số chiều.

2.2.6 Chọn các thuật giải Khai thác dữ liệu

2.2.7 Khai thác dữ liệu: Tìm kiếm tri thức

Sau khi tiến hành các bước trên thì đây là bước chính của cả quátrình, ta sẽ tiến hành khai thác và tìm kiếm tri thức

2.2.8 Đánh giá mẫu tìm được

Ta cần đánh giá lại xem trong các tri thức tìm được, ta sẽ sửđụng được những tri thức nào, những tri thức nào dư thừa, không cầnthiết

2.2.9 Biểu diễn tri thức

Ta biểu diễn tri thức vừa thu thập được dưới dạng ngôn ngữ tựnhiên và hình thức sao cho người dùng có thể hiểu được những trithức đó

2.2.10 Sử dụng các tri thức vừa khám phá

Trang 13

1.3 Giới thiệu về đề tài

Dựa vào các tập dữ liệu về bình luận sản phẩm, đánh giá quanđiểm bình luận bằng phương pháp Naive Bayes

Trang 14

CHƯƠNG 2 PHÂN LỚP DỮ LIỆU VỚI MÔ HỒI QUY

2.1 Mô hình hồi quy tuyến tính

2.1.1 Giới thiệu

Mục tiêu của giải thuật hồi quy tuyến tính là dự đoán giá trịcủa một hoặc nhiều biến mục tiêu liên tục (continuous targetvariable) Y dựa trên một véc-to đầu vào X

Ví dụ: dự đoán giá nhà ở Hà Nội dựa vào thông tin về diệntích, vị trí, năm xây dựng của ngôi nhà thì tt ở đây sẽ là giá nhà

và X=(,,)x với là diện tích, là vị trí và là năm xây dựng

Nếu bạn còn nhớ thì đây chính là phương pháp phân tíchhồi quy của xác suất thống kê Mọi lý thuyết cơ bản của phươngpháp này vẫn được giữa nguyên nhưng khi áp dụng cho máytính thì về mặt cài đặt có thay đổi đôi chút

Về cơ bản thì ta sẽ có một tập huấn luyện chứa cáccặp (,) tương ứng và nhiệm vụ của ta là phải tìm giá trị ứng vớimột đầu vào X mới Để làm điều này ta cần tìm được quan hệgiữa X và Y để từ đó đưa ra được dự đoán Hay nói cách trừutượng hơn là ta cần vẽ được một đường quan hệ thể hiện mốiquan hệ trong tập dữ liệu

Trang 15

Hình 2.1 Quan hệ của X và Y

Như hình minh họa phía trên thì ta có thể vẽ được mộtđường màu xanh y=3+4x để thể hiện quan hệ giữa x và y dựavào các điểm dữ liệu huấn luyện đã biết Thuật toán hồi quytuyến tính sẽ giúp ta tự động tìm được đường màu xanh đó để

từ đó ta có thể dự đoán được y cho một x chưa từng xuất hiệnbao giờ

2.1.2 Mô hình

Mô hình đơn giản nhất là mô hình kết hợp tuyến tính củacác biến đầu vào:

y(x,) = + + … +

Trong đó x € là véc-to biến đầu vào và € là véc-to trọng

số tương ứng Thường được gọi là tham số của mô hình Giá trịcủa tham số sẽ được ước lượng bằng cách sử dụng các cặp giátrị (,) của tập huấn

luyện

Trang 16

Thực ra mô hình tuyến tính là chỉ cần ở mức tuyến tínhgiữa tham số và Y là đủ Và mình cho rằng tên gọi tuyến tính làxuất phát giữa và Y, chứ không phải giữa X và Y Nói cách khác,

ta có thể kết hợp các X một cách phi tuyến trước khi hợp với

để được Y Một cách đơn giản là sử dụng hàm phi tuyếncho X như sau:

y(x,) = + + … +

được gọi là độ lệch (bias) nhằm cắt đi mức độ chênh lệchgiữa mô hình và thực tế Các hàm phi tuyến này được gọi làcác hàm cơ bản (basic function) Thường người ta sẽ đặt = 1 vàviết lại công thức trên như sau:

Như quy ước thì tất cả các véc-to nếu không nói gì thì tangầm định với nhau rằng nó là véc-to cột nên ta có được cáchviết nhân ma trận như trên

2.1.3 Chọn hàm cơ bản

Việc chọn hàm cơ bản cũng chính là chọn tính năng chođầu vào rất quan trọng trong học máy Ngoài ra việc chọn rasao còn ảnh hưởng tới tốc độ và bộ nhớ để tính toán nữa Ở đâytôi chỉ để cập tới 1 vài cách đơn giản để chọn hàm cơ bản màthôi

2.1.4 Giữ nguyên đầu vào

Giữ nguyên đầu vào có ý là không thay đổi giá trị đầu vào, tức:

= x

Thường người ta sẽ gom các đầu vào thành một ma trận X € :

X = []

Trang 17

Mỗi hàng của ma trận chứa 1 mẫu và mỗi cột sẽ chứa các thuộc tính đầu vào.

2.1.5 Chuẩn hóa đầu vào

Là phương pháp co giãn các thuộc tính về khoản [min,max] nào đó(thường là [−1,1] hoặc [−0.5,0.5]) dựa vào kì vọng và độ lệch chuẩn của chúng =

Trong đó, là trung bình, còn là độ lệch chuẩn của tính năng i Đôi lúc người tacũng có thể lấy s_isi là khoảng rộng chuẩn = max−min

Việc này không làm mất tính chất phân phối của chúng nên không ảnh hưởng tớikết quả học Nhưng lại giúp cho việc học trở lên dễ dàng hơn vì các thuộc tính

gần như cùng khoảng nhỏ với nhau Phương pháp này còn có tên khác là chuẩn

hoá trung bình (mean normalization).

2.1.6 Đa thức hóa

Sử dụng đa thức bậc cao để làm đầu vào:

=

Với các bài toán hồi quy tuyến tính thì phương pháp này rất hay được sử dụng

2.2 Phân lớp dữ liệu (Classification)

 Là dạng phân tích dữ liệu nhằm rút trích các mô hình mô tả các lớp dữliệu hoặc dự đoán xu hướng dữ liệu

 Quá trình gồm hai bước:

 Bước học (giai đoạn huấn luyện): xây dựng bộ phân lớp (classifier)bằng việc phân tích/học tập huấn luyện

 Bước phân lớp (classification): phân lớp dữ liệu/đối tượng mới nếu

độ chính xác của bộ phân lớp được đánh giá là có thể chấp nhậnđược (acceptable)

 Các thuật toán phân lớp dữ liệu

 Phân lớp với cây quyết định (decision tree)

Trang 18

 Phân lớp với Nạve Bayesian

 Phân lớp với k phần tử gần nhất (k-nearest neighbor)

 Phân lớp với máy vector hỗ trợ (SVM)

 Phân lớp với mạng neural (neural network)

 Phân lớp dựa trên tiến hố gen (genetic algorithms)

 Phân lớp với lý thuyết tập thơ, tập mờ (rough sets)

 Phân lớp với lý thuyết tập mờ (fuzzy sets)

2.3 Phân cụm dữ liệu (Clustering)

 Là quá trình phân nhĩm/cụm dữ liệu/đối tượng vào các lớp/cụm

 Các đối tượng trong cùng một cụm tương tự với nhau hơn so với đốitượng ở cụm khác

 Các yêu cầu của phân cụm dữ liệu:

 Cĩ thể tương thích, hiệu quả với dữ liệu lớn, số chiều lớn

 Cĩ khả năng xử lý các dữ liệu khác nhau

 Cĩ khả năng khám phá các cụm với các dạng bất kỳ

 Khả năng thích nghi với dữ liệu nhiễu

 Ít nhạy cảm với thứ tự của các dữ liệu vào

 Phân cụm rằng buộc

 Dễ hiểu và dễ sử dụng

 Phân loại các phương pháp phân cụm:

 Phân hoạch (partitioning): phân hoạch tập dữ liệu n phần tử thành kcụm

 Phân cấp (hierarchical): xây dựng phân cấp các cụm trên cơ sở cácđối tượng dữ liệu đang xem xét

 Dựa trên mật độ (density-based): dựa trên hàm mật độ, số đối tượnglân cận của đối tượng dữ liệu

 Dựa trên lưới (grid-based): dựa trên dữ liệu nhiều chiều, chủ yếu ápdụng cho lớp dữ liệu khơng gian

Trang 19

 Dựa trên mô hình (model-based): một mô hình giả thuyết được đưa

ra cho mỗi cụm; sau đó hiệu chỉnh các thông số để mô hình phùhợp với cụm dữ liệu/đối tượng nhất

CHƯƠNG 3 ỨNG DỤNG CỦA MÔ HÌNH HỒI QUY TUYẾN

TÍNH

3.1 Mô tả bài toán

Do còn một bộ phận lớn những người có thu nhập thấpkhông đủ khả năng chi trả cho một chiếc ô tô mới hoặc họmong muốn sở hữu một chiếc xe hạng sang nhưng lại khôngphù hợp với túi tiền của mình Nhưng những chiếc xe cũ lại có

vô vàn các mức giá khác nhau kể cả cho cùng một chiếc xecùng một kiểu dáng và cùng năm sản xuất Nên để tránhtrường hợp chúng ta mua phải một chiếc xe có giá cao nhưng lạikhông phù hợp với những gì nó mang lại Em đã quyết định áp

dụng mô hình hồi quy tuyến tính vào bài toán “Dự đoán giá xe

Ô tô cũ

Mô hình hồi quy tuyến tính áp dụng vào bài toán giự đoángiá Ô tô cũ phụ thuộc vào kết quả thống kê được từ hơn 142quốc qua trên thế giớ phục vụ cho các nhà máy sản xuất Ô tôtrên toàn thế giới

 Giá trị input: Year, Mrr, Point, Price của từng loại ô tô

 Giá trị output: Kết quả nhận được với mỗi Year, Mrr, Point Point nhập vào

sẽ dự đoán được Price

Trang 20

3.2 Môi trường thử nghiệm

3.2.1 Giới thiệu về Python

Python là ngôn ngữ lập trình được sử dụng rất phổ biếnngày nay để phát triển nhiều loại ứng dụng phần mềm khácnhau như các chương trình chạy trên desktop, server, lập trìnhcác ứng dụng web Ngoài ra Python cũng là ngôn ngữ ưa thíchtrong ngành khoa học về dữ liệu (data science) cũng như làngôn ngữ phổ biến để xây dựng các chương trình trí tuệ nhântạo trong đó bao gồm machine learning

3.2.2 Đặc điểm của Python

 Python là ngôn ngữ dễ học: Ngôn ngữ Python có cú pháp đơn giản, rõràng, sử dụng một số lượng không nhiều các từ khoá, do đó Python đượcđánh giá là một ngôn ngữ lập trình thân thiện với người mới học

 Python là ngôn ngữ dễ hiểu: Mã lệnh (source code hay đơn giản là code)viết bằng ngôn ngữ Python dễ đọc và dễ hiểu Ngay cả trường hợp bạnchưa biết gì về Python bạn cũng có thể suy đoán được ý nghĩa của từngdòng lệnh trong source code

 Python có tương thích cao (highly portable): Chương trình phần mềm viếtbằng ngôn ngữ Python có thể được chạy trên nhiều nền tảng hệ điều hànhkhác nhau bao gồm Windows, Mac OSX và Linux

Trang 22

ở đây sẽ chỉ định vị trí trung bình cho đầu vào còn ss sẽchỉ định độ phân tán cho đầu vào Việc sử dụng hàm này sẽgiúp ta có được đầu vào theo phân phối chuẩn.

Một biến thể khác là sử dụng tanhtanh vì nó khá gần với sigmoid

3.4.3 Ước lượng tham số

Giả sử ta có mm cặp dữ liệu huấn luyện (,) ,I = 1,m được tổ chức tươngứng bằng X = [] , Y = [] và Y €

là kết quả dự đoán tương ứng Ta có thể đánh giá mức độ chênh lệch kếtquả y^ và y bằng một hàm lỗi (lost function) như sau:

Công thức trên thể hiện trung bình của độ lệch (khoảng cách) giữa cácđiểm dữ liệu thực tế và kết quả dự đoán sau khi ta ước lượng tham số Còn tạisao ta lại chia cho 2 thì tôi sẽ giải thích sau Hàm lỗi còn có tên gọi khác là hàmlỗi bình phương (squared error function) hoặc hàm lỗi trung bình bìnhphương (mean squared error function) hoặc hàm chi phí (cost function).Không cần giải thích ta cũng có thể hiểu với nhau rằng tham số tốt nhất là tham

số giúp cho hàm lỗi JJ đạt giá trị nhỏ nhất

Kết quả tối ưu nhất là y^ = y, tức là J(θ)=0 Để giải quyết bài toán này ta

có thể sử dụng đạo hàm J(θ) và tìm θ sao cho J(θ)′=0

Ngày đăng: 09/06/2023, 15:43

HÌNH ẢNH LIÊN QUAN

Hình 2.1. Quan hệ của X và Y - Báo cáo chuyên đề học phần khai phá dữ liệu đề tài áp dụng mô hình hồi quy tuyến tính trong dự đoán giá xe ô tô cũ
Hình 2.1. Quan hệ của X và Y (Trang 15)
Hình 3.1. Cài đặt Python - Báo cáo chuyên đề học phần khai phá dữ liệu đề tài áp dụng mô hình hồi quy tuyến tính trong dự đoán giá xe ô tô cũ
Hình 3.1. Cài đặt Python (Trang 21)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w