Chúc mừng!

Làm sạch dữ liệu bằng Java

Dennis Lee

Software Engineer

Hành trình làm sạch dữ liệu

// Từ đánh giá chất lượng
DescriptiveStatistics stats = new DescriptiveStatistics(values);
System.out.println("Mean: " + stats.getMean());

// Đến chuyển đổi chuỗi String clean = text.trim().toLowerCase();
// Đến xác thực phạm vi boolean isValid = Range.between(0, 100).contains(value);
// Đến làm sạch bảng Table cleaned = data.where(sales.isGreaterThan(1000));
Làm sạch dữ liệu bằng Java

Đánh giá chất lượng dữ liệu

  • Dữ liệu kém dẫn đến quyết định kém
  • Đánh giá chất lượng: kiểm tra ngoại lệ, thiếu dữ liệu, sai kiểu
// Kiểm tra thống kê
double mean = stats.getMean();

// Phát hiện null boolean isMissing = Optional.ofNullable(value).isEmpty();
// Xác minh kiểu boolean isValidDate = LocalDate.parse(dateStr, formatter);
Làm sạch dữ liệu bằng Java

Chuyển đổi dữ liệu nhất quán

  • Định dạng không nhất quán làm sai lệch phân tích
  • Làm sạch chuỗi; chuẩn hóa danh mục và ngày
// Chuẩn hóa chuỗi (ví dụ: bỏ ký tự không phải chữ)
String cleaned = dirtyName.replaceAll("[^a-zA-Z\\s]", "");

// Chuẩn hóa danh mục String standard = categoryMap.getOrDefault(value, "Other");
// Chuyển đổi ngày LocalDateTime datetime = LocalDateTime.parse(dateStr, formatter);
Làm sạch dữ liệu bằng Java

Xác thực tính toàn vẹn dữ liệu

  • Chặn dữ liệu xấu trước khi vào hệ thống
  • Kiểm tra phạm vi và định dạng theo quy tắc nghiệp vụ
// Kiểm tra phạm vi
boolean inRange = Range.between(min, max).contains(value);

// Xác thực mẫu boolean matches = Pattern.matches(pattern, text);
// Áp dụng ràng buộc Set<ConstraintViolation<Data>> violations = validator.validate(data);
Làm sạch dữ liệu bằng Java

Làm sạch dữ liệu dạng bảng

for (String colName : data.columnNames()) {
    // Kiểm tra giá trị thiếu 
    System.out.println(data.column(colName).countMissing());
}

StringColumn cleaned = names.map(String::toLowerCase) // Làm sạch văn bản .setName("Clean_Names"); // Đặt tên cột mới
Table summary = data .where(sales.isGreaterThan(1000)) // Lọc hàng .summarize("Sales", mean) // Tổng hợp .by("Category"); // Nhóm
Làm sạch dữ liệu bằng Java

Tài nguyên

Làm sạch dữ liệu bằng Java

Sẵn sàng làm sạch

Làm sạch dữ liệu bằng Java

Preparing Video For Download...