机器学习入门鸢尾花数据集,以每列数据的视角进行解读
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
本文中,再次审视机器学习中入门范例鸢尾花数据集,属于老酒装新瓶,翻新的文章,再次温习一下鸢尾花数据集的拆分方法。每列数据都代表什么,如何单独拆分出每列数据。本文的输入是.csv
文件,输出是<class 'numpy.ndarray'>
类型的数据。
大家好,这里是苏南大叔的程序如此灵动博客,这里记录苏南大叔的程序如此灵动博客。本文用<class 'numpy.ndarray'>
的视角来获取iris
数据集的每列数据。测试环境:win10
,python@3.11.0
,pandas@1.5.3
,numpy@1.24.2
。
鸢尾花数据集表头
鸢尾花数据集是个csv
文件,可以使用excel
文件打开。但是如果你按照通常的理解去理解这个文件格式的话,就会出现大的纰漏。
第一行数据所表述的:
原因就在于数据的第一行,常理推测的话这个是表头是列名,但是实际上不是列名。表示的是:
“用于推断的数据条数 用于数据字段数量 结论种类1名字 结论种类2名字 结论种类3名字”
真实的表头数据:
既然第一行数据并非表头,那么真实的表头数据是啥呢?(一共五列数据)
列标 | 中文 | 英文 | 解释 |
---|---|---|---|
0 | 花萼长度 | Sepal Length | 花萼顶端到花萼基部的距离,单位为厘米 |
1 | 花萼宽度 | Sepal Width | 花萼基部的最大宽度,单位为厘米 |
2 | 花瓣长度 | Petal Length | 花瓣基部到顶端的距离,单位为厘米 |
3 | 花瓣宽度 | Petal Width | 花瓣最大宽度,单位为厘米 |
4 | 鸢尾花种类 | Iris Species | 山鸢尾、变色鸢尾和维吉尼亚鸢尾,'setosa'、'versicolor' 和 'virginica' |
参考文章:
读取数据
这里就使用最直接的方式读取远程数据了,并且使用中文来标记字段名称。参考文章:
import pandas as pd
data_url = "http://download.tensorflow.org/data/iris_training.csv"
# data_url = "iris.csv"
column_names = ["萼长", "萼宽", "瓣长", "瓣宽", "种类"]
df_iris = pd.read_csv(data_url, header=0, names=column_names)
print(df_iris.head())
分离每列数据
因为苏南大叔后续的代码目的是画数据图,所以这里需要分离上述数据中的每一列数据,类型是<class 'numpy.ndarray'>
。
仔细观察下面这两种方式的运行结果,第二种方式的数据后面有个小点。这个后续文章待议。
取每列数据方式一:
import numpy as np
column_0 = np.array(df_iris["萼长"])
column_1 = np.array(df_iris["萼宽"])
column_2 = np.array(df_iris["瓣长"])
column_3 = np.array(df_iris["瓣宽"])
column_4 = np.array(df_iris["种类"])
# print(column_4)
取每列数据方式二:
import numpy as np
iris = np.array(df_iris)
column_0 = iris[:, 0]
column_1 = iris[:, 1]
column_2 = iris[:, 2]
column_3 = iris[:, 3]
column_4 = iris[:, 4]
# print(column_4)
相关链接
- https://newsn.net/say/pandas-dataframe.html
- https://newsn.net/say/dataframe-copy.html
- https://newsn.net/say/pandas-series-map.html
总结
更多python
相关经验文章,可以参考苏南大叔的文章:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。