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,)