![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 69
cyber_1987
专注数据的数据分析师,以Python、VBA、Power query为主
展开
-
机器学习:XGBoost+LightGBM+catboost+5折+stacking的用法
前言:目前传统机器学习的比赛中,基本是树模型打天下了,xgboost、lightgbm和catboost各有优劣,如果把三者结合起来,即使使用投票效果也会很好。另外如果再使用5折交叉验证的方法(KFold),同时使用oob(out of bag,袋外值)作为训练集,xgb、lgb和cat对test的结果作为验证集,再使用stacking的方法,那么模型成功率和稳定率将会大大提升。本文以代码为主,主要讲述这一系列工作该如何做。注:数据使用的是清洗干净的纯数字、无缺失、无杂音,而且树模型还不需要数据标准化,原创 2021-11-27 16:06:48 · 7946 阅读 · 8 评论 -
Python:使用SHAP库将前N个重要特征提取出来
前言: 机器学习很大一个问题是可解释性较差,虽然在RandomForest、LightGBM等算法中,均有feature_importance可以展现模型最重要的N个特征,但是对于单个样本来说情况可能并不与整体模型一致,所以就需要使用SHAP等算法将每个样本中不同特征的贡献度用数值展现出来。 对于SHAP算法的原理和其它同类算法可以看这2篇博客: https://blog.csdn.net/weixin_41968505/article/details/119885046 https://zhuan原创 2021-11-20 14:43:03 · 11633 阅读 · 7 评论 -
使用Tf-idf快速进行文本场景分类
好久没写技术文章了,这一年来都在做管理工作,技术都荒废了,最近因为重心调整重新捡起来,希望能快速赶上。本篇文章主要是因为最近在给公司某个单位做投诉文本分类,也就是比较常见的NLP场景,方法有很多,比如Bert,LSTM等,但是我没玩过这些,所以还是先用最简单的Tf-IDF来。注:数据样本因为保密要求,所以不可能分享,大家如果想要学习的话,可以到豆瓣之类的网站爬取评论,效果是类似的。一、加载数据并剔除小样本或无效数据import pandas as pdimport numpy as npimpo原创 2021-05-31 10:43:56 · 1538 阅读 · 1 评论 -
CDA第11届Level2建模案例题Python代码实现
一、前言:本次考试案例题的难度要高于模拟题,时间只有2个小时且不能上网,而且还是银行业这种稍微有点专业的行业,所以难度颇高。现在的这份答案是我考试后花了2个小时才做出来的,也就是加上考试的原代码总共花了4个小时。里面涉及到一些新的数据清洗方法,包括了.loc、字符串分列、上采样等方法,仅供参考。二、案例内容根据相同的背景材料和数据实作以下的分类模型,最终须提交对测试数据的预测结果。题目...原创 2019-12-29 09:11:00 · 2791 阅读 · 7 评论 -
CDA Level2 模拟题2 Python代码实现
前言: 模拟题2是一道2分类预测类建模,需要预测利润而不是传统的准确率或召回率等,这就代表用一个模型是没有办法获得最高分的,必须根据不同的情况进行调参。虽然没有答案,但是好在有一个类似的练习赛地址是: http://jingsai.cda.cn/info/id/6.html需要注意的是:1、练习赛的数据集小于模拟题的数据集,不要搞混了;2、练习赛的评判标准是accuracy接下去的代...原创 2019-12-25 15:58:36 · 2282 阅读 · 1 评论 -
CDA Level2 模拟题1 Python代码实现
前言: 由于是模拟题,且除了数据清洗外没有答案,所以建模部分没有做特征工程,用了最简单的随机森林的分类树且没有做交叉验证甚至没有调参,也就是说用这个代码的话顶多弄个及格分。一、数据下载:http://exam.cda.cn/static/exam_attachment/L2jmjxshiti.zip二、案例背景和要求:三、Python代码实现1、数据导入import panda...原创 2019-12-25 09:59:12 · 2130 阅读 · 10 评论 -
七种常用监督类预测模型的特征、优缺点整理
原创 2019-12-20 15:00:14 · 3961 阅读 · 5 评论 -
使用Python计算基尼系数
import numpy as npdef gini(data_list): '''获得列表中的gini系数''' data_length = len(data_list) total_sum = np.sum(data_list) total_gini = 0 for i in range(data_length): temp_deno...原创 2019-12-19 15:03:49 · 9889 阅读 · 1 评论 -
读书分享:《数学之美》中的一些关键名词
最近两周在拜读吴军的《数学之美》,对NLP中的一些“道”了解了一下,感受到了数学的强大,其中有一些名词很有代表性,特此记录,以免遗忘。一、...原创 2019-11-26 21:15:34 · 1098 阅读 · 0 评论 -
数据挖掘:智慧教育初赛相关思路和代码
数据下载地址:https://github.com/cybe19870522/Machine-Learning/blob/master/%E6%99%BA%E6%85%A7%E6%95%99%E8%82%B2%E5%88%9D%E8%B5%9B%E6%A8%A1%E5%9E%8B.ipynb准备开始慢慢转github了,把上次初赛的代码相关也整理了一下,供大家参考...原创 2019-09-14 14:07:44 · 344 阅读 · 0 评论 -
数据挖掘:智慧教育竞赛复盘
前言:最近一个月都在参加上海电信主办的智慧教育竞赛,虽然侥幸通过了初赛,但是复赛和初赛犯了一个同样的错误,导致过拟合严重排名从public榜的第7名一落千丈到了private榜的第11名。所以今天写这篇文章,主要是复盘,一来记录自己这一个月以来的辛勤成果,二来也让自己警醒,不要再犯同类的错误。一、竞赛题目随着人工智能(AI)的发展,“AI+教育”“智慧课堂”等名词逐渐出现在大众视野,越来越多的...原创 2019-09-06 21:05:36 · 1127 阅读 · 3 评论 -
由机器学习中探索管理技巧
近10年来,machine learning也就是机器学习(一般学术界简称为ML)可以说是最热门的IT技术,同时机器学习也是一门门槛相对比较高的技术(一般算法工程师都要数学、统计学系的985、211研究生起,甚至是博士生。。。)。外行人看机器学习也就是知道大概有这么一项技术,比如深度学习,通过算法、大数据等让机器自动学习,进而做出一些智能化的判断,至于里面的具体算法是什么以及如何操作一般都是不知道...原创 2019-08-06 22:31:49 · 597 阅读 · 0 评论 -
Python:贝叶斯拼写检查器
前言:十几年前的代码,如今看起来还是很牛逼,是我目前看到最漂亮的代码,特意结合思路写了一些注释import reimport collectionsdef words(text): '''把语料中的单词全部抽取出来,转成小写,并且去除单词中间的特殊符号''' return re.findall('[a-z]+', text.lower())def train(featu...转载 2019-07-11 20:31:05 · 303 阅读 · 0 评论 -
Python:titanic的预测模型
前言:整个6月都在学习统计学,终于考过了cda level1,也终于开始正式机器学习开始看唐宇迪的《python数据分析与机器学习实战》视频,由于是2017年录制的视频且用的是python 2.7,所以里面的一些代码已经不适用了,根据最新的3.6改了一下import pandas as pdimport numpy as npfrom matplotlib import pyplot as...转载 2019-07-09 22:02:56 · 1425 阅读 · 0 评论 -
【机器学习】学习第三天笔记
1、用于分类的线性模型y = w[0]*x[0] + w[1] * x[1] + … + w[p] * x[p] + b > 0上述公式中,没有返回特征的加权求和,而是为预测设置了阈值(0)。如果函数值小于0,预测类别-1;如果函数值大于0,则预测类别+1。对于用于分类的线性模型,决策边界是输入的线性函数。换句话说,(二元)线性分类器是利用直线、平面或超平面来分开两个类别的分类器。...转载 2019-03-04 13:55:26 · 1909 阅读 · 2 评论 -
【机器学习】一张机器学习算法选择的图片和渣翻译
用python代码的方式翻译一下:if samples > 50: if predicting a category: #预测结果是否为分类 '''以下为classification(分类)''' if have labeled data: #判断是否有标记数据 if samples < 100K: #数据量是否小于1...原创 2019-02-25 15:37:52 · 552 阅读 · 0 评论 -
【机器学习】学习第二天笔记
一、泛化、过拟合和欠拟合1、泛化(generalize):一个模型能够对没见过的数据做出准确预测,我们就说它能够从训练集泛化到测试集。2、过拟合(overfitting):构建一个对现有信息量来说过于复杂的模型。简单来说就是在训练集上表现很好,但不能泛化到新数据上的模型,就存在过拟合。3、欠拟合(underfitting):选择过于简单的模型。比如“有房子的人都买船”,可能无法抓住数据的全部...转载 2019-02-28 16:49:25 · 318 阅读 · 0 评论 -
【机器学习】学习第一天笔记
从今天开始正式学习机器学习了,每天做个学习笔记,记录自己的成长注:学习笔记的含义就是,很多东西从外面都能轻易百度到,而且会显得很乱,所以主要是给我自己看的书:《Python机器学习基础教程》,Andreas C.Muller视频:《吴恩达机器学习》,来源:网易公开课计划每天学习时间:书——每天20页,视频——每天2-4课,预计两个月内完成机器学习的基础学习放一张别人的学习经验,深表认同(...转载 2019-02-28 10:44:42 · 242 阅读 · 0 评论