การทำ Classification เพื่อใช้ในการทำนายผลของสิ่งที่เราต้องการจะรู้

หมวดสำหรับแบ่งบันความ รู้ต่างๆ จะมีหมวดย่อยๆ ในหมวดนี้ เช่น php, SQL, XML, CSS

Moderator: mindphp, ผู้ดูแลกระดาน

rangsan
PHP Hero Member
PHP Hero Member
โพสต์: 199
ลงทะเบียนเมื่อ: 30/04/2018 9:44 am

การทำ Classification เพื่อใช้ในการทำนายผลของสิ่งที่เราต้องการจะรู้

โพสต์โดย rangsan » 07/05/2018 6:33 pm

Classification

ในส่วนนี้จะเป็นการทำ 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)


ผลลัพธ์ที่ได้
Decision_model.png
Decision_model.png (230.09 KiB) เปิดดู 209 ครั้ง



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
It’s never too late to start again.

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 16 และ บุคคลทั่วไป 0 ท่าน