WorksheetsUntitled Quiz
Total questions: 150
Worksheet time: 1hrs 15mins
Để đọc tệp Excel có nhiều sheet và chỉ lấy sheet tên là '2010s', câu lệnh nào đúng?
df = pd.read_csv('Data.xlsx', sheet='2010s')
df = pd.read_excel('Data.xlsx', sheet_name='2010s')
df = pd_read_excel('2010s')
df = pd.open_excel('Data.xlsx', '2010s')
Giả sử cột 'Age' chứa giá trị thiếu. Lệnh nào dùng để điền các giá trị thiếu đó bằng giá trị trung vị (Median)?
df['Age'].dropna()
df['Age'].replace_nan(df['Age'].mean())
df['Age'].fill(median)
df['Age'].fillna(df['Age'].median(), inplace=True)
Để lọc ra các dòng trong df mà tại đó cột 'Salary' lớn hơn 5000, ta viết câu lệnh nào?
df.where('Salary > 5000')
df[df['Salary'] > 5000]
df.filter('Salary > 5000')
df.select('Salary' > 5000)
Lệnh nào dùng để đổi tên cột từ 'Old_Name' thành 'New_Name'?
df.rename_column('Old_Name', 'New_Name')
df.change_name('Old_Name', 'New_Name')
df.columns['Old_Name'] = 'New_Name'
df.rename(columns={'Old_Name': 'New_Name'})
Để tính tổng giá trị của cột 'Revenue' theo từng nhóm trong cột 'City', ta dùng lệnh nào?
df.groupby('City')['Revenue'].sum()
df.sum('Revenue').by('City')
df['City'].sum('Revenue')
pd.sum_by_group(df, 'City', 'Revenue')
Để thực hiện chuẩn hoá Z-score cho cột 'Score', công thức code nào phản ánh đúng?
(df['Score'] - df['Score'].min()) / (df['Score'].max() - df['Score'].min())
(df['Score'] - df['Score'].mean()) / df['Score'].std()
df['Score'].max()
np.log(df['Score'])
Trong Scikit-learn, sau khi khởi tạo mô hình, lệnh nào dùng để đưa dữ liệu vào huấn luyện?
model.learn(X_train, y_train)
model.fit(X_train, y_train)
model.train(X_train, y_train)
model.execute(X_train, y_train)
Để chia tập dữ liệu thành hai phần Train/Test với tỷ lệ 80/20, ta dùng hàm nào?
model.divide(0.2)
pd.split(df, [0.8, 0.2])
split_data(X, y, ratio=0.8)
train_test_split(X, y, test_size=0.2)
Khi làm việc với K-Means, để lấy tọa độ các tâm cụm sau khi huấn luyện, ta dùng thuộc tính nào?
model.cluster_centers_
model.centroids_
model.get_centers()
model.points_
Để đánh giá độ chính xác (Accuracy) của mô hình phân lớp, ta có thể dùng câu lệnh nào?
print(model.score_total)
df.compare_accuracy(y_true, y_pred)
model.evaluate_accuracy()
from sklearn.metrics import accuracy_score; accuracy_score(y_true, y_pred)
Để đặt cột 'Timestamp' làm chỉ mục (Index) cho DataFrame, ta dùng lệnh nào?
pd.Index(df['Timestamp'])
df.make_index('Timestamp')
df.index = 'Timestamp'
df.set_index('Timestamp', inplace=True)
Để trích xuất thông tin "Tháng" từ một cột kiểu datetime, ta dùng lệnh nào?
df['Date'].month()
pd.get_month(df['Date'])
df['Date'].extract('month')
df['Date'].dt.month
Để tính giá trị lớn nhất trong một cửa sổ trượt (rolling window) 7 ngày, ta dùng lệnh nào?
df['Sales'].max(window=7)
pd.max_rolling(df['Sales'], 7)
df['Sales'].shift(7).max()
df['Sales'].rolling(window=7).max()
Những thư viện nào sau đây thường được dùng trong quy trình Khai phá dữ liệu bằng Python? (Chọn tất cả đáp án đúng)
Pandas
Matplotlib
Scikit-learn
Numpy
Các tham số nào có thể tuỳ chỉnh trong thuật toán DecisionTreeClassifier của Sklearn? (Chọn tất cả đáp án đúng)
criterion ('gini' hoặc 'entropy')
max_depth (độ sâu tối đa của cây)
n_clusters (số lượng cụm)
min_samples_split (số mẫu tối thiểu để chia nút)
Khi sử dụng hàm pd.concat(), ta có thể gộp dữ liệu theo những cách nào? (Chọn tất cả đáp án đúng)
Theo hàng (axis=0)
Theo cột (axis=1)
Theo thời gian (axis='time')
Theo bảng chữ cái (axis='alpha')
Một dòng khai báo thuộc tính nominal trong file .arff nào dưới đây là viết đúng cú pháp?
@attribute outlook (sunny, overcast, rainy)
@attribute outlook {sunny, overcast, rainy}
@attribute outlook [sunny, overcast, rainy]
@attribute outlook sunny, overcast, rainy
Trong code Python, để lưu một DataFrame df thành file CSV mà không kèm theo cột chỉ số (index), ta dùng lệnh nào?
df.export('filename.csv')
df.save_csv('filename.csv')
df.write_csv('filename.csv', header=None)
df.to_csv('filename.csv', index=False)
Đâu là cách khai báo thuộc tính ngày tháng trong file .arff?
@attribute date string
@attribute date date "yyyy-MM-dd"
@attribute date format="yyyy-MM-dd"
@attribute date time
Để xem hình ảnh cây quyết định trực quan trong Python (sử dụng thư viện tree), ta dùng lệnh nào?
tree.plot_tree(model)
model.show()
plt.display(model)
tree.draw(model)
Để kiểm tra số lượng giá trị thiếu trong từng cột của DataFrame df, câu lệnh nào là đúng?
df.describe()
df.count_missing()
df.info()
df.isnull().sum()
Đoạn code nào đúng để chuẩn hoá dữ liệu theo phương pháp Min-Max về khoảng [0, 1]?
df / df.max()
(df - df.mean()) / df.std()
(df - df.min()) / (df.max() - df.min())
df.normalize()
Trong thư viện Scikit-learn, để huấn luyện mô hình K-Means với 3 cụm, ta viết lệnh nào?
kmeans = KMeans(n_clusters=3).fit(data)
kmeans = KMeans(k=3).train(data)
kmeans = cluster(3).fit(data)
kmeans = KMeans.fit(data, clusters=3)
Để chuyển cột 'Date' sang kiểu dữ liệu thời gian trong Pandas, câu lệnh nào đúng?
df['Date'] = pd.convert_date(df['Date'])
df['Date'] = pd.to_datetime(df['Date'])
df['Date'] = datetime(df['Date'])
df['Date'] = df['Date'].astype('time')
Để tính ma trận tương quan giữa các thuộc tính số trong df, ta dùng:
df.compare()
df.covariance()
df.relation()
df.corr()
Lệnh df.iloc[0:5, 1:3] có ý nghĩa gì?
Lấy từ dòng 1 đến 5 và cột 1 đến 3
Lấy 5 dòng đầu tiên và cột từ index 1 đến 2
Lấy tất cả các dòng có giá trị từ 0 đến 5
Lấy 5 dòng cuối cùng
Trong bài toán Cây quyết định với Sklearn, lệnh model.predict(X_test) dùng để:
Vẽ hình ảnh của cây
Tính độ chính xác của mô hình
Huấn luyện mô hình trên tập kiểm thử
Dự đoán nhãn lớp cho tập dữ liệu mới (X_test)
Để tính giá trị trung bình trượt (Moving Average) với cửa sổ là 3 ngày trong Pandas:
df['Sales'].moving(3)
df['Sales'].shift(3).mean()
df['Sales'].average(3)
df['Sales'].rolling(window=3).mean()
Để xóa cột 'ID' ra khỏi DataFrame df, ta dùng lệnh nào?
df.drop('ID', axis=0)
df.remove('ID')
df.delete('ID')
df.drop('ID', axis=1)
Để gộp 3 DataFrame df1, df2, df3 chồng lên nhau theo hàng, ta dùng:
df1.append(df2, df3)
pd.merge(df1, df2, df3)
df1.join([df2, df3])
pd.concat([df1, df2, df3])
Khai phá dữ liệu (Data Mining) là gì?
Quá trình nhập dữ liệu từ giấy tờ vào máy tính
Quá trình khám phá tri thức tiềm ẩn, hữu ích từ tập dữ liệu lớn
Quá trình lưu trữ dữ liệu vào kho lưu trữ tập trung
Quá trình sao lưu dữ liệu để tránh mất mát
Quy trình KDD (Knowledge Discovery in Databases) gồm mấy bước chính?
3 bước
4 bước
7 bước
5 bước
Bước nào trong quy trình KDD thực hiện việc làm sạch và tích hợp dữ liệu?
Selection (Lựa chọn)
Data Mining (Khai phá dữ liệu)
Transformation (Biến đổi)
Preprocessing (Tiền xử lý)
Trong "3Vs" của Big Data, "Variety" đề cập đến yếu tố nào?
Tốc độ sinh dữ liệu
Kích thước của dữ liệu
Giá trị kinh tế của dữ liệu
Sự đa dạng các loại dữ liệu (cấu trúc, phi cấu trúc...)
Nhiệm vụ nào sau đây thuộc về "Học có giám sát" (Supervised Learning)?
Giảm chiều dữ liệu
Phân lớp (Classification)
Khai phá luật kết hợp (Association Rules)
Phân cụm (Clustering)
Đâu là ví dụ về dữ liệu phi cấu trúc (Unstructured Data)?
Cơ sở dữ liệu khách hàng SQL
Video, hình ảnh và tệp âm thanh
Tệp tin XML
Bảng lương nhân viên trong Excel
Bài toán dự đoán giá vàng vào ngày mai dựa trên dữ liệu quá khứ là bài toán:
Phát hiện ngoại lệ
Phân cụm
Hồi quy (Regression)
Phân lớp
Khai phá dữ liệu khác với Thống kê truyền thống ở điểm nào?
Khai phá dữ liệu chỉ dùng cho dữ liệu nhỏ
Thống kê không dùng toán học
Khai phá dữ liệu tập trung vào việc tự động phát hiện mẫu từ tập dữ liệu rất lớn
Thống kê không cần máy tính
"Data Warehouse" (Kho dữ liệu) đóng vai trò gì trong khai phá dữ liệu?
Là một loại thuật toán phân cụm
Là kết quả đầu ra của quá trình KDD
Là nguồn cung cấp dữ liệu đã được làm sạch và tích hợp
Là nơi thực hiện các thuật toán khai phá
Thuật ngữ "Outlier Detection" dùng để chỉ việc:
Tìm các mẫu dữ liệu bất thường, khác biệt hẳn với phần còn lại
Tìm các nhóm dữ liệu giống nhau
Xóa bỏ các thuộc tính không cần thiết
Dự đoán nhãn cho dữ liệu mới
Bước cuối cùng trong quy trình KDD là gì?
Data Mining
Transformation
Selection
Interpretation/Evaluation (Giải thích/Đánh giá)
"CRM" ứng dụng khai phá dữ liệu để làm gì?
Bảo trì máy chủ
Viết báo cáo thuế
Quản lý tiền lương nhân viên
Phân tích hành vi và giữ chân khách hàng
Đặc trưng "Velocity" trong Big Data có nghĩa là:
Dữ liệu có nhiều định dạng
Dữ liệu được sinh ra với tốc độ rất nhanh
Dữ liệu có độ tin cậy thấp
Dữ liệu cực kỳ lớn (Terabytes)
Dữ liệu bán cấu trúc (Semi-structured) thường gặp dưới dạng:
Các tệp tin văn bản thuần túy (.txt)
File JSON hoặc XML
Các hàng và cột trong database
Ảnh chụp vệ tinh
Bài toán phân tích giỏ hàng (Market Basket Analysis) thuộc về nhiệm vụ nào?
Phân lớp
Phân cụm
Hồi quy
Khai phá luật kết hợp
Tại sao cần phải thực hiện bước "Lựa chọn" (Selection) trong KDD?
Để làm đẹp báo cáo
Để thuật toán chạy nhanh hơn bằng cách tập trung vào dữ liệu liên quan
Vì không có đủ bộ nhớ để lưu trữ
Để xóa toàn bộ dữ liệu cũ
Nhiệm vụ nào nhằm mục đích chia tập dữ liệu thành các nhóm sao cho các phần tử trong cùng nhóm tương đồng nhất?
Classification
Clustering
Regression
Association Rules
"Knowledge" trong KDD có thể được biểu diễn dưới dạng:
Tất cả các phương án trên
Các cụm (Clusters)
Cây quyết định (Trees)
Các quy tắc (Rules)
Việc dự đoán một email là "Spam" hay "Non-spam" là bài toán:
Phân cụm
Luật kết hợp
Hồi quy
Phân lớp
Khai phá dữ liệu thường được coi là sự giao thoa giữa các lĩnh vực nào?
Hệ điều hành và Phần cứng
Toán học, Vật lý và Hóa học
Đồ họa máy tính và Mạng máy tính
Thống kê, Máy học (Machine Learning) và Cơ sở dữ liệu
Phương pháp lấy mẫu nào chia quần thể thành các nhóm nhỏ (strata) trước khi lấy mẫu ngẫu nhiên?
Simple Random Sampling
Cluster Sampling
Stratified Sampling
Systematic Sampling
Trong Pandas, hàm nào dùng để đọc dữ liệu từ tệp CSV?
pd.get_csv()
pd.load_csv()
pd.read_csv()
pd.open_csv()
Hiện tượng "Missing completely at random" (MCAR) xảy ra khi:
Dữ liệu thiếu chỉ xảy ra với thuộc tính phân loại
Việc dữ liệu bị thiếu không liên quan đến bất kỳ giá trị nào trong tập dữ liệu
Dữ liệu thiếu do người dùng cố tình không nhập
Dữ liệu thiếu phụ thuộc vào giá trị của thuộc tính khác
Để tính giá trị trung bình (mean) của một cột trong Pandas, ta dùng:
df['column'].mid()
df['column'].mean()
df['column'].sum()
df['column'].average()
Chuẩn hóa Min-Max đưa dữ liệu về khoảng [0, 1]. Nếu giá trị ban đầu là 20, Min=10, Max=50 thì giá trị sau chuẩn hóa là:
0.2
0.25
0.33
0.5
Hệ số tương quan Pearson r nhận giá trị trong khoảng:
[0, 100]
[-∞, +∞]
[-1, 1]
[0, 1]
Lệnh df.describe() trong Pandas cung cấp thông tin gì?
5 dòng dữ liệu đầu tiên
Kiểu dữ liệu của từng cột
Danh sách các tên cột
Các thông số thống kê mô tả (mean, std, min, max...)
Phương pháp nào dùng để xử lý dữ liệu bị thiếu (Missing values)?
Xóa bỏ dòng dữ liệu đó
Điền giá trị trung bình hoặc trung vị
Sử dụng một giá trị hằng số (Global constant)
Tất cả các phương án trên
"Z-score normalization" sử dụng các thông số nào?
Min và Max
Trung vị và Khoảng tứ phân vị
Trung bình (Mean) và Độ lệch chuẩn (Standard Deviation)
Tổng và Số lượng mẫu
Một hệ số tương quan r=−0.9 cho biết:
Hai biến không có mối liên hệ nào
Hai biến có mối liên hệ thuận mạnh
Hai biến có mối liên hệ nghịch mạnh
Một biến tăng, biến kia không đổi
Thuộc tính "Giới tính" (Nam/Nữ) thuộc loại dữ liệu nào?
Ratio (Tỷ lệ)
Interval (Khoảng)
Ordinal (Thứ bậc)
Nominal (Định danh)
Trong Pandas, hàm nào dùng để kiểm tra xem có giá trị thiếu (null) hay không?
df.none()
df.empty()
cf.check_null()
df.isnull()
Mục tiêu của "Data Integration" (Tích hợp dữ liệu) là:
Chia nhỏ tệp dữ liệu lớn
Nén dữ liệu để tiết kiệm bộ nhớ
Xóa bỏ các thuộc tính số
Kết hợp dữ liệu từ nhiều nguồn khác nhau vào một kho lưu trữ duy nhất
"Redundancy" (Dư thừa dữ liệu) trong tích hợp dữ liệu thường dẫn đến:
Dữ liệu chính xác hơn
Tiết kiệm thời gian chuẩn bị dữ liệu
Lãng phí không gian lưu trữ và gây mất nhất quán
Thuật toán chạy nhanh hơn
Để xóa các dòng có giá trị thiếu trong Pandas, ta dùng lệnh:
df.pop()
df.remove_null()
df.dropna()
df.clean()
Giá trị xuất hiện nhiều nhất trong một tập dữ liệu được gọi là:
Variance (Phương sai)
Mode (Yếu vị)
Median (Trung vị)
Mean (Trung bình)
Đặc trưng thống kê nào đo lường độ phân tán của dữ liệu quanh giá trị trung bình?
Mean
Range
Median
Standard Deviation
Lấy mẫu hệ thống (Systematic Sampling) được thực hiện như thế nào?
Chỉ lấy các phần tử ở đầu danh sách
Lấy ngẫu nhiên hoàn toàn
Lấy tất cả các phần tử trong một cụm
Lấy các phần tử theo một khoảng cách k cố định (vd: cứ mỗi 10 người lấy 1 người)
Chức năng của hàm df.info() trong Pandas là gì?
Vẽ biểu đồ phân tán
Hiển thị tóm tắt về cấu trúc DataFrame, số lượng giá trị non-null và kiểu dữ liệu
Hiển thị thống kê số lượng
Lưu DataFrame vào file
Để thay thế các giá trị NaN bằng một giá trị cụ thể (ví dụ 0), ta dùng:
df.change(0)
df.set_value(0)
df.fillna(0)
df.replace_nan()
Độ hỗ trợ (Support) của tập mục {A, B} được tính bằng:
Số giao dịch chứa A cộng với số giao dịch chứa B
Số giao dịch chứa cả A và B chia cho tổng số giao dịch
Số giao dịch chứa A chia cho số giao dịch chứa B
Tổng số mục trong giỏ hàng
Độ tin cậy (Confidence) của luật A→B được tính bằng:
Support(A ∪ B) / Support(B)
Support(A ∪ B) / Support(A)
Support(A) / Support(B)
Support(A ∪ B)
Một luật kết hợp được gọi là "Mạnh" (Strong) nếu:
Nó có độ tin cậy bằng 100%
Nó thỏa mãn các ngưỡng min_support và min_confidence
Nó chỉ có một mục ở vế trái
Nó có độ hỗ trợ cực cao
Thuật toán Apriori dựa trên tính chất nào?
Nếu một tập mục là phổ biến, tập cha của nó cũng phải phổ biến
Nếu một tập mục là phổ biến, tất cả các tập con của nó cũng phải phổ biến
Không tập mục nào có thể phổ biến nếu Support < 1
Tập mục phổ biến phải có ít nhất 2 phần tử
Trong Apriori, nếu tập {Cam, Táo} không phổ biến, ta có thể kết luận gì về tập {Cam, Táo, Sữa}?
Nó có thể phổ biến
Chắc chắn không phổ biến (Cắt tỉa - Pruning)
Nó chắc chắn phổ biến
Cần quét dữ liệu mới biết được
Chỉ số "Lift" của luật A→B được tính bằng:
Confidence(A → B) - Support(B)
Support(A ∪ B) / Support(B)
Support(A) × Support(B)
Confidence(A → B) / Support(B)
Giá trị Lift = 1 có ý nghĩa gì?
A và B có liên quan thuận
A và B độc lập với nhau
A và B có liên quan nghịch
Luật này là cực kỳ mạnh
Giải thuật Apriori thực hiện quét cơ sở dữ liệu bao nhiêu lần?
Không cần quét cơ sở dữ liệu
Tương ứng với số lượng tập mục phổ biến lớn nhất tìm được
Chỉ 1 lần duy nhất
100 lần
"Itemset" (Tập mục) là gì?
Tên của khách hàng
Một tập hợp chứa một hoặc nhiều mục (mặt hàng)
Một quy tắc dự đoán
Một dòng trong cơ sở dữ liệu
Mục đích chính của khai phá luật kết hợp là:
Dự đoán doanh số bán hàng tháng sau
Chia khách hàng thành 2 nhóm
Tìm ra các mặt hàng thường xuyên được mua cùng nhau
Sắp xếp kho hàng theo thứ tự bằng chữ cái
Cho 100 giao dịch. Tập {Bánh mì, Sữa} xuất hiện 30 lần. Support của tập này là:
0.7
0.3
3.0
30
Cho Support(Sữa) = 0.5 và Support(Sữa, Bơ) = 0.4. Confidence của luật Sữa → Bơ là:
0.4
0.5
0.9
0.8
Bước "Join step" trong Apriori dùng để làm gì?
Kết nối với cơ sở dữ liệu SQL
Tính độ tin cậy của luật
Xóa các giao dịch nhiễu
Tạo ra các tập ứng viên (k+1) -itemset từ các tập phổ biến k -itemset
Nếu ngưỡng min_support tăng lên, số lượng tập mục phổ biến tìm được sẽ:
Tăng lên
Giảm đi
Không đổi
Không xác định
Luật kết hợp thường được biểu diễn dưới dạng:
Sx → YS
IF <Điều kiện> THEN
Cả A và B đều đúng
Một phương trình bậc hai
Nhược điểm chính của Apriori khi làm việc với tập dữ liệu cực lớn là:
Kết quả không chính xác
Không thể tìm được các luật có 2 mục
Thuật toán quá đơn giản
Phải quét cơ sở dữ liệu nhiều lần, gây tốn thời gian I/O
Trong bài toán Market Basket, "TID" thường viết tắt cho:
Time ID
Table ID
Total ID
Transaction ID
Một tập mục chứa SkS mục được gọi là:
k-frequent
Item-k
k-itemset
Support-k
Ứng dụng của luật kết hợp trong bố trí siêu thị là:
Chỉ bán một loại mặt hàng duy nhất
Giảm giá tất cả các mặt hàng
Đuổi những khách hàng mua ít
Đặt các mặt hàng hay mua cùng nhau ở gần nhau hoặc hai đầu lối đi để kích cầu
Nếu Lift < 1, luật SA → BS có ý nghĩa:
Không thể xác định
Độc lập
Ngược chiều, khách hàng mua A thường không mua B
Tốt, khách hàng mua A sẽ mua B
Phân cụm là quá trình:
Dự đoán giá trị tương lai của một biến số
Nhóm các đối tượng tương tự nhau vào cùng một cụm mà không biết trước nhãn lớp
Gán nhãn cho dữ liệu dựa trên các quy tắc có sẵn
Tìm mối liên hệ giữa các mặt hàng trong siêu thị
Thuật toán K-means thuộc loại phân cụm nào?
Phân cụm dựa trên lưới (Grid-based)
Phân cụm dựa trên phân hoạch (Partitioning)
Phân cụm dựa trên mật độ (Density-based)
Phân cụm phân cấp (Hierarchical)
Trong K-means, "k" đại diện cho:
Số lần lặp lại tối đa
Số lượng thuộc tính của dữ liệu
Khoảng cách giữa các cụm
Số lượng cụm muốn phân chia
Bước đầu tiên của thuật toán K-means là:
Tính khoảng cách giữa tất cả các điểm
Vẽ biểu đồ phân tán
Gán nhãn cho toàn bộ dữ liệu là 0
Chọn ngẫu nhiên k tâm cụm (centroids) ban đầu
Độ đo khoảng cách phổ biến nhất dùng trong K-means là:
Khoảng cách Hamming
Khoảng cách Cosine
Khoảng cách Euclidean
Khoảng cách Manhattan
Thuật toán K-means dừng lại khi:
Người dùng cảm thấy đủ
Các tâm cụm không còn thay đổi vị trí đáng kể (hội tụ)
Đã chạy được 10 lần lặp
Toàn bộ dữ liệu được xóa bỏ
Công thức khoảng cách Euclidean giữa SP_1(x_1, y_1) và SP_2(x_2, y_2) là:
max(∣x1−x2∣,∣y1−y2∣)
(x1+x2)/2
∣x1−x2∣+∣y1−y2∣
(x1−x2)2+(y1−y2)2
Nhược điểm của K-means là:
Nhạy cảm với các điểm ngoại lệ (Outliers)
Kết quả phụ thuộc vào việc chọn tâm cụm ban đầu
Phải biết trước số lượng cụm k
Tất cả các phương án trên
Phương pháp "Elbow" (Cùi chỏ) dùng để làm gì?
Chuẩn hóa dữ liệu
Loại bỏ nhiễu
Chọn số lượng cụm k tối ưu
Tính khoảng cách nhanh hơn
Trong mỗi bước lặp của K-means, tâm cụm mới được cập nhật bằng cách:
Chọn điểm gần nhất nằm ngoài cụm
Giữ nguyên tâm cụm cũ
Lấy điểm có tọa độ lớn nhất
Tính trung bình tọa độ của tất cả các điểm thuộc cụm đó
Khoảng cách Manhattan còn được gọi là khoảng cách:
Đường chim bay
Khoảng cách nhị phân
Khoảng cách góc
Đường xe taxi (City block distance)
Một "Cluster" tốt là cụm có:
Độ tương đồng trong cụm cao và giữa các cụm (Inter-cluster) thấp
Độ tương đồng trong cụm (Intra-cluster) thấp
Các điểm nằm xa nhau nhất có thể
Chỉ chứa 1 điểm dữ liệu
Thuật toán K-means có thể áp dụng hiệu quả cho loại dữ liệu nào?
Dữ liệu hình ảnh thô
Dữ liệu thuộc tính số (Numerical)
Dữ liệu chỉ có nhãn phân loại
Dữ liệu văn bản phi cấu trúc
SSE (Sum of Squared Errors) trong phân cụm dùng để:
Đo lường tổng bình phương lỗi trong các cụm (dùng đánh giá chất lượng phân cụm)
Đo lường độ chính xác phân lớp
Tính thời gian chạy
Đếm số lượng cụm
Nếu k = số lượng mẫu dữ liệu (n), thì giá trị SSE sẽ bằng:
Rất lớn
0
1
n
Phân cụm phân cấp (Hierarchical Clustering) tạo ra kết quả dưới dạng đồ thị gọi là:
Histogram
Dendrogram
Scatter plot
Pie chart
K-means ++ là một biến thể của K-means nhằm cải thiện việc:
Xử lý dữ liệu thiếu
Vẽ đồ thị đẹp hơn
Tăng số chiều dữ liệu
Khởi tạo các tâm cụm ban đầu thông minh hơn
Ứng dụng của phân cụm trong Marketing là:
Gửi email rác cho tất cả mọi người
Dự đoán khách hàng có rời bỏ hay không
Phân đoạn khách hàng (Customer Segmentation) để có chiến dịch phù hợp
Tính tổng doanh thu năm
Khi dữ liệu chứa nhiều và ngoại lệ, thuật toán phân cụm nào thường được ưu tiên hơn K-means?
Cây quyết định
Hồi quy tuyến tính
Apriori
DBSCAN (Dựa trên mật độ)
Trong Python, thư viện scikit-learn cung cấp K-means thông qua lớp nào?
sklearn.classify.KMeans
sklearn.cluster.KMeans
numpy.cluster.KMeans
pandas.KMeans
Phân lớp dữ liệu là nhiệm vụ nhằm:
Tìm luật mua sắm đồng thời
Xây dựng mô hình để dự đoán nhãn lớp (rời rạc) cho các dữ liệu mới
Tìm các nhóm khách hàng tự nhiên
Chuẩn hóa dữ liệu về 0 và 1
Trong cây quyết định (Decision Tree), nút lá (leaf node) đại diện cho:
Một thuộc tính kiểm tra
Một tập con của thuộc tính
Nút bắt đầu của cây
Nhãn lớp (Kết quả dự đoán)
Thuật toán ID3 sử dụng độ đo nào để chọn thuộc tính chia nút?
Gini Index
Chi-square
Misclassification Error
Information Gain (Độ lợi thông tin)
Entropy là độ đo dùng để đo lường:
Độ chính xác của cây
Độ sâu của cây
Độ hỗn loạn (impurity) hoặc tính không đồng nhất của thông tin
Số lượng nút trên cây
Nếu một tập dữ liệu chỉ chứa các mẫu thuộc về 1 lớp duy nhất (thuần khiết), Entropy của nó bằng:
1
0
0.5
Vô cùng
Thuật toán C4.5 cải tiến ID3 bằng cách sử dụng độ đo nào?
Gini Index
Confidence
Support
Gain Ratio (Tỷ lệ lợi thông tin)
"Overfitting" (Quá khớp) trong cây quyết định xảy ra khi nào?
Cây quá ngắn và đơn giản
Cây quá sâu và phức tạp, học cả nhiều của dữ liệu huấn luyện
Dữ liệu huấn luyện quá ít
Thuật toán không tìm được nút gốc
Kỹ thuật "Pruning" (Cắt tỉa cây) nhằm mục đích gì?
Làm cây sâu hơn
Xóa bỏ toàn bộ dữ liệu huấn luyện
Tăng số lượng nút lá
Giảm hiện tượng quá khớp và làm mô hình tổng quát hơn
Trong cây quyết định, nút gốc (Root node) là gì?
Nút không có thuộc tính nào
Nút nằm ở vị trí cao nhất, bắt đầu quá trình phân lớp
Nút có Entropy lớn nhất
Nút nằm ở cuối cùng của cây
Đâu là ưu điểm của cây quyết định?
Dễ hiểu, dễ giải thích dưới dạng quy tắc IF-THEN
Không cần tiền xử lý dữ liệu nhiều
Có thể làm việc với cả dữ liệu số và dữ liệu định danh
Tất cả các phương án trên
Gini Index là độ đo thường được sử dụng trong thuật toán nào?
ID3
K-means
CART (Classification and Regression Trees)
Apriori
Trong quy trình phân lớp, tập dữ liệu ban đầu thường được chia thành 2 phần là gì?
Tập Cụm và Tập Lớp
Tập Huấn luyện (Training set) và Tập Kiểm thử (Test set)
Tập Input và Tập Output
Tập Support và Tập Confidence
Độ chính xác (Accuracy) của mô hình phân lớp được tính bằng công thức nào?
Số mẫu đoán sai / Tổng số mẫu kiểm thử
Số mẫu đoán đúng / Tổng số mẫu huấn luyện
Tổng Entropy của cây
Số lượng nút lá / Tổng số nút
Thuật toán phân lớp dựa trên định lý Bayes được gọi là gì?
Decision Tree
SVM
K-Nearest Neighbors
Naive Bayes
"J48" trong công cụ Weka thực chất là thuật toán nào?
ID3
CART
K-means
C4.5
Khi xây dựng cây quyết định, nếu một nút chứa các mẫu có nhãn khác nhau nhưng không còn thuộc tính nào để chia, ta sẽ làm gì?
Xóa bỏ nút đó
Quay lại chọn nút gốc mới
Dừng thuật toán và báo lỗi
Biến nút đó thành nút lá với nhãn là lớp chiếm đa số
Tại sao ID3 thường ưu tiên các thuộc tính có nhiều giá trị?
Nó không ưu tiên các thuộc tính này
Vì nó làm cây ngắn lại
Vì nó dễ tính toán hơn
Vì nó cho Information Gain cao (nhưng dễ dẫn đến Overfitting)
"Random Forest" là một phương pháp phân lớp sử dụng cách nào?
Một cây quyết định duy nhất cực lớn
Các hàm toán học liên tục
Thuật toán phân cụm
Nhiều cây quyết định và kết hợp kết quả của chúng (Ensemble)
Một quy tắc trích xuất từ cây quyết định có dạng nào?
IF (Age < 30) AND (Student = Yes) THEN (Buy = Yes)
Age + Student = Buy
Buy -> Age, Student
Cluster(Age, Student)
Dữ liệu chuỗi thời gian là gì?
Một loại dữ liệu hình ảnh
Dữ liệu chỉ chứa thông tin về năm sinh
Một dãy các quan sát được ghi lại theo thứ tự thời gian
Một tập hợp các dữ liệu ngẫu nhiên
Đặc trưng "Trend" (Xu thế) trong chuỗi thời gian thể hiện điều gì?
Các sai số ngẫu nhiên
Sự thay đổi dài hạn (tăng hoặc giảm) của dữ liệu theo thời gian
Sự lặp lại theo chu kỳ cố định (vd: hàng tuần)
Những biến động ngắn hạn, đột ngột
"Seasonality" (Tính thời vụ) đề cập đến điều gì?
Sự thay đổi không có quy luật
Một thảm họa thiên tai làm giảm doanh thu
Những biến động lặp lại định kỳ trong các khoảng thời gian ngắn (vd: hàng quý, hàng tháng)
Sự tăng trưởng doanh số hàng năm
Thành phần "Irregular/Noise" (Nhiễu) trong chuỗi thời gian là gì?
Xu hướng tăng trưởng ổn định
Chu kỳ kinh tế 10 năm
Sự lặp lại theo mùa hè
Những biến động không thể dự đoán được, mang tính ngẫu nhiên
"Forecasting" (Dự báo) chuỗi thời gian là việc gì?
Vẽ đồ thị dữ liệu cũ
Sử dụng dữ liệu quá khứ để ước tính các giá trị trong tương lai
Tìm luật kết hợp giữa các năm
Phân loại các chuỗi vào các nhóm
Phương pháp "Moving Average" (Trung bình trượt) dùng để làm gì?
Tăng tính biến động của dữ liệu
Chuyển dữ liệu số thành dữ liệu định danh
Làm mượt chuỗi dữ liệu bằng cách giảm bớt các biến động ngắn hạn (nhiễu)
Tìm nút gốc của cây
Độ đo MAE (Mean Absolute Error) dùng để làm gì?
Đo lường sai số trung bình tuyệt đối của mô hình dự báo
Đo lường độ hỗ trợ của luật
Đếm số lượng cụm
Tính Entropy
Một chuỗi thời gian "Dừng" (Stationary) là chuỗi có đặc điểm gì?
Nhiều nhiễu
Giá trị luôn giảm dần
Giá trị luôn tăng dần
Các đặc trưng thống kê (mean, variance) không đổi theo thời gian
Thành phần "Cycle" (Chu kỳ) khác "Seasonality" ở điểm nào?
Chu kỳ diễn ra trong thời gian ngắn hơn
Seasonality chỉ có ở dữ liệu thời tiết
Chu kỳ không có trong chuỗi thời gian
Chu kỳ diễn ra trong thời gian dài hơn và không có độ dài cố định (vd: chu kỳ kinh tế)
Trong Pandas, để chuyển một cột sang kiểu dữ liệu datetime, ta dùng hàm nào?
pd.convert_time()
pd.to_datetime()
df.as_date()
pd.time_set()
Bài toán dự báo doanh thu của một cửa hàng dựa trên doanh thu các tháng trước là loại bài toán nào?
Dự báo đa biến (Multivariate)
Dự báo đơn biến (Univariate)
Phân loại dữ liệu
Phân cụm dữ liệu
Tại sao nhiễu (Noise) cần được loại bỏ trong phân tích chuỗi thời gian?
Không cần loại bỏ nhiễu
Vì nhiễu chiếm quá nhiều bộ nhớ
Vì nó làm đồ thị đẹp hơn
Để mô hình tập trung vào các quy luật thực sự (Trend, Seasonality) thay vì các biến động ngẫu nhiên
Chỉ số RMSE (Root Mean Square Error) có đặc điểm gì?
Chỉ dùng cho phân cụm
Luôn nhỏ hơn MAE
Không phụ thuộc vào đơn vị dữ liệu
Phạt nặng hơn các sai số lớn
Việc phân tích chuỗi thời gian nhằm mục đích gì?
Hiểu bản chất của các quy luật trong quá khứ
Dự báo các giá trị tương lai
Hỗ trợ ra quyết định
Tất cả các phương án trên
Ví dụ về dữ liệu chuỗi thời gian là gì?
Màu sắc của các loại xe hơi
Chỉ số chứng khoán hàng giờ của mã VNM
Tọa độ các thành phố trên bản đồ
Danh sách sinh viên năm 2024
Trong mô hình dự báo, dữ liệu thường được chia thành những phần nào?
Tập Support và Tập Confidence
Tập In-sample (huấn luyện) và Tập Out-of-sample (kiểm tra dự báo)
Tập Y và Tập X
Không cần chia dữ liệu
Mô hình ARIMA là viết tắt của cụm từ nào?
All Relevant Information Moving Average
Automatic Regression In Multiple Areas
Association Rules In Mining Application
Auto-Regressive Integrated Moving Average
Để lấy giá trị dữ liệu tại một mốc thời gian cụ thể trong Pandas Series có Index là thời gian, ta dùng:
ts.at_time('2023-12-01')
ts.get_date('2023-12-01')
ts.find('2023-12-01')
ts.loc['2023-12-01']
Dự báo thời tiết là một ứng dụng của:
Khai phá luật kết hợp
Phân tích chuỗi thời gian
Phân cụm khách hàng
Chuẩn hóa dữ liệu
WEKA là công cụ khai phá dữ liệu được phát triển bởi:
Microsoft
IBM
Đại học Waikato (New Zealand)
Định dạng tệp tin dữ liệu mặc định của WEKA là:
.xlsx
.txt
.arff (Attribute-Relation File Format)
.csv
