iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 18
0
AI & Data

AI&Machine Learning系列 第 18

(不專業的AI介紹) 機器學習-Machine-Learning -> 打磚塊 Machine-Learning Day 18

  • 分享至 

  • xImage
  •  

本文將會介紹打磚塊 Machine-Learning 上會運用到的相關功能。

Frame = []
Status = []
Ballposition = []
PlatformPosition = []
Bricks = []

for i in range(0,len(data_list1)):
    Frame.append(data_list1[i].frame)
    Status.append(data_list1[i].status)
    Ballposition.append(data_list1[i].ball)
    PlatformPosition.append(data_list1[i].platform)
    Bricks.append(data_list1[i].bricks)

for i in range(0,len(data_list2)):
    Frame.append(data_list2[i].frame)
    Status.append(data_list2[i].status)
    Ballposition.append(data_list2[i].ball)
    PlatformPosition.append(data_list2[i].platform)
    Bricks.append(data_list2[i].bricks)

for i in range(0,len(data_list3)):
    Frame.append(data_list3[i].frame)
    Status.append(data_list3[i].status)
    Ballposition.append(data_list3[i].ball)
    PlatformPosition.append(data_list3[i].platform)
    Bricks.append(data_list3[i].bricks)

上面程式碼是將,我們抓下來的資料將存入訓練的Data中,再將這個Data放入 Sklearn 來分類做訓練,但是這個部分就要非常注意,因為你抓下來的資料可能是失敗的,所以必須要在資料中做個分析,但是現在本人的資料分析有點狀況,有點不方便貼上,我這邊會再度做一次修改,會再進行跟各位介紹。

當分析完畢以及放入的資料如果是正確的,那就可以將資料利用 Sklearn 來做分類及訓練。

from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test = train_test_split(x, y, test_size = 0.2, random_state = 41)

from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
knn = KNeighborsClassifier(n_neighbors= 3)

knn.fit(x_train,y_train)

yknn_bef_scaler = knn.predict(x_test)
acc_knn_bef_scaler = accuracy_score(yknn_bef_scaler,y_test)


from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(x_train)
x_train_stdnorm = scaler.transform(x_train)
knn.fit(x_train_stdnorm,y_train)
x_test_stdnorm = scaler.transform(x_test)
yknn_aft_scaler = knn.predict(x_test_stdnorm)
acc_knn_aft_scaler = accuracy_score(yknn_aft_scaler,y_test)

以上程式碼就是利用 sklearn 方式進行分類動作,利用KNN形式來做分類,並且利用 Accuracy_score 精確度處理,再將資料分成訓練以及測試資料,這個比例的分配也要看自己的資料狀況,有些可以訓練多,有些可以訓練少,這個要依照每個人資料狀況而定。

那麼以上為不專業的AI介紹,謝謝各位觀看,那我們下篇見~~~


上一篇
(不專業的AI介紹) 機器學習-Machine-Learning -> 打磚塊 Machine-Learning 起步 Day 17
下一篇
(不專業的AI介紹) 機器學習-Machine-Learning -> 打磚塊 Machine-Learning Day19
系列文
AI&Machine Learning30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言