Mới nhất

Latest Posts

75 cấu trúc câu tiếng Anh thông dụng

- Friday, October 18, 2013 1 Comment

1)•S + V+ too + adj/adv + (for someone) + to do something(quá....để cho ai làm gì...)
*1This structure is too easy for you to remember.
*2: H ran too fast for me to follow.
2)•S + V + so + adj/ adv + that +S + V (quá... đến nỗi mà...)
*1: This box is so heavy that I cannot take it.
*2: He speaks so soft that we can’t hear anything.
3)•It + V + such + (a/an) + N(s) + that + S +V(quá... đến nỗi mà...)
*1: It is such a heavy box that I cannot take it.
*2: It is such interesting books that I cannot ignore them at all.
4)•S + V + adj/ adv + enough + (for someone) + to do something. (Đủ... cho ai đó làm gì...)
*1: She is old enough to get married.
*2: They are intelligent enough for me to teach them English.
5)•Have/ get + something + done (VpII)(nhờ ai hoặc thuê ai làm gì...)
*1: I had my hair cut yesterday.
*2: I’d like to have my shoes repaired.
6)•It + be + time + S + V (-ed, cột 2) / It’s +time +for someone +to do something(đã đến lúc ai đóphải làm gì...)
*1: It is time you had a shower.
*2: It’s time for me to ask all of you for this question.
7)•It + takes/took+ someone + amount of time + to do something(làm gì... mất bao nhiêu thờigian...)
*1: It takes me 5 minutes to get to school.
*2: It took him 10 minutes to do this exercise yesterday.
8)•To prevent/stop + someone/something + From + V-ing(ngăn cản ai/cái gì... không làm gì..)
*1: I can’t prevent him from smoking
*2: I can’t stop her from tearing 
9)•S + find+ it+ adj to do something(thấy ... để làm gì...)
*1: I find it very difficult to learn about English.
*2: They found it easy to overcome that problem.

10)•To prefer + Noun/ V-ing + to + N/ V-ing.(Thích cái gì/làm gì hơn cái gì/ làm gì)
*1: I prefer dog to cat.
*2: I prefer reading books to watching TV.

11)•Would rather + V¬ (infinitive) + than + V (infinitive)(thích làm gì hơn làm gì)
*1: She would rather play games than read books.
*2: I’d rather learn English than learn Biology.

12)•To be/get Used to + V-ing(quen làm gì)
*I am used to eating with chopsticks.

13)•Used to + V (infinitive)(Thường làm gì trong qk và bây giờ không làm nữa)
*1: I used to go fishing with my friend when I was young.
*2: She used to smoke 10 cigarettes a day.

14)•to be amazed at = to be surprised at + N/V-ing( ngạc nhiên về....)
15)•to be angry at + N/V-ing(tức giận về)
16)•to be good at/ bad at + N/ V-ing(giỏi về.../ kém về...)
17)•by chance = by accident (adv)(tình cờ)
18)•to be/get tired of + N/V-ing(mệt mỏi về...)
19)•can’t stand/ help/ bear/ resist + V-ing(không nhịn được làm gì...)
20)•to be keen on/ to be fond of + N/V-ing(thích làm gì đó...)
21)•to be interested in + N/V-ing(quan tâm đến...)
22)•to waste + time/ money + V-ing(tốn tiền hoặc tg làm gì)
23)•To spend + amount of time/ money + V-ing(dành bao nhiêu thời gian làm gì…)
24)•To spend + amount of time/ money + on + something(dành thời gian vào việc gì...)
*1: I spend 2 hours reading books a day.
*2: She spent all of her money on clothes.

25)•to give up + V-ing/ N(từ bỏ làm gì/ cái gì...)
26)•would like/ want/wish + to do something(thích làm gì...)
27)•have + (something) to + Verb(có cái gì đó để làm)
28)•It + be + something/ someone + that/ who(chính...mà...)
29)•Had better + V(infinitive)(nên làm gì....)
30)•hate/ like/ dislike/ enjoy/ avoid/ finish/ mind/ postpone/ practise/ consider/ 
delay/ deny/ suggest/ risk/ keep/ imagine/ fancy + V-ing, 
*I always practise speaking English everyday.

31)•It’s + adj + to + V-infinitive(quá gì ..để làm gì)

32)•Take place = happen = occur(xảy ra)

33)•to be excited about(thích thú)

34)•to be bored with/ fed up with(chán cái gì/làm gì)

35)•There is + N-số ít, there are + N-số nhiều(có cái gì...)

36)•feel like + V-ing(cảm thấy thích làm gì...)

37)•expect someone to do something(mong đợi ai làm gì...)

38)•advise someone to do something(khuyên ai làm gì...)

39)•go + V-ing(chỉ các trỏ tiêu khiển..)(go camping...)

40)•leave someone alone(để ai yên...)

41)•By + V-ing(bằng cách làm...)

42)•want/ plan/ agree/ wish/ attempt/ decide/ demand/ expect/ mean/ offer/ prepare/ happen/ hesitate/ hope/ afford/ intend/ manage/ try/ learn/ pretend/ promise/ seem/ refuse + TO + V-infinitive
* I decide to study English.

43)•for a long time = for years = for ages(đã nhiều năm rồi)(dùng trong thì hiện tại hoàn thành)

44)•when + S + V(QkĐ), S + was/were + V-ing.

45)•When + S + V(qkd), S + had + Pii

46)•Before + S + V(qkd), S + had + Pii

47)•After + S + had +Pii, S + V(qkd)

48)•to be crowded with(rất đông cài gì đó...)

49)•to be full of(đầy cài gì đó...)

50)•To be/ seem/ sound/ became/ feel/ appear/ look/ go/ turn/ grow + adj(đây là các động từ tri giác có nghĩa là: có vẻ như/ là/ dường như/ trở nên... sau chúng nếu có adj và adv thì chúng ta phải chọn adj)

51)•except for/ apart from(ngoài, trừ...)

52)•as soon as(ngay sau khi)

53)•to be afraid of(sợ cái gì..)

54)•could hardly(hầu như không)( chú ý: hard khác hardly)

55)•Have difficulty + V-ing(gặp khó khăn làm gì...)

56)•Chú ý phân biệt 2 loại tính từ V-ed và V-ing: dùng -ed để miêu tả về người, -ing cho vật. và khi muốn nói về bản chất của cả người và vật ta dùng –ing
*1: That film is boring.
*2: He is bored.
*3: He is an interesting man.
*4: That book is an interesting one. (khi đó không nên nhầm với –ed, chẳng hạn ta nói : a loved man có nghĩa “người đàn ông được mến mộ”, tức là có nghĩa “Bị” và “Được” ở đó)

57)•in which = where; on/at which = when

58)•Put + up + with + V-ing(chịu đựng...)

59)•Make use of + N/ V-ing(tận dụng cái gì đó...)

60)•Get + adj/ Pii

61)•Make progress(tiến bộ...)

62)•take over + N(đảm nhiệm cái gì...)

63)•Bring about(mang lại)

64)•Chú ý: so + adj còn such + N

65)•At the end of và In the end(cuối cái gì đó và kết cục)

66)•To find out(tìm ra),To succeed in(thành công trong...)

67)•Go for a walk(đi dạo)/ go on holiday/picnic(đi nghỉ)

68)•One of + so sánh hơn nhất + N(một trong những...)

69)•It is the first/ second.../best + Time + thì hiện tại hoàn thành

70)•Live in(sống ở)/ Live at + địa chỉ cụ thể/ Live on (sống nhờ vào...)

71)•To be fined for(bị phạt về)

72)•from behind(từ phía sau...)

73)•so that + mệnh đề(để....)

74)•In case + mệnh đề(trong trường hợp...)

75)•can/ could/ may might/ will/ would/ shall/ should/ must/ ought to... (modal Verbs) + V-infinitive.
Các cấu trúc câu cơ bản trong tiếng Anh
1. It is + tính từ + ( for smb ) + to do smt
VD: It is difficult for old people to learn English.
( Người có tuổi học tiếng Anh thì khó )
2. To be interested in + N / V_ing ( Thích cái gì / làm cái gì )
VD: We are interested in reading books on history.
( Chúng tôi thích đọc sách về lịch sử )
3. To be bored with ( Chán làm cái gì )
VD: We are bored with doing the same things everyday.
( Chúng tôi chán ngày nào cũng làm những công việc lặp đi lặp lại )
4. It’s the first time smb have ( has ) + PII smt ( Đây là lần đầu tiên ai làm cái gì )
VD: It’s the first time we have visited this place.
( Đây là lần đầu tiên chúng tôi tới thăm nơi này )
5. enough + danh từ ( đủ cái gì ) + ( to do smt )
VD: I don’t have enough time to study.
( Tôi không có đủ thời gian để học )
6. Tính từ + enough (đủ làm sao ) + ( to do smt )
VD: I’m not rich enough to buy a car.
( Tôi không đủ giàu để mua ôtô )
7. too + tính từ + to do smt ( Quá làm sao để làm cái gì )
VD: I’m to young to get married.
( Tôi còn quá trẻ để kết hôn )
8. To want smb to do smt = To want to have smt + PII
( Muốn ai làm gì ) ( Muốn có cái gì được làm )
VD: She wants someone to make her a dress.
( Cô ấy muốn ai đó may cho cô ấy một chiếc váy )
= She wants to have a dress made.
( Cô ấy muốn có một chiếc váy được may )
9. It’s time smb did smt ( Đã đến lúc ai phải làm gì )
VD: It’s time we went home.
( Đã đến lúc tôi phải về nhà )
10. It’s not necessary for smb to do smt = Smb don’t need to do smt
( Ai không cần thiết phải làm gì ) doesn’t have to do smt
VD: It is not necessary for you to do this exercise.
( Bạn không cần phải làm bài tập này )
11. To look forward to V_ing ( Mong chờ, mong đợi làm gì )
VD: We are looking forward to going on holiday.
( Chúng tôi đang mong được đi nghỉ )
12. To provide smb from V_ing ( Cung cấp cho ai cái gì )
VD: Can you provide us with some books in history?
( Bạn có thể cung cấp cho chúng tôi một số sách về lịch sử không? )
13. To prevent smb from V_ing ( Cản trở ai làm gì )
To stop
VD: The rain stopped us from going for a walk.
( Cơn mưa đã ngăn cản chúng tôi đi dạo )
14. To fail to do smt ( Không làm được cái gì / Thất bại trong việc làm cái gì )
VD: We failed to do this exercise.
( Chúng tôi không thể làm bài tập này )
15. To be succeed in V_ing ( Thành công trong việc làm cái gì )
VD: We were succeed in passing the exam.
( Chúng tôi đã thi đỗ )
16. To borrow smt from smb ( Mượn cái gì của ai )
VD: She borrowed this book from the liblary.
( Cô ấy đã mượn cuốn sách này ở thư viện )
17. To lend smb smt ( Cho ai mượn cái gì )
VD: Can you lend me some money?
( Bạn có thể cho tôi vay ít tiền không? )
18. To make smb do smt ( Bắt ai làm gì )
VD: The teacher made us do a lot of homework.
( Giáo viên bắt chúng tôi làm rất nhiều bài tập ở nhà )
19. CN + be + so + tính từ + that + S + động từ. 
( Đến mức mà )
CN + động từ + so + trạng từ + that + CN + động từ.
VD: 1. The exercise is so difficult that noone can do it.
( Bài tập khó đến mức không ai làm được )
2. He spoke so quickly that I couldn’t understand him.
( Anh ta nói nhanh đến mức mà tôi không thể hiểu được anh ta )
20. CN + be + such + ( tính từ ) + danh từ + that + CN + động từ.
VD: It is such a difficult exercise that noone can do it.
( Đó là một bài tập quá khó đến nỗi không ai có thể làm được )
21. It is ( very ) kind of smb to do smt ( Ai thật tốt bụng / tử tế khi làm gì)
VD: It is very kind of you to help me.
( Bạn thật tốt vì đã giúp tôi )
22. To find it + tính từ + to do smt
VD: We find it difficult to learn English.
( Chúng tôi thấy học tiếng Anh khó )
23. To make sure of smt ( Bảo đảm điều gì )
that + CN + động từ
VD: 1. I have to make sure of that information.
( Tôi phải bảo đảm chắc chắn về thông tin đó )
2. You have to make sure that you’ll pass the exam.
( Bạn phải bảo đảm là bạn sẽ thi đỗ )
24. It takes ( smb ) + thời gian + to do smt ( Mất ( của ai ) bao nhiêu thời gian để làm gì)
VD: It took me an hour to do this exercise.
( Tôi mất một tiếng để làm bài này )

25. To spend + time / money + on smt ( Dành thời gian / tiền bạc vào cái gì
doing smt làm gì )
VD: We spend a lot of time on TV.
watching TV.
( Chúng tôi dành nhiều thời gian xem TV )
26. To have no idea of smt = don’t know about smt ( Không biết về cái gì )
VD: I have no idea of this word = I don’t know this word.
( Tôi không biết từ này )
27. To advise smb to do smt ( Khuyên ai làm gì 
not to do smt không làm gì )
VD: Our teacher advises us to study hard.
( Cô giáo khuyên chúng tôi học chăm chỉ )
28. To plan to do smt ( Dự định / có kế hoạch làm gì )
intend
VD: We planed to go for a picnic.
intended
( Chúng tôi dự định đi dã ngoại )
29. To invite smb to do smt ( Mời ai làm gì )
VD: They invited me to go to the cinema.
( Họ mời tôi đi xem phim )
30. To offer smb smt ( Mời / đề nghị ai cái gì )
VD: He offered me a job in his company.
( Anh ta mời tôi làm việc cho công ty anh ta )
31. To rely on smb ( tin cậy, dựa dẫm vào ai )
VD: You can rely on him.
( Bạn có thể tin anh ấy )
32. To keep promise ( Gĩư lời hứa )
VD: He always keeps promises.
33. To be able to do smt = To be capable of + V_ing ( Có khả năng làm gì )
VD: I’m able to speak English = I am capable of speaking English.
( Tôi có thể nói tiếng Anh )
34. To be good at ( + V_ing ) smt ( Giỏi ( làm ) cái gì )
VD: I’m good at ( playing ) tennis.
( Tôi chơi quần vợt giỏi )
35. To prefer smt to smt ( Thích cái gì hơn cái gì )
doing smt to doing smt làm gì hơn làm gì
VD: We prefer spending money than earning money.
( Chúng tôi thích tiêu tiền hơn kiếm tiền )
36. To apologize for doing smt ( Xin lỗi ai vì đã làm gì )
VD: I want to apologize for being rude to you.
( Tôi muốn xin lỗi vì đã bất lịch sự với bạn )
37. Had ( ‘d ) better do smt ( Nên làm gì )
not do smt ( Không nên làm gì )
VD: 1. You’d better learn hard.
( Bạn nên học chăm chỉ )
2. You’d better not go out.
( Bạn không nên đi ra ngoài )
38. Would ( ‘d ) rather do smt Thà làm gì 
not do smt đừng làm gì
VD: I’d rather stay at home.
I’d rather not say at home.
39. Would ( ‘d ) rather smb did smt ( Muốn ai làm gì )
VD: I’d rather you ( he / she ) stayed at home today.
( Tôi muốn bạn / anh ấy / cô ấy ở nhà tối nay )
40. To suggest smb ( should ) do smt ( Gợi ý ai làm gì )
VD: I suggested she ( should ) buy this house.
41. To suggest doing smt ( Gợi ý làm gì )
VD: I suggested going for a walk.
42. Try to do ( Cố làm gì )
VD: We tried to learn hard.
( Chúng tôi đã cố học chăm chỉ )
43. Try doing smt ( Thử làm gì )
VD: We tried cooking this food.
( Chúng tôi đã thử nấu món ăn này )
44. To need to do smt ( Cần làm gì )
VD: You need to work harder.
( Bạn cần làm việc tích cực hơn )
45. To need doing ( Cần được làm )
VD: This car needs repairing.
( Chiếc ôtô này cần được sửa )
46. To remember doing ( Nhớ đã làm gì )
VD: I remember seeing this film.
( Tôi nhớ là đã xem bộ phim này )
47. To remember to do ( Nhớ làm gì ) ( chưa làm cái này )
VD: Remember to do your homework.
( Hãy nhớ làm bài tập về nhà )
48. To have smt + PII ( Có cái gì được làm )
VD: I’m going to have my house repainted.
( Tôi sẽ sơn lại nhà người khác sơn, không phải mình sơn lấy )
= To have smb do smt ( Thuê ai làm gì )
VD: I’m going to have the garage repair my car.
= I’m going to have my car repaired.
49. To be busy doing smt ( Bận rộn làm gì )
VD: We are busy preparing for our exam.
( Chúng tôi đang bận rộn chuẩn bị cho kỳ thi )
50. To mind doing smt ( Phiền làm gì )
VD: Do / Would you mind closing the door for me?
( Bạn có thể đóng cửa giúp tôi không? )
51. To be used to doing smt ( Quen với việc làm gì )
VD: We are used to getting up early.
( Chúng tôi đã quen dậy sớm )
52. To stop to do smt ( Dừng lại để làm gì )
VD: We stopped to buy some petrol.
( Chúng tôi đã dừng lại để mua xăng )
53. To stop doing smt ( Thôi không làm gì nữa )
VD: We stopped going out late.
( Chúng tôi thôi không đi chơi khuya nữa )
54. Let smb do smt ( Để ai làm gì )
VD: Let him come in.
( Để anh ta vào )

Các kỹ thuật khai phá dữ liệu (Data mining techniques)

- Saturday, October 12, 2013 No Comments

Các kỹ thuật khai phá dữ liệu


Tóm tắt:  Hiện nay có nhiều kỹ thuật khai phá dữ liệu, mô hình truy vấn, mô hình xử lý và thu thập dữ liệu khác nhau. Vậy bạn sẽ sử dụng một kỹ thuật nào để khai phá dữ liệu của mình và bạn có thể sử dụng kỹ thuật nào để kết hợp với phần mềm và cơ sở hạ tầng hiện có của mình? Hãy xem xét các kỹ thuật và các giải pháp khai phá dữ liệu và phân tích khác nhau và tìm hiểu cách xây dựng chúng nhờ sử dụng phần mềm và các bản cài đặt hiện có. Hãy khám phá các công cụ khai phá dữ liệu khác nhau có sẵn và tìm hiểu cách xác định xem kích thước và độ phức tạp của những thông tin của bạn có thể dẫn đến những khó khăn rắc rối về xử lý và lưu trữ không và cần phải làm gì.


Demo: Design of a data mining process

[Transcript PDF, 10KB]
Về cơ bản, khai phá dữ liệu là về xử lý dữ liệu và nhận biết các mẫu và các xu hướng trong thông tin đó để bạn có thể quyết định hoặc đánh giá. Các nguyên tắc khai phá dữ liệu đã được dùng nhiều năm rồi, nhưng với sự ra đời của big data (dữ liệu lớn), nó lại càng phổ biến hơn.
Big data gây ra một sự bùng nổ về sử dụng nhiều kỹ thuật khai phá dữ liệu hơn, một phần vì kích thước thông tin lớn hơn rất nhiều và vì thông tin có xu hướng đa dạng và mở rộng hơn về chính bản chất và nội dung của nó. Với các tập hợp dữ liệu lớn, để nhận được số liệu thống kê tương đối đơn giản và dễ dàng trong hệ thống vẫn chưa đủ. Với 30 hoặc 40 triệu bản ghi thông tin khách hàng chi tiết, việc biết rằng 2 triệu khách hàng trong số đó sống tại một địa điểm vẫn chưa đủ. Bạn muốn biết liệu 2 triệu khách hàng đó có thuộc về một nhóm tuổi cụ thể không và bạn cũng muốn biết thu nhập trung bình của họ để bạn có thể tập trung vào các nhu cầu của khách hàng của mình tốt hơn.
Những nhu cầu hướng kinh doanh này đã thay đổi cách lấy ra và thống kê dữ liệu đơn giản sang việc khai phá dữ liệu phức tạp hơn. Vấn đề kinh doanh hướng tới việc xem xét dữ liệu để giúp xây dựng một mô hình để mô tả các thông tin mà cuối cuộc sẽ dẫn đến việc tạo ra báo cáo kết quả. Hình 1 phác thảo quá trình này.

Hình 1. Phác thảo quá trình
Phác thảo quá trình 

Quá trình phân tích dữ liệu, khám phá dữ liệu và xây dựng mô hình dữ liệu thường lặp lại khi bạn tập trung vào và nhận ra các thông tin khác nhau để bạn có thể trích ra. Bạn cũng phải hiểu cách thiết lập quan hệ, ánh xạ, kết hợp và phân cụm thông tin đó với dữ liệu khác để tạo ra kết quả. Quá trình nhận ra dữ liệu nguồn và các định dạng nguồn, rồi ánh xạ thông tin đó tới kết quả đã cho của chúng tôi có thể thay đổi sau khi bạn phát hiện ra các yếu tố và các khía cạnh khác nhau của dữ liệu.
Khai phá dữ liệu không phải là tất cả về các công cụ hay phần mềm cơ sở dữ liệu mà bạn đang sử dụng. Bạn có thể thực hiện khai phá dữ liệu bằng các hệ thống cơ sở dữ liệu bình thường và các công cụ đơn giản, bao gồm việc tạo và viết phần mềm riêng của bạn hoặc sử dụng các gói phần mềm bán ngoài cửa hàng. Khai phá dữ liệu phức tạp được hưởng lợi từ kinh nghiệm trong quá khứ và các thuật toán đã định nghĩa với phần mềm và các gói phần mềm hiện có, với các công cụ nhất định để thu được một mối quan hệ hoặc uy tín lớn hơn bằng các kỹ thuật khác nhau.
Ví dụ, IBM SPSS®, có nguồn gốc từ việc phân tích thống kê và khảo sát, có thể xây dựng các mô hình dự báo hiệu quả bằng cách xem xét các xu hướng trong quá khứ và xây dựng các dự báo chính xác. IBM InfoSphere® Warehouse cung cấp thông tin tìm nguồn cấp dữ liệu, thông tin xử lý trước, thông tin khai phá và thông tin phân tích trong một gói duy nhất, để cho phép bạn lấy thông tin thẳng từ cơ sở dữ liệu nguồn đến đầu ra báo cáo cuối cùng.
Gần đây các tập hợp dữ liệu rất lớn và việc xử lý dữ liệu theo cụm và quy mô lớn có thể cho phép khai phá dữ liệu để sắp xếp và lập báo cáo về các nhóm và các mối tương quan của dữ liệu phức tạp hơn. Bây giờ đã có sẵn rất nhiều công cụ và hệ thống hoàn toàn mới, gồm các hệ thống lưu trữ và xử lý dữ liệu kết hợp.
Bạn có thể khai phá dữ liệu với nhiều tập hợp dữ liệu khác nhau, gồm các cơ sở dữ liệu SQL truyền thống, dữ liệu văn bản thô, các kho khóa/giá trị và các cơ sở dữ liệu tài liệu. Các cơ sở dữ liệu có phân cụm, như Hadoop, Cassandra, CouchDB và Couchbase Server, lưu trữ và cung cấp quyền truy cập vào dữ liệu theo cách không phù hợp với cấu trúc bảng truyền thống.
Đặc biệt, định dạng lưu trữ cơ sở dữ liệu tài liệu linh hoạt hơn lại gây ra một trọng tâm và sự phức tạp khác về xử lý thông tin. Các cơ sở dữ liệu SQL áp đặt các cấu trúc chặt chẽ và cứng nhắc vào lược đồ, làm cho việc truy vấn chúng và phân tích dữ liệu trở nên đơn giản theo quan điểm hiểu rõ định dạng và cấu trúc thông tin.
Các cơ sở dữ liệu tài liệu, có một tiêu chuẩn chẳng hạn như cấu trúc thực thi JSON hoặc các tệp có cấu trúc đọc được bằng máy tính nào đó, cũng dễ xử lý hơn, mặc dù chúng có thể làm tăng thêm sự phức tạp do cấu trúc khác nhau và hay thay đổi. Ví dụ, với việc xử lý dữ liệu hoàn toàn thô của Hadoop, có thể phức tạp để nhận biết và trích ra nội dung trước khi bạn bắt đầu xử lý và tương quan với nó.
Một số kỹ thuật cốt lõi, được sử dụng trong khai phá dữ liệu, mô tả kiểu hoạt động khai phá và hoạt động phục hồi dữ liệu. Thật không may là các công ty và các giải pháp khác nhau không phải lúc nào cũng dùng chung các thuật ngữ. Chính các thuật ngữ này có thể làm tăng thêm sự mơ hồ và sự phức tạp.
Hãy xem xét một số kỹ thuật chính và ví dụ về cách sử dụng các công cụ khác nhau để dựng lên việc khai phá dữ liệu.
Sự kết hợp (hay mối quan hệ) có lẽ là kỹ thuật khai phá dữ liệu được biết đến nhiều hơn, hầu như quen thuộc và đơn giản. Ở đây, bạn thực hiện một sự tương quan đơn giản giữa hai hoặc nhiều mục, thường cùng kiểu để nhận biết các mẫu. Ví dụ, khi theo dõi thói quen mua hàng của người dân, bạn có thể nhận biết rằng một khách hàng luôn mua kem khi họ mua dâu tây, nên bạn có thể đề xuất rằng lần tới khi họ mua dâu tây, họ cũng có thể muốn mua kem.
Việc xây dựng các công cụ khai phá dữ liệu dựa trên sự kết hợp hay mối quan hệ có thể thực hiện đơn giản bằng các công cụ khác nhau. Ví dụ, trong InfoSphere Warehouse một trình hướng dẫn đưa ra các cấu hình của một luồng thông tin được sử dụng kết hợp bằng cách xem xét thông tin nguồn đầu vào của cơ sở dữ liệu, thông tin về cơ sở ra quyết định và thông tin đầu ra của bạn. Hình 2 cho thấy một ví dụ của cơ sở dữ liệu ví dụ mẫu.

Hình 2. Luồng thông tin được sử dụng theo cách kết hợp
Luồng thông tin được sử dụng theo cách kết hợp 

Bạn có thể sử dụng sự phân loại để xây dựng một ý tưởng về kiểu khách hàng, kiểu mặt hàng hoặc kiểu đối tượng bằng cách mô tả nhiều thuộc tính để nhận biết một lớp cụ thể. Ví dụ, bạn có thể dễ dàng phân loại các xe ô tô thành các kiểu xe khác nhau (xe mui kín, 4x4, xe có thể bỏ mui) bằng cách xác định các thuộc tính khác nhau (số chỗ ngồi, hình dạng xe, các bánh xe điều khiển). Với một chiếc xe mới, bạn có thể đặt nó vào một lớp cụ thể bằng cách so sánh các thuộc tính với định nghĩa đã biết của chúng tôi. Bạn có thể áp dụng các nguyên tắc tương tự ấy cho các khách hàng, ví dụ bằng cách phân loại khách hàng theo độ tuổi và nhóm xã hội.
Hơn nữa, bạn có thể sử dụng việc phân loại như một nguồn cấp, hoặc như là kết quả của các kỹ thuật khác. Ví dụ, bạn có thể sử dụng các cây quyết định để xác định một cách phân loại. Việc phân cụm sẽ cho phép bạn sử dụng các thuộc tính chung theo các cách phân loại khác nhau để nhận biết các cụm.
Bằng cách xem xét một hay nhiều thuộc tính hoặc các lớp, bạn có thể nhóm các phần dữ liệu riêng lẻ với nhau để tạo thành một quan điểm cấu trúc. Ở mức đơn giản, việc phân cụm đang sử dụng một hoặc nhiều thuộc tính làm cơ sở cho bạn để nhận ra một nhóm các kết quả tương quan. Việc phân cụm giúp để nhận biết các thông tin khác nhau vì nó tương quan với các ví dụ khác, nên bạn có thể thấy ở đâu có những điểm tương đồng và các phạm vi phù hợp.
Việc phân cụm có thể làm theo hai cách. Bạn có thể giả sử rằng có một cụm ở một điểm nhất định và sau đó sử dụng các tiêu chí nhận dạng của chúng tôi để xem liệu bạn có đúng không. Đồ thị trong Hình 3 là một ví dụ hay. Trong ví dụ này, một ví dụ mẫu về dữ liệu kinh doanh so sánh tuổi của khách hàng với quy mô bán hàng. Thật hợp lý khi thấy rằng những người ở độ tuổi hai mươi (trước khi kết hôn và còn nhỏ), ở độ tuổi năm mươi và sáu mươi (khi không còn con cái ở nhà), có nhiều tiền tiêu hơn.

Hình 3. Việc phân cụm
Việc phân cụm 

Trong ví dụ này, chúng ta có thể nhận ra hai cụm, một cụm xung quanh nhóm 2.000 Đô la Mỹ/ 20-30 tuổi và một cụm ở nhóm 7.000-8.000 Đô la Mỹ/ 50-65 tuổi. Trong trường hợp này, chúng tôi đã giả thuyết hai cụm và đã chứng minh giả thuyết của chúng tôi bằng một đồ thị đơn giản mà chúng tôi có thể tạo ra bằng cách sử dụng bất kỳ phần mềm đồ họa thích hợp nào để có được cái nhìn nhanh chóng. Các quyết định phức tạp hơn cần phải có một gói phần mềm phân tích đầy đủ, đặc biệt là nếu bạn muốn các quyết định tự động dựa vào thông tin lân cận gần nhất.
Việc vẽ đồ thị phân cụm theo cách này là một ví dụ đơn giản về cái gọi là nhận ra sự lân cận gần nhất. Bạn có thể nhận ra các khách hàng riêng lẻ bằng sự gần gũi theo nghĩa đen của họ với nhau trên đồ thị. Có nhiều khả năng là các khách hàng trong cùng một cụm cũng dùng chung các thuộc tính khác và bạn có thể sử dụng sự mong đợi đó để giúp hướng dẫn, phân loại và nếu không thì phân tích những người khác trong tập hợp dữ liệu của bạn.
Bạn cũng có thể áp dụng việc phân cụm theo quan điểm ngược lại; dựa vào một số thuộc tính đầu vào, bạn có thể nhận ra các tạo phẩm khác nhau. Ví dụ, một nghiên cứu gần đây về các số PIN 4-chữ số đã tìm ra các cụm giữa các chữ số trong phạm vi 1-12 và 1-31 cho các cặp đầu tiên và thứ hai. Bằng cách vẽ các cặp này, bạn có thể nhận ra và xác định các cụm liên quan đến ngày tháng (các ngày sinh nhật, các ngày kỷ niệm).
Dự báo là một chủ đề rộng và đi từ dự báo về lỗi của các thành phần hay máy móc đến việc nhận ra sự gian lận và thậm chí là cả dự báo về lợi nhuận của công ty nữa. Được sử dụng kết hợp với các kỹ thuật khai phá dữ liệu khác, dự báo gồm có việc phân tích các xu hướng, phân loại, so khớp mẫu và mối quan hệ. Bằng cách phân tích các sự kiện hoặc các cá thể trong quá khứ, bạn có thể đưa ra một dự báo về một sự kiện.
Khi sử dụng quyền hạn thẻ tín dụng, chẳng hạn, bạn có thể kết hợp phân tích cây quyết định của các giao dịch riêng lẻ trong quá khứ với việc phân loại và các sự so khớp mẫu lịch sử để nhận biết liệu một giao dịch có gian lận hay không. Rất có thể là việc thực hiện một sự so khớp giữa việc mua vé các chuyến bay đến Mỹ và các giao dịch tại Mỹ cho thấy giao dịch này hợp lệ.
Thường được sử dụng trên các dữ liệu dài hạn, các mẫu tuần tự là một phương pháp có ích để nhận biết các xu hướng hay các sự xuất hiện thường xuyên của các sự kiện tương tự. Ví dụ, với dữ liệu khách hàng, bạn có thể nhận ra rằng các khách hàng cùng nhau mua một bộ sưu tập riêng lẻ về các sản phẩm tại nhiều thời điểm khác nhau trong năm. Trong một ứng dụng giỏ hàng, bạn có thể sử dụng thông tin này để tự động đề xuất rằng một số mặt hàng nào đó được thêm vào một giỏ hàng dựa trên tần suất và lịch sử mua hàng trong quá khứ của các khách hàng.
Liên quan đến hầu hết các kỹ thuật khác (chủ yếu là phân loại và dự báo), cây quyết định có thể được sử dụng hoặc như là một phần trong các tiêu chí lựa chọn hoặc để hỗ trợ việc sử dụng và lựa chọn dữ liệu cụ thể bên trong cấu trúc tổng thể. Trong cây quyết định, bạn bắt đầu bằng một câu hỏi đơn giản có hai câu trả lời (hoặc đôi khi có nhiều câu trả lời hơn). Mỗi câu trả lời lại dẫn đến thêm một câu hỏi nữa để giúp phân loại hay nhận biết dữ liệu sao cho có thể phân loại dữ liệu hoặc sao cho có thể thực hiện dự báo trên cơ sở mỗi câu trả lời.
Hình 4 cho thấy một ví dụ trong đó bạn có thể phân loại một điều kiện lỗi gửi đến.

Hình 4. Cây quyết định
cây quyết định 

Các cây quyết định thường được sử dụng cùng với các hệ thống phân loại liên quan đến thông tin có kiểu thuộc tính và với các hệ thống dự báo, nơi các dự báo khác nhau có thể dựa trên kinh nghiệm lịch sử trong quá khứ để giúp hướng dẫn cấu trúc của cây quyết định và kết quả đầu ra.
Trong thực tế, thật hiếm khi bạn sẽ sử dụng một kỹ thuật trong số những kỹ thuật riêng biệt này. Việc phân loại và phân cụm là những kỹ thuật giống nhau. Nhờ sử dụng việc phân cụm để nhận ra các thông tin lân cận gần nhất, bạn có thể tiếp tục tinh chỉnh việc phân loại của mình. Thông thường, chúng tôi sử dụng các cây quyết định để giúp xây dựng và nhận ra các loại mà chúng tôi có thể theo dõi chúng trong một thời gian dài để nhận biết các trình tự và các mẫu.
Trong tất cả các phương pháp cốt lõi, thường có lý do để ghi lại thông tin và tìm hiểu từ thông tin. Trong một số kỹ thuật, việc này hoàn toàn rõ ràng. Ví dụ, với việc tìm hiểu các mẫu tuần tự và dự báo, bạn xem xét lại dữ liệu từ nhiều nguồn và nhiều cá thể thông tin để xây dựng một mẫu.
Trong một số kỹ thuật khác, quá trình này có thể rõ ràng hơn. Các cây quyết định ít khi được xây dựng một lần và không bao giờ được coi nhẹ. Khi nhận biết thông tin mới, các sự kiện và các điểm dữ liệu, có thể cần xây dựng thêm các nhánh hoặc thậm chí toàn bộ các cây mới, để đương đầu với các thông tin bổ sung.
Bạn có thể tự động hoá một số bước của quá trình này. Ví dụ, việc xây dựng một mô hình dự báo để nhận biết sự gian lận thẻ tín dụng là xây dựng các xác suất để bạn có thể sử dụng cho giao dịch hiện tại và sau đó cập nhật mô hình đó với các giao dịch mới (đã được phê duyệt). Rồi thông tin này được ghi lại sao cho có thể đưa ra quyết định một cách nhanh chóng trong lần tới.
Bản thân việc khai phá dữ liệu dựa vào việc xây dựng một mô hình và cấu trúc dữ liệu phù hợp để có thể sử dụng mô hình và cấu trúc đó để xử lý, nhận biết và xây dựng thông tin mà bạn cần. Bất kể dạng và cấu trúc nguồn dữ liệu, hãy cấu trúc và tổ chức thông tin theo một định dạng để cho phép việc khai phá dữ liệu diễn ra theo một mô hình càng hiệu quả càng tốt.
Hãy xem xét tổ hợp các yêu cầu kinh doanh để khai phá dữ liệu, nhận ra các biến hiện có (khách hàng, các giá trị, quốc gia) và yêu cầu để tạo ra các biến mới để bạn có thể sử dụng chúng để phân tích dữ liệu trong bước chuẩn bị.
Bạn có thể tạo nên các biến phân tích của dữ liệu từ nhiều nguồn khác nhau cho một cấu trúc có thể nhận biết được duy nhất (ví dụ, bạn có thể tạo ra một lớp của một cấp cụ thể và tuổi của khách hàng hoặc một kiểu lỗi cụ thể).
Tùy thuộc vào nguồn dữ liệu của bạn, cách bạn xây dựng và chuyển dịch thông tin này là một bước quan trọng, bất kể bạn sử dụng kỹ thuật nào để cuối cùng phân tích dữ liệu. Bước này cũng dẫn đến một quá trình phức tạp trong việc nhận biết, tổng hợp, đơn giản hóa hoặc mở rộng thông tin cho phù hợp với dữ liệu đầu vào của bạn (xem Hình 5).

Hình 5. Chuẩn bị dữ liệu
Chuẩn bị dữ liệu 

Dữ liệu nguồn, vị trí và cơ sở dữ liệu của bạn ảnh hưởng đến cách bạn xử lý và tổng hợp thông tin đó.
Việc xây dựng trên một cơ sở dữ liệu SQL thường là dễ dàng nhất trong tất cả các cách tiếp cận. Bạn hiểu rõ SQL (và cả cấu trúc bảng bên dưới mà chúng ngụ ý), nhưng bạn không thể hoàn toàn bỏ qua cấu trúc và định dạng thông tin. Ví dụ, khi xem xét hành vi của người dùng trong dữ liệu kinh doanh, bạn có thể sử dụng hai định dạng chính trong mô hình dữ liệu SQL (và việc khai phá dữ liệu nói chung): định dạng giao dịch và định dạng nhân khẩu học-hành vi.
Khi bạn sử dụng InfoSphere Warehouse, việc tạo ra một mô hình nhân khẩu học-hành vi cho các mục đích về khai phá dữ liệu khách hàng để hiểu việc mua và các mẫu mua sắm bao gồm việc lấy dữ liệu SQL nguồn của bạn dựa trên các thông tin giao dịch và các tham số đã biết của các khách hàng của bạn và xây dựng lại thông tin đó thành một cấu trúc bảng định sẵn. Sau đó InfoSphere Warehouse có thể sử dụng thông tin này cho việc phân cụm và khai phá dữ liệu phân loại để thu được thông tin bạn cần. Dữ liệu nhân khẩu học của khách hàng và dữ liệu giao dịch doanh thu có thể được kết hợp lại và khôi phục lại vào một định dạng để cho phép phân tích dữ liệu cụ thể, như hiển thị trong Hình 6.

Hình 6. Định dạng cho việc phân tích dữ liệu cụ thể
Định dạng cho việc phân tích dữ liệu cụ thể 

Ví dụ, với dữ liệu kinh doanh, bạn có thể muốn nhận ra các xu hướng kinh doanh các mặt hàng riêng lẻ. Bạn có thể chuyển đổi các dữ liệu doanh thu thô của các mặt hàng riêng lẻ thành thông tin giao dịch để ánh xạ mã định danh (ID) của khách hàng, dữ liệu giao dịch và mã định danh sản phẩm. Nhờ sử dụng thông tin này, thật dễ nhận ra các trình tự và các mối quan hệ với các sản phẩm riêng lẻ của các khách hàng riêng lẻ theo thời gian. Điều đó cho phép InfoSphere Warehouse tính toán thông tin liên tục, chẳng hạn như khi một khách hàng rất có thể lại mua sản phẩm đó.
Bạn có thể xây dựng các điểm phân tích dữ liệu mới từ dữ liệu nguồn. Ví dụ, bạn có thể muốn mở rộng (hoặc tinh chỉnh) thông tin sản phẩm của mình bằng cách sắp đặt hay phân loại các sản phẩm riêng lẻ vào các nhóm lớn hơn và sau đó phân tích dữ liệu dựa trên các nhóm này thay cho việc phân tích một sản phẩm riêng lẻ.
Ví dụ, Bảng 1 cho thấy cách mở rộng các thông tin theo những cách mới.

Bảng 1. Một bảng các sản phẩm mở rộng

mã định danh_sản phẩmtên_sản phẩmnhóm_sản phẩmkiểu_sản phẩm
101dâu tây, lẻdâu tâyquả
102dâu tây, hộpdâu tâyquả
110chuối, lẻchuốiquả
Người ta thiết kế MapReduce để xử lý nhiều cơ sở dữ liệu tài liệu hiện đại và NoSQL, như Hadoop, để đối phó với các tập hợp dữ liệu rất lớn và thông tin không phải lúc nào cũng theo định dạng bảng. Khi bạn làm việc với phần mềm khai phá dữ liệu, khái niệm này có thể vừa có ích và vừa có vấn đề.
Vấn đề chính với dữ liệu dựa trên tài liệu là ở chỗ định dạng không có cấu trúc có thể cần phải xử lý nhiều hơn là bạn mong đợi để có được thông tin bạn cần. Nhiều bản ghi khác nhau có thể chứa dữ liệu giống nhau. Việc thu thập và phối hợp thông tin này để xử lý nó một cách dễ dàng hơn dựa vào việc chuẩn bị và các giai đoạn của MapReduce.
Trong một hệ thống dựa trên MapReduce, vai trò của bước ánh xạ là lấy dữ liệu nguồn và chuẩn hóa thông tin đó thành một dạng chuẩn của đầu ra. Bước này có thể là một quá trình tương đối đơn giản (nhận biết các trường hoặc các điểm dữ liệu chính) hoặc có thể là một quá trình phức tạp hơn (phân tích cú pháp và xử lý thông tin để tạo ra dữ liệu mẫu). Quá trình ánh xạ tạo ra định dạng chuẩn hóa để bạn có thể sử dụng định dạng đó làm định dạng cơ sở của mình.
Sự rút gọn là việc tóm tắt hoặc định lượng thông tin và sau đó xuất ra thông tin đó dưới dạng một cấu trúc chuẩn hóa, dựa trên các tổng số, các tổng, số liệu thống kê hay phân tích khác mà bạn đã chọn để xuất ra.
Việc truy vấn dữ liệu này thường rất phức tạp, ngay cả khi bạn sử dụng các công cụ được thiết kế để làm việc này. Trong một bài tập khai phá dữ liệu, cách tiếp cận lý tưởng là sử dụng giai đoạn khai phá dữ liệu của MapReduce làm một phần trong bài tập chuẩn bị dữ liệu của bạn.
Ví dụ, nếu bạn đang xây dựng một bài tập khai phá dữ liệu để kết hợp hoặc phân cụm, giai đoạn đầu tiên tốt nhất là xây dựng một mô hình thống kê thích hợp để bạn có thể sử dụng mô hình này để nhận biết và trích ra thông tin cần thiết. Việc sử dụng giai đoạn MapReduce để trích ra và tính toán thông tin thống kê đó rồi nhập nó vào phần còn lại của quá trình khai phá dữ liệu, dẫn đến một cấu trúc như thể hiện trong Hình 7.

Hình 7. Cấu trúc MapReduce
Cấu trúc MapReduce 

Trong ví dụ trước, chúng tôi đã thực hiện việc xử lý (trong trường hợp này là MapReduce) của dữ liệu nguồn trong một cơ sở dữ liệu tài liệu và đã chuyển dịch nó sang một định dạng bảng trong một cơ sở dữ liệu SQL cho các mục đích khai phá dữ liệu.
Làm việc với thông tin phức tạp hay thậm chí chưa định dạng này có thể cần phải chuẩn bị và xử lý thông tin còn phức tạp hơn. Có một số kiểu và cấu trúc dữ liệu phức tạp không thể được xử lý và được chuẩn bị chỉ trong một bước thành kết quả đầu ra mà bạn cần. Ở đây bạn có thể nối chuỗi đầu ra của MapReduce của bạn hoặc để ánh xạ và tạo ra cấu trúc dữ liệu mà bạn cần theo tuần tự, như trong Hình 8, hoặc riêng lẻ để tạo ra nhiều bảng dữ liệu đầu ra.

Hình 8. Nối chuỗi đầu ra của MapReduce của bạn theo tuần tự 
Nối chuỗi đầu ra của MapReduce của bạn theo tuần tự 

Ví dụ, việc lấy thông tin ghi nhật ký thô từ một cơ sở dữ liệu tài liệu và chạy MapReduce để tạo ra một khung nhìn tóm tắt các thông tin đó theo ngày có thể được thực hiện chỉ một lần duy nhất. Việc tạo lại thông tin và kết hợp đầu ra đó với một ma trận quyết định (được mã hóa trong giai đoạn MapReduce thứ hai) và sau đó tiếp tục đơn giản hóa thành một cấu trúc tuần tự, là một ví dụ hay của quá trình nối chuỗi này. Chúng tôi cần có toàn bộ dữ liệu đã thiết lập trong giai đoạn MapReduce để hỗ trợ dữ liệu của bước riêng này.
Bất kể dữ liệu nguồn của bạn, có nhiều công cụ có thể sử dụng tệp phẳng, CSV hoặc các nguồn dữ liệu khác. Ví dụ, InfoSphere Warehouse có thể phân tích cú pháp các tệp phẳng ngoài một liên kết trực tiếp đến một kho dữ liệu DB2.
Việc khai phá dữ liệu còn hơn việc chạy một số truy vấn phức tạp trên dữ liệu mà bạn đã lưu trong cơ sở dữ liệu của mình. Bạn phải làm việc với dữ liệu của mình, định dạng lại nó hoặc cấu trúc lại nó, bất kể bạn có đang sử dụng SQL, cơ sở dữ liệu dựa trên tài liệu như Hadoop hoặc các tệp phẳng đơn giản hay không. Việc nhận ra định dạng thông tin mà bạn cần được dựa trên kỹ thuật và việc phân tích mà bạn muốn làm. Sau khi bạn có thông tin theo định dạng mà bạn cần, bạn có thể áp dụng các kỹ thuật khác (riêng lẻ hay kết hợp lại với nhau) không phân biệt cấu trúc dữ liệu cơ bản hay tập hợp dữ liệu cần thiết.

Học tập
Lấy sản phẩm và công nghệ
  • Hadoop hỗ trợ một số cấu trúc NoSQL, chẳng hạn như định dạng không lược đồ và khả năng sử dụng một MapReduce để xử lý các dữ liệu đã lưu.
  • Kho dữ liệu InfoSphere cung cấp bộ công cụ đầy đủ để xây dựng và phân tích dữ liệu để hỗ trợ nhiều kỹ thuật khai phá dữ liệu.
  • WEKA là một bộ công cụ dựa trên Java™ dùng để hỗ trợ nhiều thuật toán khai phá dữ liệu và thống kê khác nhau.
  • SPSS là một gói phần mềm thống kê bao gồm các khả năng phân tích dự báo mạnh.
  • Hadoop cung cấp chức năng MapReduce mạnh mẽ.
  • Couchbase Server là một cơ sở dữ liệu tài liệu NoSQL với MapReduce dựa trên việc truy vấn và lập chỉ mục.
  • Phần mềm đánh giá: Tải về hoặc khám phá các bản dùng thử trực tuyến trong Sandbox SOA của IBM và dùng thử các công cụ phát triển ứng dụng và các sản phẩm phần mềm trung gian từ DB2®, Lotus®, Rational®, Tivoli® và WebSphere®.
Thảo luận