kaggle比赛地址:leaf-classification

数据集形式:
train_csv:

对于每一张图片都有192个特征。
test.csv没有species这一列,该比赛的目标就是预测这一列,判断属于哪一类。

训练集共有990张,测试集共有594张,共99类
图片如下所示:

机器学习方法:

#对数据进行标签编码le = LabelEncoder().fit(train.species)
labels = le.transform(train.species)
labels

将数据标签进行编码,将离散数据进行编码

划分数据集和验证集

train = train.drop(['id','species'],axis=1)
test = test.drop(['id'],axis=1)
x_train,x_test,y_train,y_test = train_test_split(train,labels,test_size=0.2,random_state=0)
from sklearn.metrics import accuracy_score, log_loss
from sklearn.neighbors import KNeighborsClassifier
from sklearn.svm import SVC, LinearSVC, NuSVC
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier, GradientBoostingClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis
classifiers = [KNeighborsClassifier(3),SVC(kernel='rbf',C =0.025,probability=True),NuSVC(probability=True),DecisionTreeClassifier(),RandomForestClassifier(),AdaBoostClassifier(),GradientBoostingClassifier(),GaussianNB(),LinearDiscriminantAnalysis(),QuadraticDiscriminantAnalysis()
]
log_cols = ['Classifier','Accuracy']log = pd.DataFrame(columns=log_cols)
for clf in classifiers:clf.fit(x_train,y_train)name = clf.__class__.__name__print('='*30)print(name)print('*****Results*****')train_pred = clf.predict(x_test)acc = accuracy_score(y_test,train_pred)print('Accuracy:{:.4%}'.format(acc))log_entry = pd.DataFrame([[name,acc*100]],columns=log_cols)log.append(log_entry)

预测

clf = LinearDiscriminantAnalysis()clf.fit(x_train,y_train)test_pred = clf.predict_proba(test)

使用神经网络预测

from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoderfrom keras.models import Sequential
from keras.layers import Dense,Dropout,Activation
from keras.utils.np_utils import to_categorical
from keras.callbacks import EarlyStoppingimport pandas as pd
import numpy as npdata = pd.read_csv('../树叶分类/train.csv')parent_data = data.copy()ID = data.pop('id')
y = data.pop('species')y = LabelEncoder().fit(y).transform(y)
x = StandardScaler().fit(data).transform(data)
y_cat = to_categorical(y)
model = Sequential()
model.add(Dense(1500,input_dim=192,activation='relu'))
model.add(Dropout(0.1))
model.add(Dense(1500,activation='sigmoid'))
model.add(Dropout(0.1))
model.add(Dense(99,activation='softmax'))model.summary()
model.compile(loss='categorical_crossentropy',optimizer='rmsprop',metrics=['accuracy'])early_stopping = EarlyStopping(monitor='val_loss',patience=280)
history = model.fit(x,y_cat,batch_size=192,epochs=800,verbose=0,validation_split=0.1,callbacks=[early_stopping])
test = pd.read_csv('../树叶分类/test.csv')
index = test.pop('id')test = StandardScaler().fit(test).transform(test)
pred = model.predict(test)sub = pd.DataFrame(pred,columns=sorted(parent_data.species.unique()))
sub.insert(0,'id',index)

kaggle树叶分类相关推荐

  1. Kaggle树叶分类Leaves Classify总结

    Kaggle树叶分类Leaves Classify总结 前言 工具准备 pytorch可视化 安装visdom visdom例程 数据增强库 torchvision CutMix 程序预处理准备 创建 ...

  2. 【Kaggle竞赛树叶分类Baseline】上万片树叶分为一百七十六类

    [Kaggle竞赛树叶分类1]https://www.kaggle.com/c/classify-leaves 任务是预测叶子图像的类别.该数据集包含 176 个类别.18353 张训练图像.8800 ...

  3. kaggle比赛:Classify Leaves(使用resnet50预训练模型进行:图片树叶分类)

    目录 1.比赛介绍: 2.数据划分: 3.图像增广: 4.读取数据: 5.模型构造: 6.计算损失: 7.模型训练: 8.模型推理: 9.上传预测结果到kaggle: 本文内容来源于<动手深度学 ...

  4. 【Matlab树叶分类】BP神经网络植物叶片分类【含GUI源码 916期】

    一.代码运行视频(哔哩哔哩) [Matlab树叶分类]BP神经网络植物叶片分类[含GUI源码 916期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅 ...

  5. 机器学习树叶分类与聚类

    机器学习树叶分类与聚类 目录 1导入包 2查看数据 3读取训练集和测试集 3.1画出相关性矩阵(需要根据相关性矩阵,选择特征进行特征工程) 3.2数据标准化 4讨论是否需要PCA 4.1没有经过PCA ...

  6. Kaggle情绪分类比赛

    学习nlp已经有一段日子了,也是反复看一些内容,遗忘真是可怕,想着去Kaggle练练手,也是新手入门Kaggle文本分类,大神们请略过吧.对数据进行了简单的常规处理,用了个2层的bi-lstm的简单模 ...

  7. Kaggle比赛分类与winner资料汇总(更新中)

    Kaggle比赛分类与winner资料汇总(更新中) 1.介绍 把比赛分为四类,Data Mining.Images.NLP.Speech Recognition,举几个例子: Data Mining ...

  8. kaggle 比赛分类_黑色素瘤分类在kaggle比赛中获得奖牌

    kaggle 比赛分类 Using deep learning to identify melanomas from skin images and patient meta-data 使用深度学习从 ...

  9. 实战Kaggle比赛(1):树叶分类

    比赛地址:https://www.kaggle.com/c/leaf-classification/rules 完整代码:https://github.com/SPECTRELWF/kaggle_co ...

最新文章

  1. 3.commonjs模块
  2. vue点击改变data值_vue 中自定义指令改变data中的值
  3. MetaPhlAn 2:宏基因组进化分析
  4. bootstrap 栅栏剧中_Bootstrap 栅栏布局中 col-xs-*、col-sm-*、col-md-*、col-lg-* 区别及使用方法...
  5. 算法题目——杨辉三角问题
  6. 爆赞!Android岗大厂面试官常问的那些问题,论程序员成长的正确姿势
  7. 【机器视觉学习笔记】直方图的绘制及直方图均衡化(C++)
  8. 【转载】Elasticsearch客户端API使用Demo
  9. [POJ1035]Spell checker
  10. 聚类-----KMeans
  11. php蓝奏云网盘源码,蓝奏云网盘pc版易语言开源软件源码
  12. [转]中国七大顶级黑客X档案
  13. USB HUB控制晶片介绍
  14. Ubuntu 和NVIDIA显卡的兼容问题解决
  15. mac打开网页速度特别慢
  16. 简单粗暴讲述自动化仓储系统
  17. 项目一 线性门控开关方法一
  18. Audio的framecount、framesize、sampleRate计算关系
  19. Install cf v6
  20. 1.1 显函数的图形

热门文章

  1. BoCloud博云携手京东云,共筑PaaS新生态
  2. 鸿蒙OS应用开发之——环境搭建
  3. foxmail显示无法登陆到发信服务器,foxmail 无法发信,收信正常。
  4. win10 映像备份方法
  5. 设计模式原则——单一职责原则
  6. 装备交互式电子技术手册系统软件
  7. 计算机网络课程改革,计算机网络专业课程改革的探究
  8. supervisor—进程管理神器
  9. Intel Xeon CPU 命名规则
  10. c语言0的作用是什么意思,C语言 1 0 是什么意思