Kaggle简介
Kaggle是一个数据分析的竞赛平台,网址:https://www.kaggle.com/。企业或者研究者可以将数据、问题描述、期望的指标发布到Kaggle上,以竞赛的形式向广大的数据科学家征集解决方案,类似于KDD-CUP(国际知识发现和数据挖掘竞赛)。Kaggle上的参赛者将数据下载下来,分析数据,然后运用机器学习、数据挖掘等知识,建立算法模型,解决问题得出结果,最后将结果提交,排名前面的可能会获得丰厚的报酬
我们又不是大牛,那么kaggle对于我们有什么意义呢?个人觉得是练习,纸上得来终觉浅,把书本,paper中的机器学习算法,写成代码用于实际问题中,可以提高自己对算法的理解与写代码的能力。(从最简单的开始)工作之余,也要提高自己,所以最近准备在kaggle上做一些题目,也写出来与大家分享讨论。 本博客给出的代码都是准确度一般的实验性代码,排名不会靠前,只做练习分享。
菜品是什么?what’s cooking
训练数据包含,”ID,菜品,菜品,菜的原料”,菜品是要预测的类,菜的原料可以认为是feature. 训练数据只包含“ID, 菜的原料”,需要预测菜品是哪一类。由 Yummly公司提供的真实数据。
问题提供的数据为json格式。
LR解法
本文用多类的逻辑回归算法,采用随即梯度下降法优化,得到了76%的预测准确率。代码如下。
- 数据获取在https://www.kaggle.com/c/whats-cooking/data
- 可生成test_prediction.csv的文件,上传,就可以得到预测的准确率结果
# -*- coding: utf-8 -*-
'''
Created on 2015-9-25
@author: joeyqzhou
'''
import json
import numpy as np
import csv
t_set = set()
x_set = set() #x : feature
learning_rate = 1
alpha = 0.00001 #正则项惩罚系数
iter_time = 5