APP下载

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

2019-07-13秦培煜胡艳芬

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

猜你喜欢

量纲鸢尾花准确率
鸢尾花观察日记
量纲分析在热力学统计物理中的教学应用*
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
浅谈量纲法推导物理公式的优势
——以匀加速直线运动公式为例
鸢尾花
鸢尾花开
高速公路车牌识别标识站准确率验证法
科技论文编辑加工中的量纲问题