2009-07-14 24 views
12

Tôi có thể tìm thấy giải thích kỹ thuật về việc khai phá dữ liệu trong sách hay trên Wikipedia, nhưng tôi tự hỏi nó có liên quan gì đến sự phát triển? Có nhiều hơn về việc sử dụng các công cụ hoặc nhiều hơn về cách viết các công cụ không? Có thực sự khác biệt nhiều so với các tên miền khác khi nói đến R & D?Khai thác dữ liệu từ góc nhìn của nhà phát triển là gì?

+0

Không phải StackOverflow là một mỏ dữ liệu phải không? :-) –

+0

Theo cách nào đó, có. Bạn có thể cố gắng phân tích sự quan tâm đến các thẻ cụ thể theo thời gian, để xem xu hướng nào trong tương lai. – Treb

+0

Trên thực tế, bạn thậm chí có thể đo lường mức độ kiến ​​thức của khách truy cập, được kết hợp với các câu trả lời mà họ đã cung cấp- có thể được sử dụng để tìm các chuyên gia tốt nhất trong một chủ đề nhất định. Rất thiết thực cho những người đi đầu, nếu chỉ họ mới có thể thu thập đủ thông tin về tất cả khách truy cập có uy tín cao từ trang web này. –

Trả lời

22

Khai thác dữ liệu là quá trình khám phá các mẫu thú vị với lượng lớn dữ liệu. Đó là không phải là dữ liệu truy vấn, mà chỉ là những gì người dùng Treb mô tả (xin lỗi Treb).

Để hiểu DM từ góc nhìn của nhà phát triển, bạn nên đọc cuốn sách Lập trình tập thể thông minh của Toby Segaran.

+1

Không thể nói rằng tôi đồng ý với bạn - Bạn sẽ khám phá ra bất kỳ mẫu nào trong dữ liệu của bạn mà không cần truy vấn trước? Truy vấn là bước đầu tiên, do đó đó là điều đầu tiên mà một nhà phát triển phải suy nghĩ.Tôi thừa nhận rằng tôi hoàn toàn quên đề cập đến bất kỳ phân tích dữ liệu nào - số liệu thống kê chắc chắn là phải cho bất kỳ ứng dụng khai thác dữ liệu nào, cũng như hiển thị trực quan các tập dữ liệu lớn. Nhưng ** thực hiện ** một phân tích được thực hiện bởi một thợ mỏ dữ liệu, không phải là nhà phát triển. OP đã hỏi về khai thác dữ liệu từ POV của một dev, vì vậy đó là những gì tôi đã cố gắng trả lời. – Treb

+4

"Bạn sẽ khám phá ra bất kỳ mẫu nào trong dữ liệu của mình mà không cần truy vấn trước?" bạn hỏi. Bạn khám phá các mẫu trong dữ liệu của bạn bằng cách thực hiện có lập trình, không phải bằng câu cá với các truy vấn. Đây là toàn bộ vấn đề - giúp máy phát hiện các mẫu trong dữ liệu. – ybakos

+0

Và để phát hiện mẫu theo lập trình, trước tiên bạn cần xem dữ liệu. Vì vậy, cuối cùng nó đi xuống để truy vấn, không có vấn đề nếu ai đang làm việc truy vấn. – Treb

0

Khai thác dữ liệu như tôi nói là tìm các mẫu hoặc xu hướng từ dữ liệu đã cho. Quan điểm của nhà phát triển có thể là trong các ứng dụng như Anti Money Laundring ... Khi được đưa ra một mẫu, bạn sẽ tìm kiếm dữ liệu cho mẫu đó. Một sử dụng khác là trong phần mềm chiếu ... nơi bạn dự án một kết quả hoặc kết quả trong tương lai chống lại một heuristic bằng cách nghiên cứu công nhận xu hướng hiện tại từ dữ liệu.

1

Khai thác dữ liệu là tìm kiếm số lượng lớn dữ liệu cho các mẫu bị ẩn. Ví dụ về Web 2.0: News corp sử dụng trang web myspace.com như một mỏ dữ liệu lớn để xác định phim và sản phẩm nào cần quảng cáo. Họ viết phần mềm để xác định xu hướng trong dữ liệu mà người dùng đăng lên trang web. Tin tức corp thực hiện điều này để thu thập thông tin hữu ích cho các chiến dịch quảng cáo và dự đoán thị trường. Nó khác với các tên miền khác của R & D trong đó từ quan điểm của người tạo dữ liệu thụ động của nó. Thay vì ra ngoài đường và hỏi người xem họ có thể xem phim nào vào mùa hè này và các câu hỏi như vậy, các công cụ khai thác dữ liệu phân loại những thứ này bằng cách phân tích dữ liệu do người dùng tự nguyện cung cấp.

Wikipedia thực sự không có một bài viết khá tốt về nó: - http://en.wikipedia.org/wiki/Data_mining

3

Theo kinh nghiệm của tôi (tôi là một cựu thợ mỏ dữ liệu :-)), đó là một hỗn hợp của việc sử dụng các công cụ và các công cụ văn bản. Rất nhiều thời gian, các công cụ bạn cần để phân tích tập dữ liệu cụ thể không tồn tại, vì vậy bạn phải tự viết chúng trước. Nó có thể rất thú vị nhưng bạn thường cần một cách tiếp cận khá khác với kiểu lập trình mà tôi làm bây giờ (nhúng không dây), chẳng hạn.

0

Tôi nghĩ rằng đó là nhiều hơn về việc sử dụng các công cụ giá thay vì phát triển của riêng bạn. Một ví dụ học thuật về loại công cụ đó có thể là WEKA. Tất nhiên, bạn vẫn phải biết thuật toán nào sử dụng, làm thế nào để tiền xử lý dữ liệu (rất quan trọng trong phần này), v.v.

DI không có nhiều ý tưởng, nhưng nó phải giống như hầu hết mọi thứ: toán học, thống kê, nhiều môn toán ...

+0

Tôi không đồng ý. Nó là rất nhiều về việc thực hiện và điều chỉnh các thuật toán cho trường hợp sử dụng cụ thể của bạn, như các giải pháp kệ không bao gồm tất cả mọi thứ và chỉ tốt cho prototyping. –

-3

Ở cấp độ phát triển, khai phá dữ liệu chỉ là một ứng dụng cơ sở dữ liệu khác, nhưng với một lượng lớn dữ liệu.

Bản thân khai phá được thực hiện bằng cách chạy các truy vấn cụ thể trên cơ sở dữ liệu. Đó là trong việc tạo ra các truy vấn mà công việc quan trọng được thực hiện. Tất nhiên, chúng phụ thuộc vào mô hình dữ liệu và trên các giả thuyết, loại khách hàng mong muốn tìm ra xu hướng nào. Do đó, việc tinh chỉnh các truy vấn thường không thể được thực hiện trong quá trình phát triển, nhưng chỉ khi hệ thống hoạt động và bạn có dữ liệu trực tiếp. Sau đó, người dùng có thể kiểm tra giả thuyết của mình và điều chỉnh các truy vấn để cho anh ta thấy xu hướng mà anh ấy đang tìm kiếm.

Vì vậy, từ một điểm dev của xem, dữ liệu maining khoảng

  1. Quản lý bộ lớn dữ liệu trong ứng dụng của bạn (một truy vấn có thể trở lại 100.000 dòng dữ liệu)

  2. Cung cấp cho người sử dụng (những người có thể không biết gì về SQL hoặc các cơ sở dữ liệu quan hệ nói chung) với một cách hiệu quả để sửa đổi các truy vấn của mình và xem kết quả.

+0

+1 Đó là những gì tôi thực sự đang làm và không thể nói đây là khai thác dữ liệu. Lời giải thích hay! Cảm ơn! –

+1

Phân cụm, phân loại, phát hiện bất thường, đo lường tương tự, v.v. không được thực hiện chỉ bằng cách "truy vấn" dữ liệu và "thích nghi" các truy vấn đó. Tôi không đồng ý. – colithium

+0

@colithium: Theo đó các phương tiện khác * là * chúng được thực hiện, sau đó? Như đã nói trong câu trả lời của tôi đối với câu trả lời của ybakos, câu trả lời của tôi thiếu bất kỳ tham chiếu nào đến các phương pháp phân tích dữ liệu, đúng. Nhưng tôi không thấy làm thế nào bước đầu tiên trong khai thác dữ liệu có thể là bất cứ điều gì khác nhưng truy cập dữ liệu, thường được thực hiện thông qua các truy vấn. Và đây là nơi tôi thấy những khó khăn kỹ thuật tiềm năng mà nhà phát triển ứng dụng DM nên lưu ý. – Treb

2

Bạn thực sự phải thay đổi câu trả lời được chấp nhận về câu hỏi này để nó không đánh lừa những người gặp phải nó.

Nói rằng truy vấn cơ sở dữ liệu là khai thác dữ liệu IS vì "[h] ow bạn có khám phá bất kỳ mẫu nào trong dữ liệu của bạn mà không truy vấn trước không?" giống như việc mở cửa xe của bạn đang lái xe bởi vì "làm sao bạn có thể lái xe ở đâu đó mà không mở cửa xe trước."

Bạn có thể đọc dữ liệu của mình ra khỏi tệp văn bản nếu muốn. Nhiệm vụ khai thác dữ liệu đầu tiên của tôi đã sử dụng tập hợp dữ liệu từ UCI repository và đó là hầu hết tất cả các tệp văn bản.

Nếu bạn muốn tìm hiểu về khai phá dữ liệu, hãy bắt đầu bằng cách tìm kiếm phân cụm và phân loại. Tìm hiểu về cây quyết định và phân loại dựa trên quy tắc. Sau đó nhìn vào k-gần-lân cận và k-phương tiện. Sau đó, nếu bạn thực sự muốn xem những gì khai thác dữ liệu là tất cả về xem xét Chameleon, DBScan, và hỗ trợ Vector máy. Không nhất thiết phải tìm hiểu các minutiae trong ba (chúng khá phức tạp và toán nặng) nhưng hiểu ý tưởng trừu tượng về những gì xảy ra sẽ cho bạn biết tất cả những gì bạn cần biết để sử dụng nhiều công cụ và thư viện có sẵn cho mỗi chiến lược.

Đây chỉ là các thuật toán hiện ra trong đầu của tôi. Có rất nhiều người khác mà tôi không nhớ hoặc thậm chí không biết.

Các vấn đề liên quan