เป็นคำที่นิยมใช้ในขณะนี้ สิ่งที่น่าทึ่งบางอย่างกำลังดำเนินการด้วยความช่วยเหลือของแมชชีนเลิร์นนิง จากการเป็น ผู้ช่วยส่วนตัว ในการตัดสินใจของเรา เส้นทางการเดินทาง ช่วยเราซื้อของช่วยเหลือเราในการดำเนินธุรกิจดูแลของเรา สุขภาพและความกินดีอยู่ดี, แมชชีนเลิร์นนิงถูกรวมเข้ากับการดำรงอยู่ประจำวันของเราในระดับพื้นฐานดังกล่าวโดยส่วนใหญ่เราไม่รู้ด้วยซ้ำว่าเรากำลังพึ่งพามัน ในบทความนี้เราจะทำตามแนวทางของผู้เริ่มต้นในการใช้ตัวจำแนกการเรียนรู้ของเครื่องมาตรฐานใน Python
- ภาพรวมของ Machine Learning
- เทมเพลตสำหรับ Machine Learning Classifiers
- ปัญหาการจำแนกประเภทการเรียนรู้ของเครื่อง
ภาพรวมของ Machine Learning
การเรียนรู้ของเครื่องเป็นแนวคิดที่ช่วยให้เครื่องสามารถเรียนรู้จากตัวอย่างและประสบการณ์ได้โดยไม่ต้องตั้งโปรแกรมไว้อย่างชัดเจน ดังนั้นแทนที่จะเขียนโค้ดสิ่งที่คุณทำคือคุณป้อนข้อมูลไปยังอัลกอริทึมทั่วไปและอัลกอริทึม / เครื่องจะสร้างตรรกะตามข้อมูลที่กำหนด
การเรียนรู้ของเครื่องเกี่ยวข้องกับความสามารถของเครื่องจักรในการตัดสินใจประเมินผลลัพธ์ของการกระทำและปรับปรุงพฤติกรรมเพื่อให้ได้ผลลัพธ์ที่ดีขึ้นอย่างต่อเนื่อง
c เทียบกับ c ++ กับ java
กระบวนการเรียนรู้เกิดขึ้นในสามวิธีหลัก ๆ
- การเรียนรู้ภายใต้การดูแล
- การเรียนรู้ที่ไม่ได้รับการดูแล
- การเรียนรู้เสริมแรง
เทมเพลตสำหรับ Machine Learning Classifiers
เครื่องมือแมชชีนเลิร์นนิงมีให้อย่างสะดวกสบายในไลบรารี Python ที่มีชื่อว่า scikit-learn ซึ่งเข้าถึงและใช้งานได้ง่ายมาก
ติดตั้ง scikit-learn ผ่านพรอมต์คำสั่งโดยใช้:
pip ติดตั้ง -U scikit-learn
หากคุณเป็นผู้ใช้อนาคอนดาคุณสามารถใช้คำสั่งอนาคอนดาในพรอมต์:
conda ติดตั้ง scikit-learn
การติดตั้งจำเป็นต้องติดตั้งแพ็คเกจ NumPy และ SciPy ก่อนในระบบของคุณ
การประมวลผลล่วงหน้า: ขั้นตอนแรกและจำเป็นที่สุดในการวิเคราะห์ข้อมูลโดยใช้แมชชีนเลิร์นนิงคือส่วนก่อนการประมวลผล การนำเสนออย่างถูกต้องและการทำความสะอาดข้อมูลเป็นสิ่งสำคัญอย่างยิ่งสำหรับโมเดล ML ในการฝึกอบรมที่ดีและดำเนินการตามศักยภาพ
ขั้นตอนที่ 1 - นำเข้าไลบรารีที่จำเป็น
import numpy เป็น np import pandas เป็น pd import matplotlib.pyplot เป็น plt
ขั้นตอนที่ 2 - นำเข้าชุดข้อมูล
ชุดข้อมูล = pd.read_csv ()
จากนั้นเราแบ่งชุดข้อมูลออกเป็นตัวแปรอิสระและตัวแปรตาม ตัวแปรอิสระต้องเป็นข้อมูลอินพุตและตัวแปรตามคือข้อมูลเอาต์พุต
X = dataset.iloc []. values y = dataset.iloc []. values
ขั้นตอนที่ 3 - จัดการข้อมูลที่ขาดหายไป
ชุดข้อมูลอาจมีค่าว่างหรือค่าว่างซึ่งอาจทำให้เกิดข้อผิดพลาดในผลลัพธ์ของเรา ดังนั้นเราต้องจัดการกับรายการดังกล่าว แนวทางปฏิบัติทั่วไปคือการแทนที่ค่า null ด้วยค่าร่วมเช่นค่าเฉลี่ยหรือค่าที่พบบ่อยที่สุดในคอลัมน์นั้น
จาก sklearn.preprocessing import Imputer imputer = Imputer (missing_values = 'NaN', strategy = 'mean', axis = 0) imputer = imputer.fit (X []) X [] = imputer.transform (X [])
ขั้นตอนที่ 4 - แปลงตัวแปรตามหมวดหมู่เป็นตัวแปรตัวเลข
from sklearn.preprocessing import LabelEncoder le_X = LabelEncoder () X [] = le_X.fit_transform (X []) labelencoder_y = LabelEncoder () y = labelencoder_y.fit_transform (y)
ตอนนี้หลังจากการเข้ารหัสอาจเกิดขึ้นได้ว่าเครื่องถือว่าข้อมูลตัวเลขเป็นการจัดอันดับสำหรับคอลัมน์ที่เข้ารหัส ดังนั้นเพื่อให้มีน้ำหนักเท่ากันเราต้องแปลงตัวเลขเป็นเวกเตอร์หนึ่งฮ็อตโดยใช้คลาส OneHotEncoder
เงินเดือนนักพัฒนา java ในอินเดีย
จาก sklearn.preprocessing นำเข้า OneHotEncoder oneHE = OneHotEncoder (ประเภทของคุณลักษณะ = []) X = oneHE.fit_transform (X) .toarray ()
ขั้นตอนที่ 5 - ทำการปรับขนาด
ขั้นตอนนี้คือการจัดการกับความคลาดเคลื่อนที่เกิดจากมาตราส่วนที่ไม่ตรงกันของตัวแปร ดังนั้นเราจึงปรับขนาดให้อยู่ในช่วงเดียวกันเพื่อให้รับน้ำหนักเท่ากันในขณะที่ป้อนข้อมูลให้กับแบบจำลอง เราใช้ออบเจ็กต์ของคลาส StandardScaler เพื่อจุดประสงค์นี้
จาก sklearn.preprocessing import StandardScaler sc_X = StandardScaler () X = sc_X.fit_transform (X)
ขั้นตอนที่ 6 - แยกชุดข้อมูลออกเป็นข้อมูลการฝึกอบรมและการทดสอบ
ในขั้นตอนสุดท้ายของการประมวลผลล่วงหน้าชุดข้อมูลจะต้องถูกแบ่งออกเป็นชุดฝึกและชุดทดสอบ อัตราส่วนมาตรฐานของการแยกทดสอบรถไฟคือ 75% -25% เราสามารถปรับเปลี่ยนได้ตามความต้องการ ฟังก์ชัน train_test_split () สามารถทำสิ่งนี้ให้เราได้
จาก sklearn.model_selection นำเข้า train_test_split X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0.25)
การสร้างแบบจำลอง: ขั้นตอนนี้ค่อนข้างง่าย เมื่อเราตัดสินใจว่าจะใช้โมเดลใดกับข้อมูลแล้วเราสามารถสร้างออบเจ็กต์ของคลาสที่สอดคล้องกันและปรับให้พอดีกับอ็อบเจ็กต์ในชุดการฝึกของเราโดยพิจารณา X_train เป็นอินพุตและ y_train เป็นเอาต์พุต
จาก sklearn นำเข้าลักษณนาม = () classifier.fit (X_train, y_train)
ขณะนี้โมเดลได้รับการฝึกฝนและพร้อมแล้ว ตอนนี้เราสามารถใช้โมเดลของเรากับชุดทดสอบและค้นหาผลลัพธ์ที่คาดคะเนได้
y_pred = classifier.predict (X_test)
การดูผลลัพธ์: ประสิทธิภาพของลักษณนามสามารถประเมินได้จากพารามิเตอร์ของความแม่นยำความแม่นยำการเรียกคืนและคะแนน f1 ค่าเหล่านี้สามารถเห็นได้โดยใช้วิธีการที่เรียกว่าการจัดหมวดหมู่_report () t ยังสามารถมองว่าเป็นเมทริกซ์ความสับสนที่ช่วยให้เราทราบว่ามีข้อมูลประเภทใดบ้างที่ถูกจัดประเภทอย่างถูกต้อง
จาก sklearn.metrics นำเข้าความสับสน _matrix cm = ความสับสน (y_test, y_pred) พิมพ์ (ซม.) จาก sklearn.metrics การนำเข้าการจัดประเภท_report target_names = [] พิมพ์ (การจัดหมวดหมู่_report (y_test, y_pred, target_names = target_names))
ปัญหาตัวจำแนกการเรียนรู้ของเครื่อง
เราจะใช้ชุดข้อมูล Iris ที่เป็นที่นิยมและเรียบง่ายซึ่งมีขนาดของดอกไม้ใน 3 ประเภท ได้แก่ Iris-setosa, Iris-versicolor และ Iris-virginica มี 150 รายการในชุดข้อมูล
# การนำเข้าไลบรารีจะนำเข้า numpy เป็นการนำเข้า np matplotlib.pyplot เป็น plt นำเข้าแพนด้าเป็น pd # การนำเข้าชุดข้อมูลชุดข้อมูล = pd.read_csv ('iris.csv')
ให้เราดูชุดข้อมูลตอนนี้
dataset.head ()
เรามีตัวแปรอิสระ 4 ตัว (ไม่รวม Id) ได้แก่ คอลัมน์หมายเลข 1-4 และคอลัมน์ 5 เป็นตัวแปรตาม เราจึงแยกมันออกมาได้
X = dataset.iloc [:, 1: 5] .values y = dataset.iloc [:, 5] .values
ตอนนี้เราสามารถแยกชุดข้อมูลออกเป็นการฝึกอบรมและการทดสอบ
# การแยกชุดข้อมูลลงในชุดการฝึกอบรมและชุดทดสอบจาก sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0.25)
ตอนนี้เราจะใช้ลักษณนาม Logistic Regression กับชุดข้อมูล
# การสร้างและฝึกโมเดลจาก sklearn.linear_model import LogisticRegression classifier = LogisticRegression () classifier.fit (X_train, y_train) # การทำนายผลชุดทดสอบ y_pred = classifier.predict (X_test)
ขั้นตอนสุดท้ายจะเป็นการวิเคราะห์ประสิทธิภาพของแบบจำลองที่ได้รับการฝึกฝน
อะไรคือความแตกต่างระหว่างคลาสนามธรรมและอินเทอร์เฟซ?
# การสร้าง Confusion Matrix จาก sklearn.metrics การนำเข้าความสับสน _matrix cm = ความสับสน _matrix (y_test, y_pred) พิมพ์ (ซม.)
สิ่งนี้แสดงให้เราเห็นว่า 13 รายการในประเภทแรก 11 รายการที่สองและ 9 จากประเภทที่สามได้รับการทำนายอย่างถูกต้องโดยแบบจำลอง
# การสร้างความแม่นยำความแม่นยำการเรียกคืนและคะแนน f1 จากการจัดหมวดหมู่การนำเข้า sklearn.metrics_report target_names = ['Iris-setosa', 'Iris-versicolor', 'Iris-virginica'] พิมพ์ (การจัดประเภทรายงาน (y_test, y_pred, target_names = target_names) )
รายงานแสดงค่าความแม่นยำการเรียกคืนค่า f1 และค่าความแม่นยำของแบบจำลองในชุดทดสอบของเราซึ่งประกอบด้วย 38 รายการ (25% ของชุดข้อมูล)
ขอแสดงความยินดีคุณได้สร้างและใช้งานตัวจำแนกแมชชีนเลิร์นนิงเครื่องแรกใน Python สำเร็จแล้ว! เพื่อรับความรู้เชิงลึกเกี่ยวกับ พร้อมกับแอพพลิเคชั่นต่างๆคุณสามารถลงทะเบียนสำหรับการฝึกอบรมออนไลน์ Python แบบสดพร้อมการสนับสนุนตลอด 24 ชั่วโมงทุกวัน