More Related Content More from Jamie (Taka) Wang (20) ***AI*** overview59. More data beats clever algorithms
but better data beats more data
Peter Norvig,
Director of research at Google Inc.
68. IBM Watson
• 90台 Server
• 2880顆 CPU
• 灌入2億⾴的內容
• 600萬條規則
• 3秒內回答問題
Source: ⼈⼯智慧新⾰命--超級電腦「華⽣」
111. Decision Tree (決策樹)
天氣 溫度 濕度 有風 打球嗎
1 晴天 85 85 沒有 不打
2 晴天 80 90 有
不打
3 陰天 83 78 沒有 打
4 雨天 70 96 沒有 打
5 雨天 68 80 沒有 打
6 雨天 65 70 有
不打
7 陰天 64 65 有
打
8 晴天 72 95 沒有 不打
9 晴天 69 70 沒有 打
10 雨天 75 80 沒有 打
11 晴天 75 70 有
打
12 陰天 72 90 有
打
13 陰天 81 75 沒有 打
14 雨天 71 80 有 不打
Source: Wiki
⾼爾夫球場,⼈員管理問題
112. Decision Tree (決策樹)
天氣 溫度 濕度 有風 打球嗎
1 晴天 85 85 沒有 不打
2 晴天 80 90 有
不打
3 陰天 83 78 沒有 打
4 雨天 70 96 沒有 打
5 雨天 68 80 沒有 打
6 雨天 65 70 有
不打
7 陰天 64 65 有
打
8 晴天 72 95 沒有 不打
9 晴天 69 70 沒有 打
10 雨天 75 80 沒有 打
11 晴天 75 70 有
打
12 陰天 72 90 有
打
13 陰天 81 75 沒有 打
14 雨天 71 80 有 不打
天氣
(9/5)
濕度
(2/3)
有風
打球
(4/0)
陰天 雨天晴天
打球
(3/0)
不打
(0/2)
打球
(2/0)
不打
(0/3)
<=70 >70 有 沒有
Source: Wiki
⾼爾夫球場,⼈員管理問題
113. # imports
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
# prepare dataset
iris = load_iris()
X = iris.data
Y = iris.target
# split
seed = 7
test_size = 0.33
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=test_size, random_state=seed)
# training
model = DecisionTreeClassifier(max_depth=2)
model.fit(X_train, y_train)
# prediction
y_pred = model.predict(X_test)
predictions = [round(value) for value in y_pred]
# evaluation
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: %.2f%%" % (accuracy * 100.0))
119. Random Forest (隨機森林)天氣 溫度 濕度 有風 打球嗎
1 晴天 85 85 沒有 不打
2 晴天 80 90 有
不打
3 陰天 83 78 沒有 打
4 雨天 70 96 沒有 打
5 雨天 68 80 沒有 打
6 雨天 65 70 有
不打
7 陰天 64 65 有
打
8 晴天 72 95 沒有 不打
9 晴天 69 70 沒有 打
10 雨天 75 80 沒有 打
11 晴天 75 70 有
打
12 陰天 72 90 有
打
13 陰天 81 75 沒有 打
14 雨天 71 80 有 不打
120. Random Forest (隨機森林)天氣 溫度 濕度 有風 打球嗎
1 晴天 85 85 沒有 不打
2 晴天 80 90 有
不打
3 陰天 83 78 沒有 打
4 雨天 70 96 沒有 打
5 雨天 68 80 沒有 打
6 雨天 65 70 有
不打
7 陰天 64 65 有
打
8 晴天 72 95 沒有 不打
9 晴天 69 70 沒有 打
10 雨天 75 80 沒有 打
11 晴天 75 70 有
打
12 陰天 72 90 有
打
13 陰天 81 75 沒有 打
14 雨天 71 80 有 不打
天氣 溫度 溫度 濕度 濕度 有風 溫度 有風
部分特徵
121. Random Forest (隨機森林)天氣 溫度 濕度 有風 打球嗎
1 晴天 85 85 沒有 不打
2 晴天 80 90 有
不打
3 陰天 83 78 沒有 打
4 雨天 70 96 沒有 打
5 雨天 68 80 沒有 打
6 雨天 65 70 有
不打
7 陰天 64 65 有
打
8 晴天 72 95 沒有 不打
9 晴天 69 70 沒有 打
10 雨天 75 80 沒有 打
11 晴天 75 70 有
打
12 陰天 72 90 有
打
13 陰天 81 75 沒有 打
14 雨天 71 80 有 不打
天氣 溫度 溫度 濕度 濕度 有風 溫度 有風
部分特徵
⼀堆專家
122. Random Forest (隨機森林)天氣 溫度 濕度 有風 打球嗎
1 晴天 85 85 沒有 不打
2 晴天 80 90 有
不打
3 陰天 83 78 沒有 打
4 雨天 70 96 沒有 打
5 雨天 68 80 沒有 打
6 雨天 65 70 有
不打
7 陰天 64 65 有
打
8 晴天 72 95 沒有 不打
9 晴天 69 70 沒有 打
10 雨天 75 80 沒有 打
11 晴天 75 70 有
打
12 陰天 72 90 有
打
13 陰天 81 75 沒有 打
14 雨天 71 80 有 不打
天氣 溫度 溫度 濕度 濕度 有風 溫度 有風
部分特徵
⼀堆專家
多數決
133. # imports
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
# prepare dataset
iris = load_iris()
X = iris.data
Y = iris.target
# split
seed = 7
test_size = 0.33
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=test_size, random_state=seed)
# training
model = DecisionTreeClassifier(max_depth=2)
model.fit(X_train, y_train)
# prediction
y_pred = model.predict(X_test)
predictions = [round(value) for value in y_pred]
# evaluation
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: %.2f%%" % (accuracy * 100.0))
134. # imports
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
# prepare dataset
iris = load_iris()
X = iris.data
Y = iris.target
# split
seed = 7
test_size = 0.33
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=test_size, random_state=seed)
# training
model = DecisionTreeClassifier(max_depth=2)
model.fit(X_train, y_train)
# prediction
y_pred = model.predict(X_test)
predictions = [round(value) for value in y_pred]
# evaluation
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: %.2f%%" % (accuracy * 100.0))
model = XGBClassifier()
from xgboost import XGBClassifier