python+sklearn+kaggle机器学习
今天是1024欸,发个贴拿个勋章
至于为什么1024这个数字很重要,因为1024是2的10次方
系列教程
补了一个系列关于这个的实例教程
机器学习参考篇: python+sklearn+kaggle机器学习
用python+sklearn(机器学习)实现天气预报 准备
用python+sklearn(机器学习)实现天气预报数据 数据
用python+sklearn(机器学习)实现天气预报 模型和使用
0.kaggle
kaggle是一个学习ml也就是机器学习的平台
上面会有教程教如何用python写机器学习和各式各样的机器学习竞赛
1. 初级线性回归模型机器学习过程
a. 提取数据
通过pd(pandas)和sklearn下的split,从csv文件提取和分割数据集
例:
from sklearn.model_selection import train_test_split
X=pd.read_csv("/kaggle/input/home-data-for-ml-course/train.csv")
y=X.SalePrice
X_train, X_valid, y_train, y_valid = train_test_split(X, y, train_size=0.8, test_size=0.2,random_state=0)
X_train=X_train.drop(['SalePrice'],axis=1)
其中,read_csv就是从csv文件中提取数据集
train_test_split就是把一个完整的数据集和验证集以同等的比例分成2组不同的数据集和验证集
因为saleprice是我们要预测的数据,所以验证集里就只有这个的数据,而数据集里要剔除这个数据
b.数据预处理
在现实情况中,一些数据集是不完整的或数据是文本,所以要先对数据集预处理
- 空数据处理
根据情况用sklearn下的imputer或drop掉丢失数据的那一列
比如丢失数据情况小于80%就drop掉,反之就用imputer填充 - 分类处理
为了把不同类型的数据转换到机器学习接受的数字类型的数据
用sklearn库下的hotlablel或者label把非数字数值分类
前者是把每一个非数值都新建一个列存放,后者是把每一个非数值标号,为了达到最高效,应该把种类数目不一样的列表分别处理,比如种类少就用hotlable,多就用label - (进阶操作)pineline
用pineline组合以上的预处理步骤步骤
例:
from sklearn.compose import ColumnTransformer
from sklearn.pipeline import Pipeline
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import OneHotEncoder
from sklearn.ensemble import RandomForestRegressor
from sklearn.preprocessing import LabelEncoder
# Preprocessing for numerical data
numerical_transformer = SimpleImputer(strategy='constant')
# Preprocessing for categorical data
categorical_transformer = Pipeline(steps=[
('imputer', SimpleImputer(strategy='most_frequent')),
('onehot', OneHotEncoder(handle_unknown='ignore'))
])
# Preprocessing for categorical data
categorical_transformer_1 = Pipeline(steps=[
('imputer', SimpleImputer(strategy='most_frequent')),
('LabelEncoder', LabelEncoder())
])
object_cols=[col for col in X_train.columns if X_train[col].dtype=='object']
# Bundle preprocessing for numerical and categorical data
preprocessor = ColumnTransformer(
transformers=[
('num', numerical_transformer, [col for col in X_train.columns if not X_train[col].dtype=='object']),
('cat', categorical_transformer, object_cols)
])
其中object_cols数组是指数据类型非数字的列表
c.训练模型
先选择模型,比如XGB或者随机树(randomforest)
然后用fit来训练模型
例:
from xgboost import XGBRegressor
# Define model
model = XGBRegressor(n_estimators=5000, random_state=0,learning_rate=0.01,n_jobs=4)
# Bundle preprocessing and modeling code in a pipeline
clf = Pipeline(steps=[('preprocessor', preprocessor),
('model', model)
])
# Preprocessing of training data, fit model
clf.fit(X_train, y_train)
d.根据数据预测
用predict函数
例:
X_test=pd.read_csv("/kaggle/input/home-data-for-ml-course/test.csv")
pre=clf.predict(X_test)
e.验证
用MAE(mean_absolute_error)方法算出这个模型的分数(准确度)
例:
from sklearn.metrics import mean_absolute_error
a=mean_absolute_error(y_valid,pre)
在kaggle.com平台上都有详细的教程
其实学完后在简单的比赛拿top10%也是挺容易的
python+sklearn+kaggle机器学习的更多相关文章
- [Python]-sklearn模块-机器学习Python入门《Python机器学习手册》-02-加载数据:加载数据集
<Python机器学习手册--从数据预处理到深度学习> 这本书类似于工具书或者字典,对于python具体代码的调用和使用场景写的很清楚,感觉虽然是工具书,但是对照着做一遍应该可以对机器学习 ...
- 用python+sklearn(机器学习)实现天气预报数据 模型和使用
用python+sklearn机器学习实现天气预报 模型和使用 项目地址 系列教程 0.前言 1.建立模型 a.准备 引入所需要的头文件 选择模型 选择评估方法 获取数据集 b.建立模型 c.获取模型 ...
- 用python+sklearn(机器学习)实现天气预报数据 数据
用python+sklearn机器学习实现天气预报 数据 项目地址 系列教程 勘误表 0.前言 1.爬虫 a.确认要被爬取的网页网址 b.爬虫部分 c.网页内容匹配取出部分 d.写入csv文件格式化 ...
- 用python+sklearn(机器学习)实现天气预报 准备
用python+sklearn机器学习实现天气预报 准备 项目地址 系列教程 0.流程介绍 1. 环境搭建 a.python b.涉及到的机器学习相关库 sklearn panda seaborn j ...
- 如何使用Python在Kaggle竞赛中成为Top15
如何使用Python在Kaggle竞赛中成为Top15 Kaggle比赛是一个学习数据科学和投资时间的非常的方式,我自己通过Kaggle学习到了很多数据科学的概念和思想,在我学习编程之后的几个月就开始 ...
- Python 3 利用机器学习模型 进行手写体数字识别
0.引言 介绍了如何生成数据,提取特征,利用sklearn的几种机器学习模型建模,进行手写体数字1-9识别. 用到的四种模型: 1. LR回归模型,Logistic Regression 2. SGD ...
- 入门系列之Scikit-learn在Python中构建机器学习分类器
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由信姜缘 发表于云+社区专栏 介绍 机器学习是计算机科学.人工智能和统计学的研究领域.机器学习的重点是训练算法以学习模式并根据数据进行预 ...
- 初识TPOT:一个基于Python的自动化机器学习开发工具
1. TPOT介绍 一般来讲,创建一个机器学习模型需要经历以下几步: 数据预处理 特征工程 模型选择 超参数调整 模型保存 本文介绍一个基于遗传算法的快速模型选择及调参的方法,TPOT:一种基于Pyt ...
- 用python参加Kaggle的经验总结【转】
用python参加Kaggle的经验总结 转载自:http://www.jianshu.com/p/32def2294ae6,作者 JxKing 最近挤出时间,用python在kaggle上试了 ...
随机推荐
- pytorch知识(torch.sum,以及维度问题)
参考(推荐): https://mathpretty.com/12065.html
- P4317 花神的数论题,关于luogu题解粉兔做法的理解
link 题意 设 \(\text{sum}(i)\) 表示 \(i\) 的二进制表示中 \(1\) 的个数.给出一个正整数 \(N\) ,求 \(\prod_{i=1}^{N}\text{sum}( ...
- 我的js公共函数合集
export default { isDefin: function(value) { //数据是否被定义 if (value == null || value == &quo ...
- Jmeter(5)JSON提取器
Jmeter后置处理器-JSON提取器 JSON是一种轻量级数据格式,以"键-值"对形式组织数据. JSON串中{}表示对象,[]表示对象组成的数组.对象包含多个"属性& ...
- thinkphp thinkphp6 安装JWT
第一步:composer安装 composer require firebase/php-jwt 下图是执行成功 cd 进入项目目录的vendor 找到firebase 看到下面有一个php-jw ...
- 2. 使用Shell能做什么
批处理 在批处理的过程中,能够实现脚步自动化,比GUI自动化速度高效 日常工作场景 服务端测试 移动端测试 持续集成与自动化部署,这是最最场景的场景,可以说离开了shell,持续集成和自动化部署也会遇 ...
- ipad做windows副屏
利用iPad做windows的触摸显示屏 由于ios与windows不兼容,所以利用软件进行 主要的软件有三款:duet display:spacedesk:Splashtop Wired XDisp ...
- Unity 操作快捷键
Q Hand(手形)工具 可以平移整个Scene视图 W Translate(移动)工具 移动所选择的游戏对象 E Rotate(旋转)工具 按任意角度旋转游戏 ...
- json JSON_UNESCAPED_UNICODE 防止中文乱码
json_encode(['content'=>$content],JSON_UNESCAPED_UNICODE)
- 图灵学院java架构师vip课程第二期 完整版课程下载 无加密
部分目录2020年新图灵学院Java二期架构师教程下载[课程目录]├──一.VIP课程:互联网工程专题├──二.VIP课程:源码框架专题├──三.VIP课程:并发编程专题├──四.VIP课程:性能调优 ...
