在sklearn庫中的load_itis包含著鳶尾花分類的所有資料
呼叫load_iris函式載入資料
import mglearn
import numpy as np
from sklearn.datasets import load_iris
import pandas as pd
from pandas import dataframe
import matplotlib.pyplot as plt
iris_dataset=load_iris(
)#返回的iris是乙個bunch物件,與字典相似,包含鍵和值
#print("key of iris_dataset: \n{}".format(iris_dataset.keys()))
#print(iris_dataset['descr'][:193]+"\n...")
# #target_names鍵對應的值是乙個字串陣列,裡面包含了我們要**的花的種類
#print("targe names: \n{}".format(iris_dataset['target_names']))
# #feature_names鍵對應的值是乙個字串列表,對每乙個特徵進行了說明
#print("feature_names: \n{}".format(iris_dataset['feature_names']))
#資料報data裡面是花萼長度,寬度,花瓣長度,寬度的測量資料,格式為numpy
#print("type of data: {}".format(type(iris_dataset['data'])))
#data陣列的每行對應一朵花,列代表每朵花的資料,包含150朵
#print("shape of data:{}".format(iris_dataset['data'].shape))
#前五個樣本
#print("first five roes of data:\n{}".format(iris_dataset['data'][:5]))
#target包含測量過的花的種類,也是乙個numpy陣列
#print("type of target: {}".format(type(iris_dataset['target'])))
#target是一維陣列,每朵花對應其中乙個資料
#print("shape of target:{}".format(iris_dataset['target'].shape))
#品種被轉換為0到2 的整數,0表示setosa,1代表versicolor ,2表示virginica
#print("target :\n{}".format(iris_dataset['target']))
#對資料呼叫train_test_split,並對輸出結果採用下列方式命名
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test=train_test_split(iris_dataset[
'data'
], iris_dataset[
'target'
],random_state=0)
#random_state引數指定隨機數生成器的種子
# print("x_train shape:{}".format(x_train.shape))
# print("y_train shape:{}".format(y_train.shape))
# print("x_test shape:{}".format(x_test.shape))
# print("y_test shape:{}".format(y_test.shape))
#檢查資料將資料視覺化,將numpy陣列轉換成pandas datafram利用scatter_matrix繪製散點圖
#利用x_train中的資料建立datafarm,利用iri——dataset.feature_names中的字串對資料列進行標記,利用datafarm建立散點矩陣,按y_train著色
iris_datafarm=pd.dataframe(x_train,columns=iris_dataset.feature_names)
grr=pd.plotting.scatter_matrix(iris_datafarm,c=y_train,figsize=(15
,15),marker=
'o',hist_kwds=
,s=60
,alpha=
.8,cmap=mglearn.cm3)
#plt.show()
#k近鄰分類演算法是在neighbors模組的kneighborsclassifier類中實現,需將這個類例項化才能使用這個模型。
from sklearn.neighbors import kneighborsclassifier
knn=kneighborsclassifier(n_neighbors=1)
knn.fit(x_train,y_train)
x_new=np.array([[
5,2.9,1,
0.2]])
#呼叫knn的predict方法進行**,**函式 接收輸入的陣列型別測試樣本,一般是二維陣列,每一行是乙個樣本,每一列是乙個屬性。返回陣列型別的**結果。
prediction=knn.predict(x_new)
# print("predition:{}".format(prediction))
#print("perdition target name:{}".format(iris_dataset['target_names'][prediction]))
y_pred=knn.predict(x_test)
#print("test set preditions:\n{}".format(y_pred))
#精度計算
#print("test set score:".format(np.mean(y_pred==y_test)))
python機器 python機器學習
熱詞系列 打卡 mark一下,以後看 每天打卡學習 1 python 基礎 bv1lt4y1u7un 2 python 高階 bv1jz411b7dh 3 python 資料庫 bv1pg4y1a7a7 4 python gui與坦克大戰 bv1je411f72o 5 python numpy bv...
Python機器學習
python已經成為許多資料科學應用的通用語言,它既有通用程式語言的強大功能,也有特定領域指令碼語言 比如matlab或r 的易用性。python有用於資料載入 視覺化 統計 自然語言處理 影象處理等各種功能的庫。這個大型工具箱為資料科學提供了大量的通用功能和專用功能。使用python的主要優點之一...
python學習記錄 機器學習
首先安裝了anaconda3軟體,安裝的是最新版,安裝時勾選了寫入環境變數,支援的是python3.7.3版本。然後設定了清華大學的映象,主要是用管理員身份執行 anaconda prompt命令列,然後執行conda config命令,然後執行 然後,需要更新spyder3.3.3為3.3.4,仍...