pythoniris补全缺失值_机器学习iris数据集导入
Iris數據集在模式識別研究領域應該是最知名的數據集了,有很多文章都用到這個數據集。這個數據集里一共包括150行記錄,其中前四列為花萼長度,花萼寬度,花瓣長度,花瓣寬度等4個用于識別鳶尾花的屬性,第5列為鳶尾花的類別(包括Setosa,Versicolour,Virginica三類)。也即通過判定花萼長度,花萼寬度,花瓣長度,花瓣寬度的尺寸大小來識別鳶尾花的類別。
這個數據集可以從UCI數據集上直接下載,具體地址為:http://archive.ics.uci.edu/ml/datasets/Iris。打開頁面后點擊Data folder就可以下載到本地磁盤上,默認格式為逗號分隔的文本文件。也可以直接從sklearn包里datasets里導入,語法為:from sklearn.datasets import load_iris。
一、如果從本地磁盤上讀入該數據集,可以采用pandas包里的read_excel或者read_csv方法,也可以利用python里面的csv包來處理。
具體如下:
import pandas as pd
iris_data=pd.read_csv('D:\iris\iris.txt')#讀取數據
#數據是以逗號為分隔符的,但是這個數據沒有列的字,所以先給每個列取個名字,直接使用數據說明中的描述
iris_data .columns=['sepal_lengh_cm','sepal_width_cm','petal_length_cm','petal_width_cm','class']
print(iris_data.head())#查看前5行數據
data=pd.read_csv('iris.data') #iris.data數據與程序文件存放在同一目錄下
print data.head(5) #可以查看一下前5行數據,檢查是否讀取正確
attributes=data[['sl','sw','pl','pw']] #前四列屬性簡化為sl,sw,pl,pw
types=data['type'] #第5列屬性為鳶尾花的類別
sl sw pl pw
0 5.1 3.5 1.4 0.2
1 4.9 3.0 1.4 0.2
2 4.7 3.2 1.3 0.2
3 4.6 3.1 1.5 0.2
4 5.0 3.6 1.4 0.2
5 5.4 3.9 1.7 0.4
6 4.6 3.4 1.4 0.3
7 5.0 3.4 1.5 0.2
如果要讀取單列數據,就采用data['sl']或者data['pl'],加入列屬性值就可以。
二、如果從數據包里導入,直接利用sklearn包datasets模塊導入 import load_iris。如下
from sklearn.datasets import load_iris
iris=load_iris()
attributes=iris.data #獲取屬性數據
target=iris.target #獲取類別數據,這里注意的是已經經過了處理,target里0、1、2分別代表三種類別
labels=iris.feature_names#獲取類別名字
print(labels)
print(attributes )
print(target )
三.iris數據集的基本操作
import pandas as pd
iris_data=pd.read_csv('D:\iris\iris.txt')
iris_data .columns=['sepal_lengh_cm','sepal_width_cm','petal_length_cm','petal_width_cm','class']
# print(iris_data.head())# iris_data.head(5) #可以查看一下前5行數據,檢查是否讀取正確
iris_data['class'] = iris_data['class'].apply(lambda x: x.split('-')[1]) #最后類別一列,感覺前面的'Iris-'有點多余即把class這一列的數據按'-'進行切分取切分后的第二個數據,為了好看一點點
print(iris_data.describe())#使用describe()可以很方便的查看數據的大致信息,可以看到數據是沒有缺失值的,總共有145條,每一列的最大值、最小值、平均值、分位數都可以查看。
程序運行結果:
image.png
參考:
機器學習案例——鳶尾花數據集分析
總結
以上是生活随笔為你收集整理的pythoniris补全缺失值_机器学习iris数据集导入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MIK C语言面试两题
- 下一篇: Python处理PDF文档 合并两个PD