Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีโหลดข้อมูลด้วย scikit-learn ใน Python

Scikit-learn (sklearn) เป็นไลบรารี Machine Learning Open Source ใน Python มี Dataset ตัวอย่างในตัว (Built-in Datasets) สำหรับทดสอบและเรียนรู้ เช่น Iris, Breast Cancer, Diabetes, Digits, Wine และอื่นๆ

ข้อมูลเหล่านี้เก็บอยู่ในรูปแบบ Bunch Object (คล้าย Dictionary) มี Attribute หลักๆ ดังนี้:

  • .data - Feature Matrix (X)
  • .target - Target Vector (y)
  • .feature_names - ชื่อฟีเจอร์
  • .target_names - ชื่อคลาสเป้าหมาย
  • .DESCR - คำอธิบายชุดข้อมูล

ตัวอย่างโค้ด


from sklearn.datasets import load_iris

my_data = load_iris()
X = my_data.data
y = my_data.target
feature_name = my_data.feature_names
target_name = my_data.target_names

print("Feature names are : ", feature_name)
print("Target names are : ", target_name)
print("\nFirst 8 rows of the dataset are : \n", X[:8])

ผลลัพธ์


Feature names are : ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
Target names are : ['setosa' 'versicolor' 'virginica']
First 8 rows of the dataset are :
[[5.1 3.5 1.4 0.2]
 [4.9 3.  1.4 0.2]
 [4.7 3.2 1.3 0.2]
 [4.6 3.1 1.5 0.2]
 [5.  3.6 1.4 0.2]
 [5.4 3.9 1.7 0.4]
 [4.6 3.4 1.4 0.3]
 [5.  3.4 1.5 0.2]]

คำอธิบาย

  • นำเข้า load_iris จาก sklearn.datasets

  • โหลดข้อมูล Iris (150 ตัวอย่าง, 4 ฟีเจอร์, 3 คลาส)

  • แยก Features (X) และ Target (y)

  • ดึงชื่อฟีเจอร์และชื่อคลาส

  • แสดง 8 แถวแรกของข้อมูล

Dataset ยอดนิยมอื่นๆ ใน sklearn.datasets

ฟังก์ชันคำอธิบาย
load_breast_cancer()ข้อมูลวินิจฉัยมะเร็งเต้านม (Classification)
load_diabetes()ข้อมูลโรคเบาหวาน (Regression)
load_digits()ภาพตัวเลข 8x8 (Classification)
load_wine()ข้อมูลไวน์ (Classification)
fetch_california_housing()ราคาบ้านแคลิฟอร์เนีย (Regression)
fetch_openml()ดาวน์โหลดจาก OpenML (หลายชุด)

หมายเหตุ: สำหรับข้อมูลจริง ควรใช้ pandas.read_csv() หรือ read_parquet() โหลดจากไฟล์แทน