Kaggle竞赛PetFinder日记,第一次提交:简单粗暴先裸奔一下

Kaggle竞赛PetFinder日记,第一次提交:简单粗暴先裸奔一下

竞赛题目见:

https://www.kaggle.com/c/petfinder-adoption-prediction

第一次提交:简单粗暴先裸奔一下随机森林可以得0.4分,先提交一个结果看看能得几分,0.287,哈哈,排名第635,不经特征工程,这样已经把我的第一次Kaggle流程跑通了,休息一下,回头继续努力。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import pandas as pd
import sklearn
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction import DictVectorizer
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import classification_report
from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier
import warnings

warnings.filterwarnings("ignore")

train = pd.read_csv("../input/train/train.csv")

# 填充缺失值
from sklearn.preprocessing import Imputer

imp = Imputer(missing_values="NaN", strategy="median", axis=0)
train["AdoptionSpeed"] = imp.fit_transform(train[["AdoptionSpeed"]])
train["AdoptionSpeed"] = train["AdoptionSpeed"].astype(int)

# 选取一些特征作为我们划分的依据
x = train[['Type', 'Age', 'Breed1', 'Breed2', 'Gender', 'Color1', 'Color2', 'Color3',
           'MaturitySize', 'FurLength', 'Vaccinated', 'Dewormed', 'Sterilized', 'Health'
    , 'Quantity', 'Fee', 'State', 'VideoAmt', 'PhotoAmt']]
y = train['AdoptionSpeed']

# grouped = x['Type'].groupby(x["Type"])
# print(grouped.count())
# print( y.value_counts())

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25)

# 使用决策树
dtc = DecisionTreeClassifier()
dtc.fit(x_train, y_train)
dt_predict = dtc.predict(x_test)
print(dtc.score(x_test, y_test))
print(classification_report(y_test, dt_predict, target_names=["0", "1", "2", "3", "4"]))

# 使用随机森林

rfc = RandomForestClassifier(n_estimators=100)
rfc.fit(x_train, y_train)
rfc_y_predict = rfc.predict(x_test)
print(rfc.score(x_test, y_test))

# 使用随机森林全量学习和全量预测
rfc = RandomForestClassifier(n_estimators=100)
rfc.fit(x, y)
test = pd.read_csv("../input/test/test.csv")
x_test = test[['Type', 'Age', 'Breed1', 'Breed2', 'Gender', 'Color1', 'Color2', 'Color3',
               'MaturitySize', 'FurLength', 'Vaccinated', 'Dewormed', 'Sterilized', 'Health'
    , 'Quantity', 'Fee', 'State', 'VideoAmt', 'PhotoAmt']]
final_result = rfc.predict(x_test)
submission_df = pd.DataFrame(data={'PetID': test['PetID'].tolist(), 'AdoptionSpeed': final_result})
submission_df.to_csv('submission.csv', index=False)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
你好!对于Kaggle竞赛的入门,我可以为你提供一些建议和资源。 首,了解Kaggle是什么以及它的竞赛和数据科学社区是很重要的。Kaggle是一个数据科学和机器学习竞赛平台,它提供了大量的数据集和挑战,吸引了全球数据科学家的参与。 接下来,你可以通过以下步骤来入门Kaggle竞赛: 1. 注册Kaggle账号:访问Kaggle网站(https://www.kaggle.com/),点击"Sign Up"按钮创建一个账号。 2. 探索竞赛:浏览Kaggle上的竞赛页面,了解当前和已经结束的竞赛。可以按照自己的兴趣选择感兴趣的竞赛。 3. 下载数据集:对于感兴趣的竞赛,你可以下载相关的数据集。通过数据集探索数据的结构和特征。 4. 学习和参考:Kaggle上有很多优秀的内核(Kernel)和讨论(Discussion),可以学习其他数据科学家的方法和经验。阅读这些内核和参与相关的讨论可以提高你的竞赛技能。 5. 入门教程:Kaggle提供了一些入门教程,可以帮助你了解竞赛的基本知识和技巧。你可以在Kaggle的学习路径(Learn)中找到这些教程。 6. 练习和提交:选择一个适合你水平和兴趣的竞赛,开始练习建模和提交结果。通过不断的实践和反馈,提高自己的竞赛技能。 此外,以下是一些Kaggle入门资源可以供你参考: - Kaggle官方学习路径:https://www.kaggle.com/learn/overview - Kaggle内核:https://www.kaggle.com/kernels - Kaggle讨论:https://www.kaggle.com/discussion - Kaggle竞赛页面:https://www.kaggle.com/competitions 希望这些信息能够帮助你入门Kaggle竞赛!如有更多问题,欢迎继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值