แชร์ผ่าน


ตรวจหา สํารวจ และตรวจสอบการขึ้นต่อกันของฟังก์ชันในข้อมูลของคุณ โดยใช้ลิงก์ความหมาย

การขึ้นต่อกันของฟังก์ชันการทํางานคือความสัมพันธ์ระหว่างคอลัมน์ในตาราง ที่ใช้ค่าในหนึ่งคอลัมน์เพื่อกําหนดค่าในคอลัมน์อื่น การทําความเข้าใจการขึ้นต่อกันเหล่านี้สามารถช่วยให้คุณเปิดเผยรูปแบบและความสัมพันธ์ในข้อมูลของคุณ ซึ่งอาจเป็นประโยชน์สําหรับวิศวกรรมคุณลักษณะ การทําความสะอาดข้อมูล และการสร้างแบบจําลอง การขึ้นต่อกันทํางานทํางานทําหน้าที่เป็นผู้ไม่แปรปรวนที่มีประสิทธิภาพซึ่งช่วยให้คุณสามารถค้นหาและแก้ไขปัญหาคุณภาพของข้อมูลที่อาจยากที่จะตรวจจับได้

ในบทความนี้ คุณจะใช้ลิงก์ความหมายเพื่อ:

  • ค้นหาการขึ้นต่อกันระหว่างคอลัมน์ของ FabricDataFrame
  • ทำให้การขึ้นต่อกันมองเห็นได้
  • ระบุปัญหาคุณภาพของข้อมูล
  • แสดงภาพปัญหาคุณภาพของข้อมูล
  • บังคับใช้ข้อจํากัดการทํางานระหว่างคอลัมน์ในชุดข้อมูล

ข้อกำหนดเบื้องต้น

  • ไปยังประสบการณ์ด้านวิทยาศาสตร์ข้อมูลใน 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 ที่ว่างเปล่า

สกรีนช็อตที่แสดงผลลัพธ์ของฟังก์ชัน plot_dependencies

ระบุปัญหาคุณภาพของข้อมูล

ปัญหาคุณภาพของข้อมูลอาจเกิดขึ้นได้ในรูปแบบต่างๆ เช่น ค่าที่ขาดหายไป ความไม่สอดคล้องกัน หรือความไม่ถูกต้อง การระบุและแก้ไขปัญหาเหล่านี้เป็นสิ่งสําคัญในการสร้างความน่าเชื่อถือและความถูกต้องของการวิเคราะห์หรือแบบจําลองใด ๆ ที่สร้างขึ้นบนข้อมูล วิธีหนึ่งในการตรวจหาปัญหาคุณภาพของข้อมูลคือ การตรวจสอบการละเมิดการขึ้นต่อกันของการทํางานระหว่างคอลัมน์ในชุดข้อมูล

ฟังก์ชัน 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 สามารถช่วยให้คุณระบุปัญหาคุณภาพของข้อมูลในชุดข้อมูลของคุณและทําความเข้าใจลักษณะและขอบเขตของปัญหาได้ ด้วยการตรวจสอบกราฟ คุณจะได้รับข้อมูลเชิงลึกในความสัมพันธ์ระหว่างคอลัมน์ที่กําหนดและขึ้นต่อกัน และระบุข้อผิดพลาดที่อาจเกิดขึ้นหรือความไม่สอดคล้องกันในข้อมูลของคุณ

สกรีนช็อตที่แสดงผลลัพธ์ของฟังก์ชัน 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 ฟังก์ชัน คุณสามารถบังคับใช้ข้อจํากัดในการทํางานระหว่างคอลัมน์ในชุดข้อมูลของคุณ ซึ่งสามารถช่วยปรับปรุงคุณภาพของข้อมูลและนําไปสู่ผลลัพธ์ที่แม่นยํามากขึ้นในการวิเคราะห์หรือแบบจําลองของคุณ อย่างไรก็ตาม เป็นเรื่องสําคัญที่ต้องพิจารณาบริบทของข้อมูลของคุณอย่างรอบคอบ และข้อจํากัดด้านการทํางานที่คุณเลือกเพื่อบังคับใช้เพื่อให้แน่ใจว่าคุณไม่ได้เอาข้อมูลที่มีค่าออกจากชุดข้อมูลของคุณโดยไม่ได้ตั้งใจ