Tag: kaggle

  • Kaggle – วิธีการใช้ Logistic Regression บนข้อมูล Iris

    ข้อมูล Iris Dataset มักจะใช้ในการเริ่มต้นศึกษาการใช้งาน เครื่องมือทาง Data Science โดยเฉพาะ Classification เพราะไม่ซับซ้อน มี 4 ฟิลด์ ที่ใช้เป็น Features และมี 1 ฟิลด์ ที่จะเป็น Class (มี 3 Categories)

    1. เริ่มจาก New Kernel
    2. ในที่นี้ เลือก Notebook
    3. จากนั้น เลือก Add Dataset จากที่เค้ามีให้ หรือ จะ Upload ขึ้นไปก็ได้
    4. จากนั้น ข้อมูลของเราจะมาอยู่ที่  ../input/ ในกรณีเรามีไฟล์ ../input/iris.data
      จาก Code ที่ให้มาในเบื้องต้น ให้กดปุ่ม Shift+Enter หรือ กดเครื่องหมาย Run ด้าน ซ้ายมือ ก็จะได้ผลดังนี้
    5. จากนั้น มาเขียน Code กัน เริ่มจาก Import Package ที่ต้องใช้
      import pandas as pd
      import numpy as np
      import seaborn as sns
      import matplotlib.pyplot as plt
      %matplotlib inline
    6. สร้างตัวแปร iris อ่านข้อมูลจากไฟล์
      iris = pd.read_csv('../input/iris.data')
    7. สำรวจข้อมูลเบื้องต้น
      iris.head()
      iris.info()
      iris.describe()
    8. ลองทำ Data Visualization เบื้องต้น ด้วย pairplot แยกตามสีของ species
      sns.pairplot(iris, hue='species')

      หรือ จะดูเป็น scatterplot

      plt.scatter(iris['sepal_length'], iris['sepal_width'], marker='.', color='r')
      plt.xlabel('Sepal Length')
      plt.ylabel('Sepal Width')

    9. ต่อไป เป็นขั้นตอนการแบ่งข้อมูลออกเป็น 2 ส่วน สำหรับ Train และ Test
      from sklearn.model_selection import train_test_split
      X = iris.drop(['species'], axis=1)
      Y = iris['species']
      X_train, X_test, y_train, y_test = train_test_split(X,Y, test_size=0.3)
    10. จากนั้น Train Model
      from sklearn.linear_model import LogisticRegression
      model = LogisticRegression()
      model.fit(X_train, y_train)

    11. แล้วก็ ตรวจสอบความแม่นยำ Model Evaluation
      prediction = model.predict(X_test)
      from sklearn.metrics import confusion_matrix, classification_report, accuracy_score


    ขั้นตอนไม่ยากครับ ส่วนว่าเราจะเลือกใช้ Model ไหน ทำอะไร อันนี้ต้องมาดูรายละเอียดกันต่อครับ

  • Introduction to Kaggle – เรียนรู้การงานด้าน Data Science

    Kaggle เป็นแพลตฟอร์มสำหรับ Predictive Modelling และการแข่งขันด้าน Analytics เพื่อหา Model ที่ดีที่สุดสำหรับ Dataset จากบริษัทและบุคคลทั่วไป [อันนี้ คำอธิบายอย่างเป็นทางการ [1] ]

    กล่าวให้ง่ายกว่านั้น Kaggle เป็นสนามทดลองสำหรับคนที่อยากจะทำงานด้าน Data Science โดย ไม่ต้องนับ 0 จากการติดตั้ง OS, Software โน่นนี่นั่น, Library ต่างๆ แล้วต้อง Configuration ให้ทำงานร่วมกันได้ อีกทั้ง เพียงแค่ สมัคร หรือ Authentication ด้วย Facebook, Google, Yahoo แล้ว สร้าง Profile ของตัวเอง เป็นอันเรียบร้อย หลังจากนั้น เราจะได้ “Kernel” ซึ่งจริง ๆ ก็คือ Virtual Machine ที่พร้อมใช้งาน สเปคเครื่องคือ [2]

    1. 4 CPU
    2. 16 GB RAM
    3. 6 Hours Execution Time
    4. 1 GB of disk space เอาไว้เก็บ Output จากการทำงาน
    5. สามารถใช้ GPU ในการคำนวณได้ด้วย
    6. ติดตั้ง Jupyter Notebook – Interactive Web สำหรับเขียน Code ภาษา Python/R เพื่อวิเคราะห์ข้อมูลได้
    7. สามารถเพิ่ม Collaborator เข้ามาร่วมงานกันได้ด้วย ทั้งในส่วนของ Kernel และ Dataset

    ส่วนต่อไปคือ Dataset ก็จะมีผู้คนทั่วโลกได้ Upload ที่เปิด “Public” ให้พวกเราได้ลองวิเคราะห์กัน รวมถึง เราสามารถนำข้อมูลของเราเอง ขึ้นไปวิเคราะห์ก็ได้ โดยกำหนดให้เป็น “Private” ก็ได้เช่นกัน

    ชนิดของ Dataset ประกอบด้วย

    1. CSV
    2. JSON
    3. SQLite
    4. Archives
    5. BigQuery

    นอกจากนั้น ยังมีส่วนของการเรียนรู้ จาก Learn [3] ให้ศึกษาได้ตั้งแต่ การเขียนโปรแกรมภาษา Python, Machine Learning, Pandas, Data Visualization, SQL, R, Deep Learning

    สรุปคือ จากที่ทดลองทำผิดทำถูกมานานเป็นเวลา 2 ปีกว่า เพื่อ “สร้าง” ระบบของตนเอง (โดยพยายามสร้าง Hadoop Cluster + Spark) และ การศึกษาการเรียนภาษา Python บนเครื่อง Notebook ของตนเอง ซึ่งพบว่า เมื่อมีการประมวลผลหนัก ๆ เครื่อง  Core i5 , 8 GB ก็ยังหน่วง ๆ ไม่ไปไหนมาไหนเลย หลังจากได้ลองใช้ Kaggle ในเวลาไม่นาน ก็เข้าใจ Concept ของ Data Science มากขึ้น

     

    ในบทความต่อ ๆ ไป จะมาแสดงตัวอย่างการใช้งานครับ
    ตอนนี้ ดู Youtube ไปพลาง ๆ

    What’s Kaggle?

    Introduction to Kaggle Kernels

    How to Make a Data Science Project with Kaggle

     

    Reference:

    [1] https://en.wikipedia.org/wiki/Kaggle

    [2] https://www.kaggle.com/docs/kernels

    [3] https://www.kaggle.com/learn/overview