本次练习使用 鸢尾属植物数据集.\iris.data,在这个数据集中,包括了三类不同的鸢尾属植物:Iris Setosa,Iris Versicolour,Iris Virginica。每类收集了50个样本,因此这个数据集一共包含了150个样本。
sepallength:萼片长度
sepalwidth:萼片宽度
petallength:花瓣长度
petalwidth:花瓣宽度
以上四个特征的单位都是厘米(cm)。
- 导入鸢尾属植物数据集,保持文本不变。
import numpy as np
outfile = r'.\iris.txt'
= np.loadtxt(outfile,dtype=object,delimiter=',',skiprows=1)
print(iris_data[0:5])
在这里插入代码片
2、求出鸢尾属植物萼片长度的平均值、中位数和标准差(第1列,sepallength)
import numpy as np
file=r'.\iris.txt'
sepallenth=np.loadtxt(file,dtype=float,delimiter=',',skiprows=1,usecols=0)
print(sepallenth[0:5])
sepallength_mean=np.mean(sepallenth[0:5])
print(sepallength_mean)
sepallenth_median=np.median(sepallenth[0:5])
print(sepallenth_median)
sepallenth_std=np.std(sepallenth[0:10])
print(sepallenth_std)
- 创建一种标准化形式的鸢尾属植物萼片长度,其值正好介于0和1之间,这样最小值为0,最大值为1(第1列,sepallength)。
import numpy as np
file=r'.\iris.txt'
sepallenth=np.loadtxt(file,dtype=float,delimiter=',',skiprows=1,usecols=0)
print(sepallenth[0:20])
sepallenth_min=np.amin(sepallenth[0:20])
print(sepallenth_min)
sepallenth_max=np.amax(sepallenth[0:20])
print(sepallenth_max)
sepallenth_norm=(sepallenth[0:20]-sepallenth_min)/(sepallenth_max-sepallenth_min)
print(sepallenth_norm)
- 找到鸢尾属植物萼片长度的第5和第95百分位数(第1列,sepallength)。
import numpy as np
file=r'.\iris.txt'
sepallenth=np.loadtxt(file,dtype=float,delimiter=',',skiprows=1,usecols=0)
print(sepallenth[0:20])
sepallenth_percentile=np.percentile(sepallenth[0:20],[5,95])
print(sepallenth_percentile)
- 把iris_data数据集中的20个随机位置修改为np.nan值。
import numpy as np
file=r'.\iris.txt'
iris_data=np.loadtxt(file,dtype=object,delimiter=',',skiprows=1)
i, j = iris_data.shape
print(i,j)
np.random.seed(20200621)
print(np.random.randint(i,size=20))
iris_data[np.random.randint(i, size=20), np.random.randint(j, size=20)] = np.nan
print(iris_data)
```还没写完,抱歉,明天补上
参考队员作业:https://blog.csdn.net/jjwan123/article/details/110452064