首页 分享 Kaggle实战之leaf classification(树叶分类)

Kaggle实战之leaf classification(树叶分类)

来源:花匠小妙招 时间:2025-01-13 16:34

最新推荐文章于 2024-12-11 14:14:51 发布

Tom Hardy 于 2018-06-10 12:58:16 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

介绍

首先来直观看下所要分类的图像数据:

这里写图片描述
这里写图片描述

在这里一共是99种树叶,每种树叶包含16幅图像,因此训练集中一共1584幅图像。然而,我们不对图像直接操作,kaggle为每个图像提供三组特征:形状连续描述符,内部纹理直方图和细尺度边缘直方图。 对于每个特征,每个叶样本给出一个64属性的向量,因此,对于一幅图像来说,一共是64x3=192个向量。kaggle把每个训练图像转化成一个192维向量,并把所有训练图像的数据保存到train.csv文件中,包括标签。这样,在实际训练使用时,可以直接提取train.csv文件中的数据,其实是kaggle直接把数据给提取好了,不需要对图像再进行操作。train.csv文件中的内容如下所示:

这里写图片描述

树叶分类

当拿到数据和标签后,第一个问题就是该如何分类,选择哪种分类器,不急,一步一步推进吧!

第一步:导入训练和测试数据

import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt def warn(*args, **kwargs): pass import warnings warnings.warn = warn from sklearn.preprocessing import LabelEncoder from sklearn.cross_validation import StratifiedShuffleSplit train = pd.read_csv('C:/Users/new/Desktop/data/train.csv') test = pd.read_csv('C:/Users/new/Desktop/data/test.csv')1234567891011121314

第二步:准备好训练/测试数据以及标签

def encode(train, test): le = LabelEncoder().fit(train.species) #对数据进行标签编码 labels = le.transform(train.species) # encode species strings classes = list(le.classes_) # save column names for submission test_ids = test.id # save test ids for submission train = train.drop(['species', 'id'], axis=1) test = test.drop(['id'], axis=1) return train, labels, test, test_ids, classes train, labels, test, test_ids, classes = encode(train, test)123456789101112

编码后的部分标签数据:

相关知识

Kaggle Cassava Leaf Disease Classification 木薯叶疾病分类竞赛
Kaggle项目实战:房价预测
【机器学习】鸢尾花分类:机器学习领域经典入门项目实战
农业病虫害
【实战教程】用scikit
深度学习实战——木薯叶图像识别与分类项目
雅思口语之种树话题怎么说
如何在Kaggle上打比赛,带你进行一次完整流程体验
梧桐树叶的特点
作物病虫害识别数据集资源合集

网址: Kaggle实战之leaf classification(树叶分类) https://www.huajiangbk.com/newsview1570727.html

所属分类:花卉
上一篇: 科学网—为何霜叶会红于二月花?
下一篇: 自然框架设置方形,圆形和椭圆形框

推荐分享