機器學習之分類模型

2021-09-29 16:25:29 字數 2642 閱讀 4590

「」"

iris 鳶尾花資料集是乙個經典資料集,在統計學習和機器學習領域都經常被用作示例。資料集內包含 3 類共 150 條記錄,每類各 50 個資料,每條記錄都有 4 項特徵:花萼長度、花萼寬度、花瓣長度、花瓣寬度,可以通過這4個特徵**鳶尾花卉屬於(iris-setosa, iris-versicolour, iris-virginica)中的哪一品種。

以下是使用邏輯回歸,決策樹,隨機森林,樸素貝葉斯,支援向量機svm,

這幾個模型,對資料進行訓練和測試 。隨後對模型進行評估。(引數沒怎麼系統的調節。)

「」"

# -*- coding:utf-8 -*-

__author__ =

'cheney'

__email__ =

'[email protected]'

__date__ =

'2019/11/15 22:44'

""" 鳶尾花資料集.分類模型選擇

"""import sklearn.datasets as sd

import sklearn.linear_model as lm

import sklearn.model_selection as ms

import sklearn.metrics as sm

import sklearn.ensemble as se

import sklearn.tree as st

import sklearn.svm as svm

import sklearn.*****_bayes as nb

# 獲取資料

iris = sd.load_iris(

)x = iris.data

y = iris.target

target_names = iris.target_names

feature_names = iris.feature_names

# 訓練集和測試集劃分

train_x, test_x, train_y, test_y = ms.train_test_split(x, y, test_size=

0.25

, random_state=6)

# 邏輯回歸模型訓練

model = lm.logisticregression(solver=

'liblinear'

, c=

1, multi_class=

'auto'

)model.fit(train_x, train_y)

pred_y = model.predict(test_x)

print

('the logisticregression accuracy:{}'

.format

(sm.accuracy_score(y_true=test_y, y_pred=pred_y)))

# 隨機森林回歸模型訓練

model = se.randomforestclassifier(max_depth=

5, n_estimators=

500, random_state=4)

model.fit(train_x, train_y)

pred_y = model.predict(test_x)

print

('the randomforest accuracy:{}'

.format

(sm.accuracy_score(test_y, pred_y)))

# 決策樹回歸模型訓練

model = st.decisiontreeclassifier(max_depth=

5, random_state=4)

model.fit(train_x, train_y)

pred_y = model.predict(test_x)

print

('the decisiontree accuracy:{}'

.format

(sm.accuracy_score(test_y, pred_y)))

# 支援向量機svm模型訓練

model = svm.svc(kernel=

'rbf'

, c=

600, gamma=

0.01

)model.fit(train_x, train_y)

pred_y = model.predict(test_x)

print

('the accuracy of the svm:{}'

.format

(sm.accuracy_score(test_y, pred_y)))

# 樸素貝葉斯模型訓練

model = nb.gaussiannb(

)model.fit(train_x, train_y)

pred_y = model.predict(test_x)

cr = sm.classification_report(test_y, pred_y)

print

(cr)

print

('the gaussiannb accuracy:{}'

.format

(sm.accuracy_score(test_y, pred_y)

))

機器學習之分類學習(模型訓練)

完成資料的預處理,接下進入分類學習中的重點 模型訓練。在前面我們得到了一批資料,現在我們需要從中提取出一部分資料作為我們訓練的資料,當然我們也可以把全部的資料作為我們訓練的資料,但是如果我們把全部的資料都拿來作為訓練就沒有資料來測試我們模型的效能了,因為訓練資料和測試資料不能重疊,不然就是作弊了,這...

機器學習之 分類 聚類 回歸

一 分類 有監督學習的兩大應用之一,產生離散的結果。分類方法是一種對離散型隨機變數建模或 的監督學習演算法。從機器學習的觀點,分類技術是一種有指導的學習,即每個訓練樣本的資料物件已經有類標識,通過學習可以形成表達資料物件與類標識間對應的知識。要構造分類器,需要有乙個訓練樣本資料集作為輸入。訓練集由一...

機器學習之分類學習(效能分析)

在上面我們得到了乙個邏輯回歸模型,但我們需要這個模型的效能如何,也是知道這個模型學習的成果如何,要進行期末考試。考試,顧名思義是給模型發答卷,答卷就是前面我們提取出來的測試資料,我們把測試據中的結果抽空作為標準答案,讓模型答題,最後對照標準答案給分。使用訓練好的模型lr對x test進行 結果儲存在...