'''
#python 機器學習-鳶尾花分類
'''#匯入類庫
from pandas import read_csv
from pandas.plotting import scatter_matrix
from matplotlib import pyplot
from sklearn.model_selection import train_test_split
from sklearn.model_selection import kfold
from sklearn.model_selection import cross_val_score
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score
from sklearn.linear_model import logisticregression
from sklearn.tree import decisiontreeclassifier
from sklearn.discriminant_analysis import lineardiscriminantanalysis
from sklearn.neighbors import kneighborsclassifier
from sklearn.*****_bayes import gaussiannb
from sklearn.svm import svc
#匯入資料
filename = 'iris.data.csv'
names = ['separ-length','separ-width','petal-length','petal-width','class']
dataset = read_csv(filename,names=names)
#檢視資料緯度
print('資料緯度:行%s,列%s'%dataset.shape)
#檢視資料前十行
print(dataset.head(10))
#統計描述資料
print(dataset.describe())
#資料分類分布
print(dataset.groupby('class').size())
#箱線圖
dataset.plot(kind='box',subplots=true,layout=(2,2),sharex=false,sharey=false)
pyplot.show()
#直方圖
dataset.hist()
pyplot.show()
#散點矩陣圖
scatter_matrix(dataset)
pyplot.show()
#分離評估資料集
array=dataset.values
x=array[:,0:4]
y=array[:,4]
validation_size=0.2
seed=7
x_train,x_validation,y_train,y_validation=\
train_test_split(x,y,test_size=validation_size,
random_state=seed)
#演算法審查
models={}
models['lr']=logisticregression()
models['lda']=lineardiscriminantanalysis()
models['knn']=kneighborsclassifier()
models['cart']=decisiontreeclassifier()
models['nb']=gaussiannb()
models['svm']=svc()
results=
for key in models:
kfold=kfold(n_splits=10,random_state=seed)
cv_results=cross_val_score(models[key],x_train,
y_train,cv=kfold,scoring='accuracy')
print('%s:%f(%f)'%(key,cv_results.mean(),cv_results.std()))
#箱線圖比較演算法
fig = pyplot.figure()
fig.suptitle('algorithm comparison')
ax = fig.add_subplot(111)
pyplot.boxplot(results)
ax.set_xticklabels(models.keys())
pyplot.show()
#使用評估資料集評估演算法
svm = svc()
svm.fit(x=x_train,y=y_train)
predictions = svm.predict(x_validation)
print(accuracy_score(y_validation,predictions))
print(confusion_matrix(y_validation,predictions))
print(classification_report(y_validation,predictions))
鳶尾花分類python演算法 BP演算法鳶尾花分類
bp演算法鳶尾花分類 網上很多鳶尾花例子,學習其他人後仿寫,我在執行其他人的時候會有溢位和錯誤。下述 準確率95 提取碼 y07d 如果有什麼不對的或者有什麼不懂iamzhubaoliang yeah.net 工程位址 import math import random import pandas ...
鳶尾花分類 機器學習 鳶尾花資料集 貝葉斯分類
step1 庫函式匯入 import warnings warnings.filterwarnings ignore import numpy as np 載入鶯尾花資料集 from sklearn import datasets 匯入高斯樸素貝葉斯分類器 from sklearn.bayes im...
機器學習 鳶尾花資料集
鳶尾花資料集採集的是鳶尾花的測量資料以及其所屬的類別。每個類的觀察值數量是均等的。一共有 150 個觀察值,4個輸入變數和1個輸出變數。測量資料報括 萼片長度 cm 萼片寬度 cm 花瓣長度 cm 花瓣寬度 cm 類別共分為三類 iris setosa,iris versicolour,iris v...