Scikit-Learn¶
Scikit-learn หรือ Sklearn เป็นชุดคำสั่งเสริมที่ใช้ภาษา Python เพื่อเป็นเครื่องมือช่วยสำหรับการประมวลผลข้อมูลและการเรียนรู้ของเครื่อง (machine learning) ทั้งในลักษณะของการจัดแบ่งข้อมูล (preprocessing), การเรียนรู้แบบมีผู้สอน (supervised learning), การเรียนรู้แบบไม่มีผู้สอน (unsupervised learning), และการประเมินผล (model evaluation) ดังนี้
การจัดแบ่งข้อมูล (Preprocessing):¶
ชุดคำสั่งนี้อยู่ในหมวด sklearn.model_selection ซึ่งมีคลาสที่ช่วยอำนวยความสะดวกในการสร้างชุดข้อมูลสำหรับการทดลองต่างได้แก่ KFold, LeaveOneOut, ShuffleSplit, StratifiedKFold, TimeSeriesSplit เป็นต้น
sklearn.model_selection.train_test_split(): ฟังก์ชันอำนวยความสะดวกในการแบ่งข้อมูลเป็นชุดฝึกและชุดทดสอบ
การแปลงข้อมูล
sklearn.preprocessing.StandardScaler(): ทำการปรับข้อมูลให้มี mean เท่ากับ 0 และ standard deviation เท่ากับ 1
sklearn.preprocessing.MinMaxScaler(): ทำการปรับข้อมูลให้อยู่ในช่วง [0, 1]
sklearn.preprocessing.OneHotEncoder(): ทำการแปลงข้อมูล categorical เป็น binary vectors
การเรียนรู้แบบมีผู้สอน (Supervised Learning):¶
Linear Models:¶
sklearn.linear_model.LinearRegression(): สร้างโมเดล Linear Regression
sklearn.linear_model.LogisticRegression(): สร้างโมเดล Logistic Regression
Support Vector Machines (SVM):¶
sklearn.svm.SVC(): สร้างโมเดล Support Vector Classification
sklearn.svm.SVR(): สร้างโมเดล Support Vector Regression
Decision Trees:¶
sklearn.tree.DecisionTreeClassifier(): สร้างโมเดล Decision Tree Classification
sklearn.tree.DecisionTreeRegressor(): สร้างโมเดล Decision Tree Regression
Ensemble Methods:¶
sklearn.ensemble.RandomForestClassifier(): สร้างโมเดล Random Forest Classification
sklearn.ensemble.RandomForestRegressor(): สร้างโมเดล Random Forest Regression
sklearn.ensemble.GradientBoostingClassifier(): สร้างโมเดล Gradient Boosting Classification
การเรียนรู้แบบไม่มีผู้สอน (Unsupervised Learning):¶
Clustering:¶
sklearn.cluster.KMeans(): สร้างโมเดล K-Means Clustering
sklearn.cluster.DBSCAN(): สร้างโมเดล DBSCAN Clustering.
Dimensionality Reduction:¶
sklearn.decomposition.PCA(): ทำ Principal Component Analysis เพื่อลดมิติของข้อมูล
การประเมินผล (Model Evaluation):¶
sklearn.metrics.accuracy_score(): คำนวณความแม่นยำของโมเดล
sklearn.metrics.precision_score(), sklearn.metrics.recall_score(), sklearn.metrics.f1_score(): คำนวณ Precision, Recall, F1 Score
sklearn.metrics.confusion_matrix(): สร้าง Confusion Matrix
Cross-validation:¶
sklearn.model_selection.cross_val_score(): ทำ Cross-validation เพื่อประเมินประสิทธิภาพของโมเดล
Hyperparameter Tuning:¶
sklearn.model_selection.GridSearchCV(): ทำการค้นหา hyperparameter ที่ดีที่สุดจากชุดทดลอง
Pipeline:¶
sklearn.pipeline.Pipeline(): สร้างลำดับขั้นตอนการประมวลผลข้อมูลที่สามารถใช้ได้ต่อเนื่อง
Feature Selection:¶
sklearn.feature_selection.SelectKBest(): เลือกคุณลักษณะที่ดีที่สุดตามกลไกทางสถิติ