lirs数据集的fisher线性分类
用Jupyter完成Iris数据集的 Fisher(注意不是其他算法)线性分类,并学习数据可视化技术
Python代码
读取文件
import pandas as pd
import seaborn as snsimport matplotlib.pyplot as pltdf_Iris = pd.read_csv(r'iris.data.txt')
运行代码可视化
from collections
import Counter, defaultdict
import matplotlibimport matplotlib.pyplot as pltimport numpy as np matplotlib.rcParams['font.sans-serif'] = ['SimHei'] style_list = ['o', '^', 's'] # 设置点的不同形状,不同形状默认颜色不同,也可自定义data = iris_datas.datalabels = iris_datas.target_namescc = defaultdict(list)
for i, d in enumerate(data): cc[labels[int(i/50)]].append(d) p_list = []c_list = []
for each in [0, 2]:
for i, (c, ds) in enumerate(cc.items()):
draw_data = np.array(ds)
p = plt.plot(draw_data[:, each], draw_data[:, each+1], style_list[i]) p_list.append(p) c_list.append(c) plt.legend(map(lambda x: x[0], p_list), c_list)
plt.title('鸢尾花花瓣的长度和宽度')
if each
else plt.title('鸢尾花花萼的长度和宽度') plt.xlabel('花瓣的长度(cm)')
if each
else plt.xlabel('花萼的长度(cm)') plt.ylabel('花瓣的宽度(cm)')
if each
else plt.ylabel('花萼的宽度(cm)') plt.show()
运行结果: