ในส่วนนี้จะเป็นการทำ Classification บน Jupyter Notebook การทำ Classification นั้นเป็นการทำเรานำเอาข้อมูลที่เรามีมาเพื่อทำนายในสิ่งต่าง ๆที่เราต้องการจะรู้ซึ่งผลที่ได้ออกมานั้นอาจจะไม่ได้เป็นจริงเสมอไปเนื่องจากการทำนายนี้เกิดจากการที่เรานำเอาข้อมูลเก่าๆ มาเพื่อทำนาย Model ที่ใช้ในการทำนายที่นำมานั้นมีทั้งหมด 3 แบบด้วยกัน
1. Decision Tree Model
2. Naïve bayes Model
3. SVM Model
Decision Tree Model เป็น Model ที่ใช้ในการทำนายชุดข้อมูลและสามารถทำให้ข้อมูลเหล่านั้นออกมาในรูปแบบโครงสร้างเพื่อให้เข้าใจถึงข้อมูลเหล่านั้นได้ง่ายขึ้น
ขั้นตอนการทำ Decision Tree Model
โค้ดตัวอย่างการสร้างเพื่อทำนายข้อมูล
โค้ด: เลือกทั้งหมด
X_train = X[['outlook','temperature','humidity','windy']]
y_train = X['play']
from sklearn.tree import DecisionTreeClassifier
dt_clf = DecisionTreeClassifier()
dt_clf.fit(X_train, y_train)
ตัวอย่างการทำโครงสร้างข้อมูล ใน Jupyter Notebook โดยใช้ Decision Tree
โค้ด: เลือกทั้งหมด
feature_names = ['outlook','temperature','humidity','windy']
class_names = ['no','yes']
import os
from io import StringIO
from sklearn.tree import export_graphviz
dot_data = StringIO()
export_graphviz(clf, out_file=dot_data,
feature_names=feature_names,
class_names=class_names,
filled=True, rounded=True,
special_characters=True)
import pydotplus
from IPython.display import Image
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
Image(graph.create_png(), retina=True)
Naïve bayes Model เป็น Model ที่ใช้ในการทำนายข้อมูลต่าง ๆ คล้าย ๆ Decision Tree แต่ไม่สามารถทำโครงร้างได้
ตัวอย่างการทำ Naïve bayes Model
การสร้างเพื่อทำนายข้อมูล
โค้ด: เลือกทั้งหมด
X_train = X[['outlook','temperature','humidity','windy']]
y_train = X['play']
from sklearn.naive_bayes import GaussianNB
nb_clf = GaussianNB()
nb_clf.fit(X_train, y_train)
SVM Model เป็น Model ที่ สามารถทำนายข้อมูลได้เหมือนกับทั้ง 2 Model ด้านบนแต่ SVM นั้นสามารถนำมา Plot กราฟได้ในส่วนของการทำเส้นแบ่งข้อมูลเพื่อที่จะเห็นภาพความต่างของข้อมูลมากยิ่งขึ้น
ตัวอย่างโค้ดการทำ SVM Model
การสร้างเพื่อทำนายข้อมูล
โค้ด: เลือกทั้งหมด
X_train = X[['outlook','temperature','humidity','windy']]
y_train = X['play']
from sklearn.svm import SVC
svm_clf = SVC()
svm_clf.fit(X_train, y_train)
อ้างอิง : classroom.google.com