[Part 1] การใช้งาน Google colab เบื้องต้น , ติดตั้ง Environment , เตรียมข้อมูล และ วิเคราะห์ข้อมูลเบื้องต้น
[Part 2] วิเคราะห์ข้อมูล, ตั้งสมมติฐาน และเลือกโมเดล
[Part 3] แก้ไขข้อมูล และสร้างข้อมูลใหม่
[Part 4] Data visualization
[Part 5] การคัดเลือกข้อมูล จะดรอปอะไรออกไปดีนะ?
[Part 6] การทำ Labelencoder
[Part 7] เตรียมข้อมูลเพื่อ Fit model
[Part 8] Training Model
[Part 9] Training Model แบบหลายๆ Model

เย้……!! นี่ก็เป็นบทความสุดท้ายแล้ววววว จากที่ผ่านๆมาเราคงเข้าใจไปเยอะแล้ว เดี๋ยวบทความนี้ก็ไม่มีอะไรมากครับ เรามาทดลองเทรนหลายๆโมเดลไปพร้อมๆกันดูครับ

  1. เริ่มจาก Import กันเลยครับ
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.metrics import accuracy_score
from sklearn.metrics import classification_report,confusion_matrix
from sklearn.naive_bayes import MultinomialNB
from sklearn.naive_bayes import BernoulliNB
from sklearn.naive_bayes import ComplementNB
from sklearn.naive_bayes import GaussianNB
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn import tree

ก็ลองๆเลือกโมเดลดูนะครับ อันนี้เป็นตัวที่ผมเลือกๆมาคร่าวๆครับ

2. แยกข้อมูลออกเป็น X_train, X_test, y_train และ y_test

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3,random_state=100)

3. เรียกใช้โมเดล

modelMNB = MultinomialNB()
modelCNB = ComplementNB()
modelBNB = BernoulliNB()
modelGNB = GaussianNB()
modelGBC = GradientBoostingClassifier()
modelRFC = RandomForestClassifier(n_estimators = 50, criterion = 'entropy', random_state = 22)
modelDTC = tree.DecisionTreeClassifier(criterion='entropy')

4. Fit model

modelMNB.fit(X_train,y_train)
modelCNB.fit(X_train,y_train)
modelBNB.fit(X_train,y_train)
modelGNB.fit(X_train,y_train)
modelGBC.fit(X_train,y_train)
modelRFC.fit(X_train,y_train)
modelDTC.fit(X_train,y_train)

5.ลอง Predict ดูครับ

y_predMNB = modelMNB.predict(X_test)
y_predCNB = modelCNB.predict(X_test)
y_predBNB = modelBNB.predict(X_test)
y_predGNB = modelGNB.predict(X_test)
y_predGBC = modelGBC.predict(X_test)
y_predRFC = modelRFC.predict(X_test)
y_predDTC = modelDTC.predict(X_test)

6. หา Accuracy score เป็นอันว่าจบครับ

print("Accuracy MultinomialNB:",accuracy_score(y_test, y_predMNB))
print("Accuracy ComplementNB:",accuracy_score(y_test, y_predCNB))
print("Accuracy BernoulliNB:",accuracy_score(y_test, y_predBNB))
print("Accuracy GaussianNB:",accuracy_score(y_test, y_predGNB))
print("Accuracy GradientBoosting:",accuracy_score(y_test, y_predGBC))
print("Accuracy RandomForest:",accuracy_score(y_test, y_predRFC))
print("Accuracy DecisionTree:",accuracy_score(y_test, y_predDTC))

เราก็มาลองเลือกดูครับว่าอันไหนได้เยอะสุด ก็ใช้กันนั้นครับ

เดี๋ยวเรามาลองพลอตกราฟเล่นๆกันครับ

  1. จัดเรียงข้อมูล และสร้างตารางใหม่
# initialize list of lists
data = [['MultinomialNB', accuracy_score(y_test, y_predMNB)], ['ComplementNB', accuracy_score(y_test, y_predCNB)], ['BernoulliNB', accuracy_score(y_test, y_predBNB)],['GaussianNB', accuracy_score(y_test, y_predGNB)]
,['GradientBoosting', accuracy_score(y_test, y_predGBC)],['RandomForest', accuracy_score(y_test, y_predRFC)],['DecisionTree', accuracy_score(y_test, y_predDTC)]
]
# Create the pandas DataFrame
result = pd.DataFrame(data, columns = ['Model', 'Accuracy'])
# print dataframe.
result = result.sort_values(by=['Accuracy'], ascending=False)
result

2. Plot เลยครับ

plt.figure(figsize=(12,5))
sns.barplot(result.Accuracy,result.Model, alpha=0.8 )
plt.title('Performance of models', fontsize=18)
plt.ylabel('Model', fontsize=16)
plt.xlabel('Accuracy', fontsize=16)
plt.show()

ก็จะเห็นว่า GradientBoosting มาเป็นอันดับหนึ่ง ตามที่เราคาดไว้ ใน Part ที่ 8 กันจริงๆครับ ก็ขอจบการ Workshop เพียงเท่านี้นะครับ หวังว่าคงจะเป็นประโยชน์ไม่มาก ก็น้อยครับ ขอบคุณค้าบบบบบ

จบแล้วจ้าาาา…

[Part 1] การใช้งาน Google colab เบื้องต้น , ติดตั้ง Environment , เตรียมข้อมูล และ วิเคราะห์ข้อมูลเบื้องต้น
[Part 2] วิเคราะห์ข้อมูล, ตั้งสมมติฐาน และเลือกโมเดล
[Part 3] แก้ไขข้อมูล และสร้างข้อมูลใหม่
[Part 4] Data visualization
[Part 5] การคัดเลือกข้อมูล จะดรอปอะไรออกไปดีนะ?
[Part 6] การทำ Labelencoder
[Part 7] เตรียมข้อมูลเพื่อ Fit model
[Part 8] Training Model
[Part 9] Training Model แบบหลายๆ Model

สามารถเข้าไปดูไฟล์ Workshop ได้ที่นี่เลยยครับ >>>
https://colab.research.google.com/drive/1P09Xd-UKIrP_jQiDD43vdX91tGtd9JVX