初步了解機器學習

2021-10-03 07:25:22 字數 2518 閱讀 3132

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個方面 傳統機器學習在處理原始形態的自然資料方面存在很大的侷限性。它需要技藝高超的工程師和經驗豐富的領域專家設計特徵提取器,將原始資料轉化為合適的中間表示形式或特徵向量,學習子系統,即分類器,然後對輸入模型進行檢測或分類。而深度學習較傳統機器學習的一大優勢是 它不需要人工設計...