More Related Content More from Jamie (Taka) Wang More from Jamie (Taka) Wang (20) 20200226 - AI Overview62. More data beats clever algorithms
but better data beats more data
Peter Norvig,
Director of research at Google Inc.
72. IBM Watson
• 90台 Server
• 2880顆 CPU
• 灌入2億
頁
的內容
• 600萬條規則
• 3秒內回答問題
Source:
人
工
智慧新
革
命--超級電腦「華
生
」
124. 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
高
爾夫球場,
人
員管理問題
125. 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
高
爾夫球場,
人
員管理問題
126. # 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))
132. 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. 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 有 不打
天氣 溫度 溫度 濕度 濕度 有風 溫度 有風
部分特徵
134. 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 有 不打
天氣 溫度 溫度 濕度 濕度 有風 溫度 有風
部分特徵
一
堆專家
135. 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 有 不打
天氣 溫度 溫度 濕度 濕度 有風 溫度 有風
部分特徵
一
堆專家
多數決
146. # 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))
147. # 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