1)特徵工程
2)train和test資料分割
3)模型訓練
4)**
5)交叉驗證
6)搜尋最優引數
我們以處理鳶花尾資料為例進行學習
首先是載入項
from __future__ import print_function
# 預先配置好的鳶尾花資料集
from sklearn.datasets import load_iris
# 交叉驗證,將訓練集重複分配,防止分配和測試訓練集的方法問題導致對模型訓練的影響
from sklearn.cross_validation import train_test_split
# 最近臨分配器做**
from sklearn.neighbors import kneighborsclassifier
# 做乙個特徵工程,將特徵兩兩組合,擴充出來更多的特徵
from sklearn.preprocessing import polynomialfeatures
第一步 特徵工程
# 載入資料集
# 資料集每一列代表花瓣,花萼的長度和寬度
iris = load_iris(
)# 花的資料特徵
x = iris.data
# **的花的類別
y = iris.target
print
(x,y)
# degree = 2,將任意兩個特徵做兩兩組合
# 做特徵工程,擴充現有的屬性,幫助做後續**
poly = polynomialfeatures(3)
x_poly = poly.fit_transform(x)
print
(x_poly)
第二步
# x_train,y_train用於訓練模型,x_test,y_test用於做測試
# x_train,x_test,y_train,y_test = train_test_split(x,y,random_state = 4)
x_train,x_test,y_train,y_test = train_test_split(x_poly,y,random_state =
4)
第三步
# 最近鄰,設定乙個步長(這裡設定為5),計算距離當前點最近的5個鄰居點
# 類別佔比最高點的即認為是當前點為最佳**
knn = kneighborsclassifier(n_neighbors =5)
knn.fit(x_train,y_train)
第四步
# y_pred是**值,y_test是真實值
y_pred = knn.predict(x_test)
print
(y_pred)
print
(y_test)
# **值越貼近真實值,說明誤差越低,分類器效果越好
print
(knn.score(x_test,y_test)
)
第五步
from sklearn.cross_validation import cross_val_score
knn = kneighborsclassifier(n_neighbors =5)
scores = cross_val_score(knn,x,y,cv =
5,scoring =
'accuracy'
)print
(scores)
第六步
from sklearn.cross_validation import cross_val_score
import matplotlib.pyplot as plt
k_range =
range(1
,31)k_scores =
# 對k值分別進行實驗,選擇結果較好的
for k in k_range:
knn = kneighborsclassifier(n_neighbors = k)
scores = cross_val_score(knn,x,y,cv =
10,scoring =
'accuracy'))
)# print(k_scores)
plt.plot(k_range,k_scores)
plt.xlabel(
'value of k for knn'
)plt.ylabel(
'cross-validated accuracy'
)# 得分高的引數較優
plt.show(
)
機器學習初步了解
重點內容 對機器學習的理解,所謂機器學習,就是機器從資料中學習,機器從資料中學出規律,然後運用到新的資料中,在機器學習中,前者稱為訓練集,後者稱為測試集。學機器學習,我們第乙個往往學的是線性回歸 linear regression 在這裡,我從吳恩達教授講的例子說起,吳恩達講的是乙個房屋 與面積的關...
人工智慧基礎 機器學習初步了解
今天學的機器學習部分,做一些總結 機器學習的一般過程 機器學習方法 有監督學習 supervised learning 從給定的有標註的訓練資料集中學習出一 個函式 模型引數 當新的資料到來時可以根據這個函式 結果。常見任務包 括分類與回歸。分類 輸出是類別標籤 回歸 輸出是實數 無監督學習 uns...
深度學習初步了解
深度學習興起,源於以下3個方面 傳統機器學習在處理原始形態的自然資料方面存在很大的侷限性。它需要技藝高超的工程師和經驗豐富的領域專家設計特徵提取器,將原始資料轉化為合適的中間表示形式或特徵向量,學習子系統,即分類器,然後對輸入模型進行檢測或分類。而深度學習較傳統機器學習的一大優勢是 它不需要人工設計...