python-鸢尾花分类

python-鸢尾花分类

import pandas as pd
data_iris = pd.read_csv('iris.csv',index_col=0)
#绘制直方图
import matplotlib.pyplot as plt
data_iris.hist(figsize=(8,6))
plt.show()

python-鸢尾花分类_第1张图片

#绘制散点图(花瓣的长和宽)
plt.figure(figsize=(8,6))
plt.scatter(x=data_iris['petal_l'], y=data_iris['petal_w'],c=data_iris['classes'])
plt.show()

python-鸢尾花分类_第2张图片

from sklearn.naive_bayes import MultinomialNB,BernoulliNB,GaussianNB#多项式朴素贝叶斯(适合离散数据分类),伯努利朴素贝叶斯(适合离散数据分类),高斯朴素贝叶斯(适合连续数据分类)
from sklearn.metrics import classification_report #分类报告
from sklearn.model_selection import train_test_split #划分数据集
X = data_iris.iloc[:,:-1]#数据(花瓣长,宽,花萼长,宽)
y = data_iris.iloc[:,-1]#标签(花种类用0.0,1.0,2.0表示)

#调用分割函数,将数据集分为训练集和测试集20%
X_tr,X_ts,y_tr,y_ts = train_test_split(X,y,test_size=0.2)

#训练模型
model = GaussianNB()#高斯朴素贝叶斯
model.fit(X_tr,y_tr) #拟合(数据,标签)

y_pred = model.predict(X_ts)
y_pred
print(classification_report(y_pred,y_ts))
#precision(准确率):正确预测为正的,占全部预测为正的比例
#recall(召回率):正确预测为正的,占全部实际为正的比例。
#f1-score (f1值):精确率和召回率的调和平均数。
#support 各分类样本的数量或测试集样本的总数量。

python-鸢尾花分类_第3张图片

你可能感兴趣的:(机器学习,python)