Kaggle Titanic solution 纯规则学习
其实就是把train.csv拿出来看了看,找了找规律,调了调参数而已。
找到如下规律:
1.男的容易死,女的容易活
2.一等舱活,三等舱死
3.老人死,小孩活
4.兄弟姐妹多者死
5.票价高的活
6.有Cabin记录的活
然后规则跑一跑,调一调参数,就把今天的提交次数用满了,然后跑到0.77了
import pandas
import numpy
import csv
csv_reader = csv.reader(open('test.csv',encoding='utf-8'))
writer = csv.writer(open('ans.csv','w'))
writer.writerow(list(['PassengerID','Survived']))
data = []
A = 0
B = 0
for row in csv_reader:
if(row[0][0]=='P'):
continue
now = 0
# 一等舱获救,三等舱死亡
if(row[1][0]=='1'):
now=now+1;
if(row[1][0]=='3'):
now=now-1;
# 男的死亡,女性获救
if(row[3][0]=='f'):
now=now+2;
if(row[3][0]=='m'):
now=now-1;
# 老人死亡,年轻人获救
if(len(row[4])>0):
if(float(row[4])<=15):
now=now+1;
if(float(row[4])>=35):
now=now-1;
# 兄弟姐妹多的死掉
if(float(row[5])>1):
now = now-1;
# 财富高的活着,财富低的死亡
if(len(row[8])>0):
if(float(row[8])>100):
now=now+1;
if(float(row[8])<5):
now=now-1;
# 有Cabin的活着,无的死亡
if(row[9] == None):
now=now+1
if(now>0):
data.append([row[0],1])
print([row[0],1,now])
A = A + 1
else:
data.append([row[0],0])
print([row[0],0,now])
B = B + 1
print(A,B)
writer.writerows(data)
Kaggle Titanic solution 纯规则学习的更多相关文章
- kaggle& titanic代码
这两天报名参加了阿里天池的’公交线路客流预测‘赛,就顺便先把以前看的kaggle的titanic的训练赛代码在熟悉下数据的一些处理.题目根据titanic乘客的信息来预测乘客的生还情况.给了titan ...
- kaggle Titanic心得
Titanic是kaggle上一个练手的比赛,kaggle平台提供一部分人的特征,以及是否遇难,目的是预测另一部分人是否遇难.目前抽工作之余,断断续续弄了点,成绩为0.79426.在这个比赛过程中,接 ...
- Kaggle:Titanic: Machine Learning from Disaster
一直想着抓取股票的变化,偶然的机会在看股票数据抓取的博客看到了kaggle,然后看了看里面的题,感觉挺新颖的,就试了试. 题目如图:给了一个train.csv,现在预测test.csv里面的Passa ...
- Kaggle Titanic补充篇
1.关于年龄Age 除了利用平均数来填充,还可以利用正态分布得到一些随机数来填充,首先得到已知年龄的平均数mean和方差std,然后生成[ mean-std, mean+std ]之间的随机数,然后 ...
- kaggle Titanic
# coding: utf-8 # In[19]: # 0.78468 # In[20]: import numpy as np import pandas as pd import warnings ...
- 机器学习案例学习【每周一例】之 Titanic: Machine Learning from Disaster
下面一文章就总结几点关键: 1.要学会观察,尤其是输入数据的特征提取时,看各输入数据和输出的关系,用绘图看! 2.训练后,看测试数据和训练数据误差,确定是否过拟合还是欠拟合: 3.欠拟合的话,说明模 ...
- 逻辑回归应用之Kaggle泰坦尼克之灾(转)
正文:14pt 代码:15px 1 初探数据 先看看我们的数据,长什么样吧.在Data下我们train.csv和test.csv两个文件,分别存着官方给的训练和测试数据. import pandas ...
- Kaggle 泰坦尼克
入门kaggle,开始机器学习应用之旅. 参看一些入门的博客,感觉pandas,sklearn需要熟练掌握,同时也学到了一些很有用的tricks,包括数据分析和机器学习的知识点.下面记录一些有趣的数据 ...
- Survival on the Titanic (泰坦尼克号生存预测)
>> Score 最近用随机森林玩了 Kaggle 的泰坦尼克号项目,顺便记录一下. Kaggle - Titanic: Machine Learning from Disaster On ...
随机推荐
- centos常用网络管理命令
网卡配置命令:ifconfig (ip addr , ip link) ifconfig:显示所有活动状态的相关信息 ifconfig Interface:仅显示指定接口的相关信息 ifc ...
- 01 响应式页面-@media介绍,
我们为什么要写自适应的页面(响应式页面) 众所周知,电脑.平板.手机的屏幕是差距很大的,假如在电脑上写好了一个页面,在电脑上看起来不错,但是如果放到手机上的话,那可能就会乱的一塌糊涂,这时候怎么解决呢 ...
- MVC,MVP设计模式
什么是MVP MVP是模型(Model).视图(View).主持人(Presenter)的缩写,分别代表项目中3个不同的模块. 模型(Model):负责处理数据的加载或者存储,比如从网络或本地数据库获 ...
- xpath定位
XML 实例文档 我们将在下面的例子中使用这个 XML 文档. <?xml version="1.0" encoding="ISO-8859-1"?> ...
- java多线程快速入门(七)
什么是守护线程 守护线程是为用户线程服务的这么一个线程,主线程结束,守护线程也结束 package com.cppdy; class MyThread3 extends Thread{ @Overri ...
- collectd+influxDB+Grafana搭建性能监控平台
网上查看了很多关于环境搭建的文章,都比较久远了很多安装包源都不可用了,今天收集了很多资料组合尝试使用新版本来搭建,故在此记录. 采集数据(collectd)-> 存储数据(influxdb) - ...
- OpenLdap的加密md5(Java+Python,同时提供明文-->密文,md5(名文)-->密文两种方法)
# slappasswd -h {md5} -s "secret"{MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ== import base64 import hashli ...
- CS224d 单隐层全连接网络处理英文命名实体识别tensorflow
什么是NER? 命名实体识别(NER)是指识别文本中具有特定意义的实体,主要包括人名.地名.机构名.专有名词等.命名实体识别是信息提取.问答系统.句法分析.机器翻译等应用领域的重要基础工具,作为结构化 ...
- Python os.path.basename
一.获取对应路径下文件的名字 >>> os.path.basename("/etc/sysconfig/selinux") 'selinux' >>& ...
- Linux系统命令符01
##重启下虚拟机 [root@bogon ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKN ...