使用scikit-learn的鸢尾花数据分类

2019-07-13 00:46:09秦培煜胡艳芬
消费导刊 2019年51期
关键词:分类特征评价

秦培煜 胡艳芬

1.武汉软件工程职业学院; 2.中国地质大学(武汉)

随着大数据和人工智能时代的到来,机器学习得到了越来越多的应用。机器学习大致分为监督学习和无监督学习,分类属于监督学习范畴[1]。本文使用scikit-learn对自带的鸢尾花数据进行了分类和分析[2]。

一、分类过程

(一)鸢尾花数据加载

数据使用scikit-learn自带的boston房价数据,使用load_boston函数加载。

import numpy as np

from sklearn.datasets import load_iris

iris= load_iris()

首先导入numpy和sklearn.datasets中load_iris函数,使用 load_iris加载鸢尾花数据,其中iris.data是特征数据,iris.target是标签数据。

(二)数据归一化

from sklearn.preprocessing import MinMaxScaler

minmaxIris = MinMaxScaler().fit_transform(iris.data)

特征数据中有些特征量纲特别大,有些特征量纲特别小,不同量纲数据放在一起使用,会影响最终预测结果。这里使用sklearn.preprocessing里的MinMaxScaler对鸢尾花数据进行归一化。iris是归一化前的数据,minmaxIris 是归一化后的数据。

(三)数据划分

from sklearn.model_selection import train_test_split

X_train,X_test,y_train,y_test =train_test_split(minmaxIris ,minmaxIris.target,random_state=100)

这里使用sklearn.model_selection里train_test_split对数据进行划分。默认数据的75%划分为训练集,25%划分为测试集。

(四)分类模型选用

from sklearn.svm import SVC

svc = SVC().fit(X_train,y_train)

pred = svc.predict(X_test)

使用sklearn.svm里的SVC模型对数据进行训练并预测。得到的pred是预测值数据。

(五)准确率评价指标

from sklearn.metrics import accuracy_score

accuracy_score(y_test,pred)

accuracy_score是准确率评价指标,最后得到真实值y_test和预测值pred之间的准确率为94.74%。

二、结论

本文基于scikit-learn,对鸢尾花数据进行了分类并做了评价分析。首先加载鸢尾花数据;其次对数据进行归一化;然后将数据划分成训练集和测试集,并用支持向量机分类模型对训练集进行训练,对测试集进行预测;最后用准确率指标对预测结果进行了评价。整个过程对于分类有着重要的指导意义。


登录APP查看全文

猜你喜欢
分类特征评价
SBR改性沥青的稳定性评价
石油沥青(2021年4期)2021-10-14 08:50:44
分类算一算
如何表达“特征”
不忠诚的四个特征
当代陕西(2019年10期)2019-06-03 10:12:04
教你一招:数的分类
基于Moodle的学习评价
线性代数的应用特征
河南科技(2014年23期)2014-02-27 14:19:15
保加利亚转轨20年评价
多维度巧设听课评价表 促进听评课的务实有效
体育师友(2012年4期)2012-03-20 15:30:10