Scikit Learn - การเป็นตัวแทนข้อมูล

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

ข้อมูลเป็นตาราง

วิธีที่ดีที่สุดในการแสดงข้อมูลใน Scikit-learn คือในรูปแบบของตาราง ตารางแสดงถึงตารางข้อมูล 2 มิติโดยแถวแสดงถึงองค์ประกอบแต่ละส่วนของชุดข้อมูลและคอลัมน์แสดงปริมาณที่เกี่ยวข้องกับแต่ละองค์ประกอบ

ตัวอย่าง

จากตัวอย่างด้านล่างเราสามารถดาวน์โหลดได้ iris dataset ในรูปแบบของ Pandas DataFrame ด้วยความช่วยเหลือของ python seaborn ห้องสมุด.

import seaborn as sns
iris = sns.load_dataset('iris')
iris.head()

เอาต์พุต

sepal_length sepal_width petal_length petal_width  species
0        5.1      3.5         1.4             0.2   setosa
1        4.9      3.0         1.4             0.2   setosa
2        4.7      3.2         1.3             0.2   setosa
3        4.6      3.1         1.5             0.2   setosa
4        5.0      3.6         1.4             0.2   setosa

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

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

ข้อมูลเป็นเมทริกซ์คุณลักษณะ

เมทริกซ์คุณสมบัติอาจถูกกำหนดให้เป็นเค้าโครงตารางที่ข้อมูลสามารถคิดได้ว่าเป็นเมทริกซ์ 2 มิติ มันถูกเก็บไว้ในตัวแปรชื่อXและถือว่าเป็นสองมิติที่มีรูปร่าง [n_samples, n_features] ส่วนใหญ่จะมีอยู่ในอาร์เรย์ NumPy หรือ Pandas DataFrame ดังที่ได้บอกไปก่อนหน้านี้ตัวอย่างจะแสดงถึงวัตถุแต่ละชิ้นที่อธิบายโดยชุดข้อมูลเสมอและคุณลักษณะจะแสดงถึงการสังเกตที่แตกต่างกันซึ่งอธิบายแต่ละตัวอย่างในเชิงปริมาณ

ข้อมูลเป็นอาร์เรย์เป้าหมาย

นอกจากเมทริกซ์คุณสมบัติที่แสดงด้วย X แล้วเรายังมีอาร์เรย์เป้าหมาย เรียกอีกอย่างว่าฉลาก แสดงโดย y เลเบลหรืออาร์เรย์เป้าหมายมักเป็นมิติเดียวที่มีความยาว n_samples โดยทั่วไปจะมีอยู่ใน NumPyarray หรือนุ่น Series. อาร์เรย์เป้าหมายอาจมีทั้งค่าตัวเลขต่อเนื่องและค่าไม่ต่อเนื่อง

อาร์เรย์เป้าหมายแตกต่างจากคอลัมน์คุณลักษณะอย่างไร

เราสามารถแยกแยะทั้งสองจุดได้ว่าอาร์เรย์เป้าหมายมักจะเป็นปริมาณที่เราต้องการทำนายจากข้อมูลเช่นในเชิงสถิติมันเป็นตัวแปรตาม

ตัวอย่าง

ในตัวอย่างด้านล่างจากชุดข้อมูลไอริสเราทำนายชนิดของดอกไม้ตามการวัดอื่น ๆ ในกรณีนี้คอลัมน์ Species จะถือเป็นคุณลักษณะ

import seaborn as sns
iris = sns.load_dataset('iris')
%matplotlib inline
import seaborn as sns; sns.set()
sns.pairplot(iris, hue='species', height=3);

เอาต์พุต

X_iris = iris.drop('species', axis=1)
X_iris.shape
y_iris = iris['species']
y_iris.shape

เอาต์พุต

(150,4)
(150,)