ตรวจหา สํารวจ และตรวจสอบการขึ้นต่อกันของฟังก์ชันในข้อมูลของคุณ โดยใช้ลิงก์ความหมาย
การขึ้นต่อกันของฟังก์ชันการทํางานคือความสัมพันธ์ระหว่างคอลัมน์ในตาราง ที่ใช้ค่าในหนึ่งคอลัมน์เพื่อกําหนดค่าในคอลัมน์อื่น การทําความเข้าใจการขึ้นต่อกันเหล่านี้สามารถช่วยให้คุณเปิดเผยรูปแบบและความสัมพันธ์ในข้อมูลของคุณ ซึ่งอาจเป็นประโยชน์สําหรับวิศวกรรมคุณลักษณะ การทําความสะอาดข้อมูล และการสร้างแบบจําลอง การขึ้นต่อกันทํางานทํางานทําหน้าที่เป็นผู้ไม่แปรปรวนที่มีประสิทธิภาพซึ่งช่วยให้คุณสามารถค้นหาและแก้ไขปัญหาคุณภาพของข้อมูลที่อาจยากที่จะตรวจจับได้
ในบทความนี้ คุณจะใช้ลิงก์ความหมายเพื่อ:
- ค้นหาการขึ้นต่อกันระหว่างคอลัมน์ของ FabricDataFrame
- ทำให้การขึ้นต่อกันมองเห็นได้
- ระบุปัญหาคุณภาพของข้อมูล
- แสดงภาพปัญหาคุณภาพของข้อมูล
- บังคับใช้ข้อจํากัดการทํางานระหว่างคอลัมน์ในชุดข้อมูล
ข้อกำหนดเบื้องต้น
รับการสมัครใช้งาน Microsoft Fabric หรือลงทะเบียนเพื่อทดลองใช้งาน Microsoft Fabric ฟรี
ลงชื่อเข้าใช้ Microsoft Fabric
ใช้ตัวสลับประสบการณ์ทางด้านซ้ายของโฮมเพจของคุณเพื่อสลับไปยังประสบการณ์วิทยาศาสตร์ข้อมูล Synapse
- ไปยังประสบการณ์ด้านวิทยาศาสตร์ข้อมูลใน Microsoft Fabric
- สร้าง สมุดบันทึก ใหม่เพื่อคัดลอก/วางรหัสลงในเซลล์
- สําหรับ Spark 3.4 และสูงกว่า ลิงก์ความหมายจะพร้อมใช้งานในรันไทม์เริ่มต้นเมื่อใช้ Fabric และไม่จําเป็นต้องติดตั้ง ถ้าคุณกําลังใช้ Spark 3.3 หรือต่ํากว่า หรือถ้าคุณต้องการอัปเดตเป็นลิงก์ความหมายเวอร์ชันล่าสุด คุณสามารถเรียกใช้คําสั่งได้:
python %pip install -U semantic-link
- เพิ่มเลคเฮาส์ลงในสมุดบันทึกของคุณ สําหรับ Spark 3.4 และสูงกว่า ลิงก์ความหมายจะพร้อมใช้งานในรันไทม์เริ่มต้นเมื่อใช้ Fabric และไม่จําเป็นต้องติดตั้ง ถ้าคุณกําลังใช้ Spark 3.3 หรือต่ํากว่า หรือถ้าคุณต้องการอัปเดตเป็นลิงก์ความหมายเวอร์ชันล่าสุด คุณสามารถเรียกใช้คําสั่งได้:
python %pip install -U semantic-link
ค้นหาการขึ้นต่อกันของฟังก์ชันในข้อมูล
ฟังก์ชัน find_dependencies
ใน SemPy ตรวจพบการขึ้นต่อกันระหว่างคอลัมน์ของ FabricDataFrame
ฟังก์ชันนี้ใช้ค่าเกณฑ์บน entropy แบบมีเงื่อนไขเพื่อค้นหาการขึ้นต่อกันของฟังก์ชันโดยประมาณ ซึ่ง entropy แบบมีเงื่อนไขต่ําแสดงการขึ้นต่อกันที่แข็งแกร่งระหว่างคอลัมน์
เพื่อทําให้ find_dependencies
ฟังก์ชันเลือกได้มากขึ้น คุณสามารถตั้งค่าขีดจํากัดที่ต่ํากว่าบน entropy แบบมีเงื่อนไขได้ ค่าเกณฑ์ที่ต่ํากว่าหมายความว่าระบบจะตรวจพบเฉพาะการขึ้นต่อกันที่แข็งแกร่งเท่านั้น
ส่วนย่อยของโค้ด Python ต่อไปนี้สาธิตวิธีใช้find_dependencies
from sempy.fabric import FabricDataFrame
from sempy.dependencies import plot_dependency_metadata
import pandas as pd
df = FabricDataFrame(pd.read_csv("your_data.csv"))
deps = df.find_dependencies()
ฟังก์ชัน find_dependencies
ส่งกลับ FabricDataFrame ที่มีการขึ้นต่อกันที่ตรวจพบระหว่างคอลัมน์
คอลัมน์ที่มีการแมปแบบ 1:1 จะแสดงเป็นรายการ
ฟังก์ชันนี้ยังพยายามตัดส่วนที่ขึ้นต่อกันโดยการลบ ขอบแบบโปร่งแสง
เมื่อคุณระบุ dropna=True
ตัวเลือก แถวที่มีค่า NaN ในคอลัมน์ใดคอลัมน์หนึ่งจะถูกตัดออกจากการประเมิน
ซึ่งอาจส่งผลให้มีการขึ้นต่อกันที่ไม่ตรงกัน ดังในตัวอย่างต่อไปนี้:
A | B | C |
---|---|---|
1 | 1 | 1 |
1 | 1 | 1 |
1 | NaN | 9 |
2 | NaN | 2 |
2 | 2 | 2 |
ในบางกรณี ห่วงโซ่การขึ้นต่อกันสามารถสร้างวงจรเมื่อคุณระบุ dropna=True
ตัวเลือก ดังที่แสดงในตัวอย่างต่อไปนี้:
A | B | C |
---|---|---|
1 | 1 | NaN |
2 | 1 | NaN |
NaN | 1 | 1 |
NaN | 2 | 1 |
1 | NaN | 1 |
1 | NaN | 2 |
แสดงภาพการอ้างอิงในข้อมูล
หลังจากค้นหาการขึ้นต่อกันของฟังก์ชันในชุดข้อมูล (โดยใช้ find_dependencies
) คุณสามารถแสดงภาพการอ้างอิง โดยใช้ plot_dependency_metadata
ฟังก์ชัน
ฟังก์ชันนี้นําผลลัพธ์ FabricDataFrame มา find_dependencies
และสร้างการแสดงภาพของการขึ้นต่อกันระหว่างคอลัมน์และกลุ่มของคอลัมน์
ส่วนย่อยของโค้ด Python ต่อไปนี้สาธิตวิธีใช้plot_dependencies
from sempy.fabric import FabricDataFrame
from sempy.dependencies import plot_dependency_metadata
from sempy.samples import download_synthea
download_synthea(which='small')
df = FabricDataFrame(pd.read_csv("synthea/csv/providers.csv"))
deps = df.find_dependencies()
plot_dependency_metadata(deps)
ฟังก์ชัน plot_dependency_metadata
จะสร้างการแสดงภาพที่แสดงการจัดกลุ่ม 1:1 ของคอลัมน์
คอลัมน์ที่อยู่ในกลุ่มเดียวจะถูกวางลงในเซลล์เดียว หากไม่พบผู้สมัครที่เหมาะสม จะส่งกลับ FabricDataFrame ที่ว่างเปล่า
ระบุปัญหาคุณภาพของข้อมูล
ปัญหาคุณภาพของข้อมูลอาจเกิดขึ้นได้ในรูปแบบต่างๆ เช่น ค่าที่ขาดหายไป ความไม่สอดคล้องกัน หรือความไม่ถูกต้อง การระบุและแก้ไขปัญหาเหล่านี้เป็นสิ่งสําคัญในการสร้างความน่าเชื่อถือและความถูกต้องของการวิเคราะห์หรือแบบจําลองใด ๆ ที่สร้างขึ้นบนข้อมูล วิธีหนึ่งในการตรวจหาปัญหาคุณภาพของข้อมูลคือ การตรวจสอบการละเมิดการขึ้นต่อกันของการทํางานระหว่างคอลัมน์ในชุดข้อมูล
ฟังก์ชัน list_dependency_violations
สามารถช่วยให้คุณระบุการละเมิดการขึ้นต่อกันของการทํางานระหว่างคอลัมน์ในชุดข้อมูล
เมื่อกําหนดคอลัมน์ที่กําหนดและคอลัมน์แบบขึ้นต่อกัน ฟังก์ชันนี้แสดงค่าที่ละเมิดการขึ้นต่อกันของฟังก์ชัน พร้อมกับจํานวนครั้งที่เกี่ยวข้อง
ซึ่งอาจเป็นประโยชน์สําหรับการตรวจสอบการขึ้นต่อกันโดยประมาณและการระบุปัญหาคุณภาพของข้อมูล
รหัสต่อไปนี้แสดงตัวอย่างของวิธีการใช้ list_dependency_violations
ฟังก์ชัน:
from sempy.fabric import FabricDataFrame
from sempy.samples import download_synthea
download_synthea(which='small')
df = FabricDataFrame(pd.read_csv("synthea/csv/providers.csv"))
violations = df.list_dependency_violations(determinant_col="ZIP", dependent_col="CITY")
ในตัวอย่างนี้ ฟังก์ชันจะสันนิษฐานว่ามีการอ้างอิงฟังก์ชันการทํางานระหว่างคอลัมน์ ZIP (ตัวกําหนด) และ CITY (ขึ้นต่อกัน) หากชุดข้อมูลมีปัญหาคุณภาพข้อมูล เช่น รหัสไปรษณีย์เดียวกันที่กําหนดให้กับหลายเมือง ฟังก์ชันจะแสดงค่าที่ละเมิด:
ZIP | CITY | จำนวน |
---|---|---|
12345 | บอสตัน | 2 |
12345 | Seattle | 1 |
ผลลัพธ์นี้แสดงว่ารหัสไปรษณีย์เดียวกัน (12345) แนบมากับเมืองที่แตกต่างกันสองเมือง (บอสตันและซีแอตเทิล) โดยแนะนําปัญหาคุณภาพของข้อมูลภายในชุดข้อมูล
ฟังก์ชัน list_dependency_violations
มีตัวเลือกเพิ่มเติมสําหรับการจัดการค่าที่ขาดหายไป ซึ่งแสดงค่าที่แมปเพื่อละเมิดค่า จํากัดจํานวนของการละเมิดที่ส่งกลับและเรียงลําดับผลลัพธ์ตามคอลัมน์จํานวนหรือคอลัมน์ที่กําหนด
ผลลัพธ์ของ list_dependency_violations
สามารถช่วยระบุปัญหาคุณภาพของข้อมูลในชุดข้อมูลของคุณได้
อย่างไรก็ตาม จําเป็นต้องตรวจสอบผลลัพธ์อย่างรอบคอบและพิจารณาบริบทของข้อมูลของคุณเพื่อกําหนดแนวทางที่เหมาะสมที่สุดสําหรับการแก้ไขปัญหาที่ระบุ
หลักสูตรของการดําเนินการนี้อาจเกี่ยวข้องกับการทําความสะอาดข้อมูลเพิ่มเติม การตรวจสอบความถูกต้อง หรือการสํารวจเพื่อให้แน่ใจว่ามีความน่าเชื่อถือและความถูกต้องของการวิเคราะห์หรือแบบจําลองของคุณ
แสดงภาพปัญหาคุณภาพของข้อมูล
ปัญหาคุณภาพของข้อมูลอาจส่งผลเสียต่อความน่าเชื่อถือและความถูกต้องของการวิเคราะห์หรือแบบจําลองใด ๆ ที่สร้างขึ้นบนข้อมูล การระบุและแก้ไขปัญหาเหล่านี้เป็นสิ่งสําคัญเพื่อให้มั่นใจถึงความแม่นยําของผลลัพธ์ของคุณ วิธีหนึ่งในการตรวจหาปัญหาคุณภาพของข้อมูลคือ การตรวจสอบการละเมิดการขึ้นต่อกันของการทํางานระหว่างคอลัมน์ในชุดข้อมูล การแสดงภาพการละเมิดเหล่านี้สามารถทําให้เข้าใจปัญหาได้ดียิ่งขึ้นและช่วยให้คุณแก้ไขปัญหาได้อย่างมีประสิทธิภาพมากขึ้น
ฟังก์ชัน plot_dependency_violations
สามารถช่วยแสดงภาพการละเมิดการขึ้นต่อกันของการทํางานระหว่างคอลัมน์ในชุดข้อมูล
เมื่อกําหนดคอลัมน์ที่กําหนดและคอลัมน์แบบขึ้นต่อกัน ฟังก์ชันนี้แสดงค่าที่ละเมิดในรูปแบบกราฟิก ทําให้ง่ายต่อการทําความเข้าใจลักษณะและขอบเขตของปัญหาคุณภาพของข้อมูล
รหัสต่อไปนี้แสดงตัวอย่างของวิธีการใช้ plot_dependency_violations
ฟังก์ชัน:
from sempy.fabric import FabricDataFrame
from sempy.dependencies import plot_dependency_violations
from sempy.samples import download_synthea
download_synthea(which='small')
df = FabricDataFrame(pd.read_csv("synthea/csv/providers.csv"))
df.plot_dependency_violations(determinant_col="ZIP", dependent_col="CITY")
ในตัวอย่างนี้ ฟังก์ชันจะสันนิษฐานว่ามีการขึ้นต่อกันของฟังก์ชันระหว่างคอลัมน์ ZIP (ตัวกําหนด) และ CITY (ขึ้นต่อกัน) หากชุดข้อมูลมีปัญหาคุณภาพของข้อมูล เช่น รหัสไปรษณีย์เดียวกันที่กําหนดให้กับหลายเมือง ฟังก์ชันจะสร้างกราฟของค่าที่ละเมิด
ฟังก์ชัน plot_dependency_violations
มีตัวเลือกเพิ่มเติมสําหรับการจัดการค่าที่ขาดหายไป ซึ่งแสดงค่าที่แมปเพื่อละเมิดค่า จํากัดจํานวนของการละเมิดที่ส่งกลับและเรียงลําดับผลลัพธ์ตามคอลัมน์จํานวนหรือคอลัมน์ที่กําหนด
การแสดงภาพที่สร้างขึ้นโดย plot_dependency_violations
สามารถช่วยให้คุณระบุปัญหาคุณภาพของข้อมูลในชุดข้อมูลของคุณและทําความเข้าใจลักษณะและขอบเขตของปัญหาได้
ด้วยการตรวจสอบกราฟ คุณจะได้รับข้อมูลเชิงลึกในความสัมพันธ์ระหว่างคอลัมน์ที่กําหนดและขึ้นต่อกัน และระบุข้อผิดพลาดที่อาจเกิดขึ้นหรือความไม่สอดคล้องกันในข้อมูลของคุณ
บังคับใช้ข้อจํากัดการทํางาน
คุณภาพของข้อมูลเป็นสิ่งสําคัญสําหรับการรับประกันความน่าเชื่อถือและความถูกต้องของการวิเคราะห์หรือแบบจําลองใด ๆ ที่สร้างขึ้นบนชุดข้อมูล วิธีหนึ่งในการปรับปรุงคุณภาพข้อมูลคือการบังคับใช้ข้อจํากัดด้านการทํางานระหว่างคอลัมน์ในชุดข้อมูล ข้อจํากัดด้านการทํางานสามารถช่วยให้แน่ใจว่าความสัมพันธ์ระหว่างคอลัมน์มีความสอดคล้องกันและแม่นยํา ซึ่งอาจนําไปสู่ผลลัพธ์ที่แม่นยํามากขึ้นในการวิเคราะห์หรือแบบจําลองของคุณ
ฟังก์ชัน drop_dependency_violations
สามารถช่วยบังคับใช้ข้อจํากัดการทํางานระหว่างคอลัมน์ในชุดข้อมูลโดยการวางแถวที่ละเมิดข้อจํากัดที่กําหนด
โดยกําหนดคอลัมน์ที่กําหนดและคอลัมน์แบบขึ้นต่อกัน ฟังก์ชันนี้จะลบแถวที่มีค่าที่ไม่เป็นไปตามข้อจํากัดฟังก์ชันระหว่างสองคอลัมน์
รหัสต่อไปนี้แสดงตัวอย่างของวิธีการใช้ drop_dependency_violations
ฟังก์ชัน:
from sempy.fabric import FabricDataFrame
from sempy.samples import download_synthea
download_synthea(which='small')
df = FabricDataFrame(pd.read_csv("synthea/csv/providers.csv"))
cleaned_df = df.drop_dependency_violations(determinant_col="ZIP", dependent_col="CITY")
ในตัวอย่างนี้ ฟังก์ชันจะบังคับใช้ข้อจํากัดฟังก์ชันระหว่างคอลัมน์ ZIP (ตัวกําหนด) และคอลัมน์ CITY (ขึ้นต่อกัน) สําหรับแต่ละค่าของตัวกําหนด ค่าที่พบบ่อยที่สุดของการขึ้นต่อกันจะถูกเลือก และแถวทั้งหมดที่มีค่าอื่น จะถูกลบทิ้งไป ตัวอย่างเช่น กําหนดชุดข้อมูลต่อไปนี้:
ZIP | CITY |
---|---|
12345 | Seattle |
12345 | บอสตัน |
12345 | บอสตัน |
98765 | Baltimore |
00000 | ซานฟรานซิสโก |
แถวที่มี CITY=Seattle จะถูกลดลง และการขึ้นต่อกันของฟังก์ชันการทํางานของ ZIP -> CITY จะถูกเก็บไว้ในเอาต์พุต
ฟังก์ชัน drop_dependency_violations
มีตัวเลือก verbose
สําหรับการควบคุมความทึบของเอาต์พุต ด้วยการตั้งค่า verbose=1
คุณสามารถดูจํานวนแถวที่ลดลงและ verbose=2
ช่วยให้คุณเห็นเนื้อหาแถวทั้งหมดของแถวที่ลดลง
ด้วยการใช้ drop_dependency_violations
ฟังก์ชัน คุณสามารถบังคับใช้ข้อจํากัดในการทํางานระหว่างคอลัมน์ในชุดข้อมูลของคุณ ซึ่งสามารถช่วยปรับปรุงคุณภาพของข้อมูลและนําไปสู่ผลลัพธ์ที่แม่นยํามากขึ้นในการวิเคราะห์หรือแบบจําลองของคุณ
อย่างไรก็ตาม เป็นเรื่องสําคัญที่ต้องพิจารณาบริบทของข้อมูลของคุณอย่างรอบคอบ และข้อจํากัดด้านการทํางานที่คุณเลือกเพื่อบังคับใช้เพื่อให้แน่ใจว่าคุณไม่ได้เอาข้อมูลที่มีค่าออกจากชุดข้อมูลของคุณโดยไม่ได้ตั้งใจ