หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
การขึ้นต่อกันของฟังก์ชันการทํางานคือความสัมพันธ์ระหว่างคอลัมน์ในตาราง ที่ใช้ค่าในหนึ่งคอลัมน์เพื่อกําหนดค่าในคอลัมน์อื่น การทําความเข้าใจการขึ้นต่อกันเหล่านี้สามารถช่วยให้คุณเปิดเผยรูปแบบและความสัมพันธ์ในข้อมูลของคุณ ซึ่งจะช่วยในการวิศวกรรมคุณลักษณะ การทําความสะอาดข้อมูล และงานการสร้างแบบจําลองตามลําดับ การขึ้นต่อกันทํางานทํางานทําหน้าที่เป็นผู้ไม่แปรปรวนที่มีประสิทธิภาพซึ่งช่วยให้คุณสามารถค้นหาและแก้ไขปัญหาคุณภาพของข้อมูลที่อาจยากที่จะตรวจจับได้
ในบทความนี้ คุณใช้ลิงก์เชิงความหมายเพื่อ:
- ค้นหาการขึ้นต่อกันระหว่างคอลัมน์ของ FabricDataFrame
- ทำให้การขึ้นต่อกันมองเห็นได้
- ระบุปัญหาคุณภาพของข้อมูล
- แสดงภาพปัญหาคุณภาพของข้อมูล
- บังคับใช้ข้อจํากัดการทํางานระหว่างคอลัมน์ในชุดข้อมูล
ข้อกำหนดเบื้องต้น
รับการสมัครใช้งาน Microsoft Fabric หรือลงทะเบียนเพื่อทดลองใช้งาน Microsoft Fabric ฟรี
ลงชื่อเข้าใช้ Microsoft Fabric
สลับไปยัง Fabric โดยใช้ตัวสลับประสบการณ์ที่ด้านซ้ายล่างของโฮมเพจของคุณ
- ไปยังประสบการณ์วิทยาศาสตร์ข้อมูลที่พบใน Microsoft Fabric
- สร้าง สมุดบันทึก ใหม่เพื่อคัดลอก/วางรหัสลงในเซลล์
- สําหรับ Spark 3.4 และสูงกว่า ลิงก์ความหมายจะพร้อมใช้งานในรันไทม์เริ่มต้นเมื่อใช้ Fabric และไม่จําเป็นต้องติดตั้ง ถ้าคุณกําลังใช้ Spark 3.3 หรือต่ํากว่า หรือถ้าคุณต้องการอัปเดตเป็นลิงก์ความหมายเวอร์ชันล่าสุด คุณสามารถเรียกใช้คําสั่งได้:
python %pip install -U semantic-link - เพิ่มเลคเฮาส์ลงในสมุดบันทึกของคุณ
สําหรับ Spark 3.4 และสูงกว่า ลิงก์ความหมายจะพร้อมใช้งานในรันไทม์เริ่มต้นเมื่อใช้ Fabric และไม่จําเป็นต้องติดตั้ง ถ้าคุณใช้ Spark 3.3 หรือต่ํากว่า หรือถ้าคุณต้องการอัปเดตเป็นลิงก์ความหมายเวอร์ชันล่าสุด ให้เรียกใช้คําสั่งนี้:
%pip install -U semantic-link
ค้นหาการขึ้นต่อกันของฟังก์ชันในข้อมูล
ฟังก์ชัน SemPy find_dependencies ตรวจหาการขึ้นต่อกันของการทํางานระหว่างคอลัมน์ของ FabricDataFrame ฟังก์ชันนี้ใช้เกณฑ์ของเอนโทรปีแบบมีเงื่อนไขเพื่อค้นหาการพึ่งพาการทํางานโดยประมาณ โดยที่เอนโทรปีแบบมีเงื่อนไขต่ําบ่งชี้ถึงการพึ่งพาที่แข็งแกร่งระหว่างคอลัมน์ เพื่อให้ find_dependencies ฟังก์ชันมีการเลือกมากขึ้น คุณสามารถตั้งค่าเกณฑ์ที่ต่ํากว่าของเอนโทรปีแบบมีเงื่อนไขได้ เกณฑ์ที่ต่ํากว่าหมายความว่าจะตรวจพบเฉพาะการพึ่งพาที่แข็งแกร่งกว่าเท่านั้น
ข้อมูลโค้ด 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 ในคอลัมน์ใดคอลัมน์หนึ่งจะถูกตัดออกจากการประเมิน ซึ่งอาจส่งผลให้เกิดการขึ้นต่อกันที่ไม่ใช่แบบไม่จํากัด ดังที่แสดงในตัวอย่างนี้:
| ท | B | C |
|---|---|---|
| 1 | 1 | 1 |
| 1 | 1 | 1 |
| 1 | NaN | 9 |
| 2 | NaN | 2 |
| 2 | 2 | 2 |
ในบางกรณี ห่วงโซ่การขึ้นต่อกันสามารถสร้างวงจรเมื่อคุณระบุ dropna=True ตัวเลือก ดังที่แสดงในตัวอย่างนี้:
| ท | 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 (ขึ้นต่อกัน) หากชุดข้อมูลมีปัญหาคุณภาพข้อมูล - ตัวอย่างเช่น รหัสไปรษณีย์เดียวกันที่กําหนดให้กับหลายเมือง - ฟังก์ชันจะแสดงข้อมูลที่มีปัญหา:
| ซิป | เมือง | จำนวน |
|---|---|---|
| 12345 | บอสตัน | 2 |
| 12345 | ซี แอ ตเทิล | 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 (ขึ้นต่อกัน) สําหรับแต่ละค่าของตัวกําหนด ค่าที่พบบ่อยที่สุดของการขึ้นต่อกันจะถูกเลือก และแถวทั้งหมดที่มีค่าอื่น จะถูกลบทิ้งไป ตัวอย่างเช่น เมื่อกําหนดชุดข้อมูลนี้ แถวที่มี CITY=Seattle จะถูกลดลง และ ZIP -> CITY ที่ขึ้นต่อกันทํางานอยู่ในผลลัพธ์:
| ซิป | เมือง |
|---|---|
| 12345 | ซี แอ ตเทิล |
| 12345 | บอสตัน |
| 12345 | บอสตัน |
| 98765 | บัลติมอร์ |
| 00000 | ซานฟรานซิสโก |
ฟังก์ชัน drop_dependency_violations มีตัวเลือกใน verbose การควบคุมความฟุบย่อยของเอาต์พุต ด้วยการตั้งค่า verbose=1คุณสามารถดูจํานวนแถวที่ทิ้งไปได้
verbose=2ค่าแสดงเนื้อหาแถวทั้งหมดของแถวที่ปล่อยไว้
ฟังก์ชัน drop_dependency_violations สามารถบังคับใช้ข้อจํากัดฟังก์ชันระหว่างคอลัมน์ในชุดข้อมูลของคุณ ซึ่งสามารถช่วยปรับปรุงคุณภาพของข้อมูลและนําไปสู่ผลลัพธ์ที่ถูกต้องมากขึ้นในการวิเคราะห์หรือแบบจําลองของคุณ อย่างไรก็ตาม คุณต้องพิจารณาบริบทของข้อมูลของคุณและข้อจํากัดด้านการทํางานที่คุณเลือกที่จะบังคับใช้อย่างรอบคอบ เพื่อให้แน่ใจว่าคุณไม่ได้นําข้อมูลที่มีค่าออกจากชุดข้อมูลของคุณโดยไม่ได้ตั้งใจ