สถิติข้อมูล

การทำความสะอาดข้อมูลใน Java

Dennis Lee

Software Engineer

พบกับผู้สอนของคุณ!

 

Dennis Lee

 

  • วิศวกรซอฟต์แวร์ที่ Amazon
  • เทคโนโลยีและการดำเนินงาน
  • ปริญญาเอก สาขาวิศวกรรมไฟฟ้าและคอมพิวเตอร์

 

ภาพผู้สอน

การทำความสะอาดข้อมูลใน Java

ทำไมข้อมูลที่สะอาดจึงสำคัญ

 

Title Publish Date Rating Review Count Price
[null] 1/10/23 4.8 165 $30.61
9/13/19 4.8 2,521 $38.00
Clean Code 8/1/08 4.7 5,639 $400.00

 

  • ข้อมูลสกปรก: ยอดขายหาย ลูกค้าสับสน การพยากรณ์ผิดพลาด
  • วิธีแก้ไข: ทำความสะอาดข้อมูล
การทำความสะอาดข้อมูลใน Java

โครงร่างคอร์ส

  1. ประเมินคุณภาพข้อมูล

 

1_Ch1_L1_.jpg

การทำความสะอาดข้อมูลใน Java

โครงร่างคอร์ส

  1. ประเมินคุณภาพข้อมูล
  2. แปลงข้อมูล

 

2_Ch1_L1_.jpg

การทำความสะอาดข้อมูลใน Java

โครงร่างคอร์ส

  1. ประเมินคุณภาพข้อมูล
  2. แปลงข้อมูล
  3. ตรวจสอบความถูกต้องของข้อมูล

 

3_Ch1_L1_.jpg

การทำความสะอาดข้อมูลใน Java

โครงร่างคอร์ส

  1. ประเมินคุณภาพข้อมูล
  2. แปลงข้อมูล
  3. ตรวจสอบความถูกต้องของข้อมูล
  4. ทำความสะอาดข้อมูลแบบตาราง

 

4_Ch1_L1_.jpg

การทำความสะอาดข้อมูลใน Java

การจัดโครงสร้างข้อมูล

import java.time.LocalDate;
public class BookSalesExample {
    private record BookSales(String title, LocalDate publishDate, 
                             int reviewCount,  double rating, double price) {}}
book.rating() // book is an instance of BookSales
Title Publish Date Rating Review Count Price
Python Crash Course 1/10/23 4.8 165 $30.61
The Pragmatic Programmer 9/13/19 4.8 2,521 $38.00
Clean Code 8/1/08 4.7 5,639 $40.00
การทำความสะอาดข้อมูลใน Java

การเพิ่มข้อมูลในชุดข้อมูล

import java.time.LocalDate;
import java.util.Arrays;
import java.util.List;
// Create books with title, publishDate, reviewCount, rating, and price
List<BookSales> books = Arrays.asList(
        new BookSales("Python Crash Course", LocalDate.of(2023, 1, 10),
                      165, 4.8, 30.61),
        new BookSales("The Pragmatic Programmer", LocalDate.of(2019, 9, 13),
                      2521, 4.5, 38.00),
        new BookSales("Clean Code", LocalDate.of(2008, 8, 1),
                      5639, 4.7, 40.00));
การทำความสะอาดข้อมูลใน Java

การคำนวณค่าเฉลี่ย ค่าต่ำสุด และค่าสูงสุด

import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;


public class BookSalesExample { public static void main(String[] args) { // Create stats calculator DescriptiveStatistics stats = new DescriptiveStatistics(); // Add each book's price to stats books.forEach(book -> stats.addValue(book.getPrice())); } }
การทำความสะอาดข้อมูลใน Java

ตัวอย่างผลลัพธ์: ช่วงราคา

System.out.printf("Books analyzed: %d%n", books.size());
Books analyzed: 3
System.out.printf("Average price: $%.2f%n", stats.getMean());
Average price: $36.20
System.out.printf("Price range: $%.2f - $%.2f%n", stats.getMin(), stats.getMax());
Price range: $30.61 - $40.00
การทำความสะอาดข้อมูลใน Java

การคำนวณเปอร์เซ็นไทล์

public class BookSalesExample {
    public static void main(String[] args) {
        // 50th percentile = median
        System.out.printf("Median price: $%.2f%n", stats.getPercentile(50));

System.out.printf("Normal range: $%.2f - $%.2f%n", stats.getPercentile(25), stats.getPercentile(75)); } }
Median price: $38.00

Normal range: $30.61 - $40.00
การทำความสะอาดข้อมูลใน Java

สถิติในฐานะเครื่องมือควบคุมคุณภาพ

  • เมธอดของ DescriptiveStatistics
    • .getMean(): ราคาเฉลี่ย
    • .getMin(), .getMax(): ช่วงราคา
    • .getPercentile(): ราคาทั่วไป
  • ตรวจพบปัญหาโดยดูจากช่วงราคา
  • ประโยชน์
    • ตรวจพบปัญหาได้รวดเร็ว
    • รองรับชุดข้อมูลขนาดใหญ่
    • ทดแทนการตรวจสอบด้วยตนเอง

กองหนังสือ

การทำความสะอาดข้อมูลใน Java

มาฝึกกันเถอะ!

การทำความสะอาดข้อมูลใน Java

Preparing Video For Download...