機器學習入門 Iris問題

2021-08-15 12:29:47 字數 1979 閱讀 6866

iris是乙個經典的機器學習入門資料集,本片部落格將講述如何使用該資料集,用極其簡單的**來實現乙個簡單的機器學習的例子。

本文適合有一丟丟python基礎的同學學習

實驗需求:安裝好anaconda(這傢伙自帶了很多科學計算的module,是機器學習必備神器)

本資料集可在**: 檢視,當然匯入資料集並不需要這麼麻煩,稍後會講解。

預備知識

機器學習的步驟大致分為3步:

1、匯入資料集

2、通過資料集建立決策樹

3、使用資料進行**

準備工作:

首先開啟anaconda的spyder,並新建python檔案準備寫**。

正式開始:

from sklearn.datasets import load_iris

iris = load_iris()

這時資料集已經儲存到變數iris中了,iris是什麼型別呢?

type(iris)輸出為sklearn.utils.bunch

資料集中共有資料150組,花的品種共有三種,每一朵花的特徵有四個,每乙個品種的資料分別都是50組。

這時我們需要從資料集中選出3組資料,用來最後的測試,且這3組資料不用來作為決策樹的訓練資料,僅用於最後的測試。

**如下:

import numpy as np

from sklearn.datasets import load_iris

iris = load_iris()

#test_idx是測試資料的下標

test_idx = [0,50,100]

#訓練資料,train_target是結果,train_data是特徵

train_target = np.delete(iris.target, test_idx)

train_data = np.delete(iris.data, test_idx, axis=0)

#測試資料

test_target = iris.target[test_idx]

test_data = iris.data[test_idx]

接下來就是建立決策樹了

import numpy as np

from sklearn.datasets import load_iris

from sklearn import tree

iris = load_iris()

test_idx = [0,50,100]

#training data

train_target = np.delete(iris.target, test_idx)

train_data = np.delete(iris.data, test_idx, axis=0)

#testing data

test_target = iris.target[test_idx]

test_data = iris.data[test_idx]

#建立決策樹

clf = tree.decisiontreeclassifier()

clf.fit(train_data,train_target)

決策樹建立好後,我們就可以來測試機器學習的正確性如何了,因此在最後加上如下兩行**:

print(test_target)

print(clf.predict(test_data))

第一行**用來輸出測試資料的正確結果,第二行**輸出決策樹學習之後**的結果

最後的輸出是:

[012]

[012]

**成功!!

源**檢視:

機器學習iris資料集匯入

iris資料集在模式識別研究領域應該是最知名的資料集了,有很多文章都用到這個資料集。這個資料集裡一共包括150行記錄,其中前四列為花萼長度,花萼寬度,花瓣長度,花瓣寬度等4個用於識別鳶尾花的屬性,第5列為鳶尾花的類別 包括setosa,versicolour,virginica三類 也即通過判定花萼...

機器學習入門

研究生考試結束了,考研通知書也在幾天前到手了,是時候安心下來考慮一下未來研究生的生活和學習了,看現在機器學習特別的火,所以我就先跟風學習一下機器學習吧。由於剛開始學習,所以對一些專有名詞不是很熟悉,所以特別做了一下總結,因為剛剛入門,所以就先整理了這些。人工智慧 一 認知和感知 區別看待 目前是在感...

機器學習入門

1.常用演算法 決策樹 隨機森林演算法 邏輯回歸 svm 樸素貝葉斯 knn演算法 k means演算法 adaboost 演算法 神經網路 馬爾可夫 2.聚類和分類的區別 分類 比如有一堆資料,你已經事先對他們做好了分類。你想要的功能就是,假如來了一條測試資料,我想知道他是哪一類,這就是分類。聚類...