当前位置: 首页 > 编程日记 > 正文

Datawhale组队学习:初级算法梳理课程任务

背景

Datawhale 是国内很有名的一个开源学习组织。这个组织将渴望改变的学习者以及一群有能力有想法的青年人集结在一起,营造出一种互促高效的学习环境,一起为开源学习付出努力。

Datawhale 近期将推出三门课程的组队学习。我先将 初级算法梳理 的任务发布出来。如果你愿意跟我们一起来学习这门课程,请留意我们近期公布的 “Datawhale第八期组队学习计划”。


学习任务

Task01:机器学习概述(1天)

理论部分

  • 机器学习介绍:机器学习是什么,怎么来的,理论基础是什么,为了解决什么问题。
  • 机器学习分类:
    • 按学习方式分:有监督、无监督、半监督
    • 按任务类型分:回归、分类、聚类、降维 生成模型与判别模型
  • 机器学习方法三要素:
    • 模型
    • 策略:损失函数
    • 算法:梯度下降法、牛顿法、拟牛顿法
    • 模型评估指标:R2、RMSE、accuracy、precision、recall、F1、ROC、AUC、Confusion Matrix
    • 复杂度度量:偏差与方差、过拟合与欠拟合、结构风险与经验风险、泛化能力、正则化
    • 模型选择:正则化、交叉验证
    • 采样:样本不均衡
    • 特征处理:归一化、标准化、离散化、one-hot编码
    • 模型调优:网格搜索寻优、随机搜索寻优

Task02:线性回归(2天)

理论部分

  • 模型建立:线性回归原理、线性回归模型
  • 学习策略:线性回归损失函数、代价函数、目标函数
  • 算法求解:梯度下降法、牛顿法、拟牛顿法等
  • 线性回归的评估指标
  • sklearn参数详解

练习部分

https://github.com/xiaorancs/Datawhale/blob/master/final/Task1_Linear_regression.ipynb

  • 基于线性回归的房价预测问题
  • 利用sklearn解决回归问题
  • sklearn.linear_model.LinearRegression

Task03:逻辑回归(2天)

理论部分

  • 逻辑回归与线性回归的联系与区别
  • 模型建立:逻辑回归原理、逻辑回归模型
  • 学习策略:逻辑回归损失函数、推导及优化
  • 算法求解:批量梯度下降
  • 正则化与模型评估指标
  • 逻辑回归的优缺点
  • 样本不均衡问题
  • sklearn参数详解

练习部分

https://github.com/xiaorancs/Datawhale/blob/master/final/Task2_logistic_regression.ipynb

  • 利用sklearn解决分类问题
  • sklearn.linear_model.LogisticRegression
  • 利用梯度下降法将相同的数据分类,画图和sklearn的结果相比较
  • 利用牛顿法实现结果,画图和sklearn的结果相比较,并比较牛顿法和梯度下降法迭代收敛的次数

Task04:决策树(2天)

理论部分

  • 特征选择:信息增益(熵、联合熵、条件熵)、信息增益比、基尼系数
  • 决策树生成:ID3决策树、C4.5决策树、CART决策树(CART分类树、CART回归树)
  • 决策树剪枝
  • sklearn参数详解

练习部分

https://github.com/xiaorancs/Datawhale/blob/master/final/Task3_decision_tree.ipynb

  • 利用sklearn解决分类问题和回归预测。
  • sklearn.tree.DecisionTreeClassifier
  • sklearn.tree.DecisionTreeRegressor

Task05:聚类(2天)

理论部分

  • 相关概念
    • 无监督学习
    • 聚类的定义
  • 常用距离公式
    • 曼哈顿距离
    • 欧式距离
    • 闵可夫斯基距离
    • 切比雪夫距离
    • 夹角余弦
    • 汉明距离
    • 杰卡德相似系数
    • 杰卡德距离
  • K-Means聚类:聚类过程和原理、算法流程、算法优化(k-means++、Mini Batch K-Means)
  • 层次聚类:Agglomerative Clustering过程和原理
  • 密度聚类:DBSCAN过程和原理
  • 谱聚类:谱聚类原理(邻接矩阵、度矩阵、拉普拉斯矩阵、RatioCut、Ncut)和过程
  • 高斯混合聚类:GMM过程和原理、EM算法原理、利用EM算法估计高斯混合聚类参数
  • sklearn参数详解

练习部分

https://github.com/xiaorancs/Datawhale/blob/master/final/Task4_cluster_plus.ipynb

  • 利用sklearn解决聚类问题。
  • sklearn.cluster.KMeans

Task06:朴素贝叶斯(2天)

理论部分

  • 相关概念
    • 生成模型
    • 判别模型
  • 朴素贝叶斯基本原理
    • 条件概率公式
    • 乘法公式
    • 全概率公式
    • 贝叶斯定理
    • 特征条件独立假设
    • 后验概率最大化
    • 拉普拉斯平滑
  • 朴素贝叶斯的三种形式
    • 高斯型
    • 多项式型
    • 伯努利型
  • 极值问题情况下的每个类的分类概率
  • 下溢问题如何解决
  • 零概率问题如何解决
  • sklearn参数详解

练习部分

https://github.com/xiaorancs/Datawhale/blob/master/final/Task5_bayes_plus.ipynb

  • 利用sklearn解决聚类问题。
  • sklearn.naive_bayes.GaussianNB

相关文章:

CSS将长文字换行的方法 (转)

大家都知道连续的英文或数字能是容器被撑大,不能根据容器的大小自动换行,下面是 CSS如何将他们换行的方法! 对于div 1.(IE浏览器)white-space:normal; word-break:break-all;这里前者是遵循标准。 #wrap{white-space:n…

学Java的软件哪些比较好用

很多java程序猿在工作的时候都会用一些辅助工具,辅助工具可以很好的帮助程序猿高效率的完成工作,那么具体学Java的软件哪些比较好用呢?来看看下面的详细介绍。 学Java的软件哪些比较好用? 1. Eclipse Eclipse做为一款开发源代码的Java扩展性开发平台&a…

DataTable的Compute功能详解

在为筛选器创建表达式时,用单引号将字符串括起来:"LastName Jones"下面的字符是特殊字符,如下面所解释的,如果它们用于列名称中,就必须进行转义:\n (newline)\t (tab)\r (carriage return)~()#\…

Datawhale第九期组队学习计划

Datawhale 组队学习 第九期Datawhale组队学习计划马上就要开始啦! 这次共组织三个组队学习,涵盖了编程、机器学习理论以及动手实践的内容,大家可以按照需要选择参加。 数据结构与算法(上) 内容设计:光城…

Hibernate获取数据java.lang.StackOverflowError

原因:因为在重写toString()方法时,把关联的属性也放入到toString方法中了,去掉就可以了。 如:重写的toString方法中不能有关联关系IDCard属性idCard public class Person {private Integer id;private String name;private IDCard…

UI设计培训之UI设计系统知识

最近有很多小伙伴都在学习UI设计的相关知识,很多同学都是东边一学习一下,西边学习一下,根本没有明确的学习方法,对于这个问题小编为大家整理了一下学习UI设计的系统知识,一起看看吧! UI设计培训之UI设计系统知识&#…

java 中的 Enumeration 在Vector,Hashtable和web中的应用

public interface Enumeration<E> 实现 Enumeration 接口的对象&#xff0c;它生成一系列元素&#xff0c;一次生成一个。连续调用 nextElement方法将返回一系列的连续元素。 例如&#xff0c;要输出 Vector<E> v的所有元素&#xff0c;可使用以下方法&#xff1a;…

Datawhale组队学习 Task01:数组(1天)

Task01&#xff1a;数组&#xff08;1天&#xff09; 1. 数组的定义 数组是具有一定顺序关系的若干对象组成的集合&#xff0c;组成数组的对象称为数组元素。 例如&#xff1a; 向量对应一维数组矩阵对应二维数组 数组名表示群体的共性&#xff0c;即具有同一种数据类型&a…

IOS一些显示效果和动画效果资料

2019独角兽企业重金招聘Python工程师标准>>> 1.基于AutoLayout的UIScrollView悬停Tab 转载于:https://my.oschina.net/zhugenqiang/blog/1551389

零基础小白学Java难度大不大

零基础小白学Java难度大不大?有很多人都是非常关心这个问题的&#xff0c;如今java在IT互联网行业的快速发展&#xff0c;引起了很多人的注意&#xff0c;那么&#xff0c;哪些人适合入行Java?零基础学习Java难度大吗?下面&#xff0c;小编就为大家解答这些问题。 零基础小白…

Datawhale组队学习 Task02:顺序表和链表(2天)

Task02 顺序表和链表&#xff08;2天&#xff09; 1. 线性表的定义与操作 1.1 线性表的定义 线性表&#xff08;Linear List&#xff09;是由n&#xff08;n > 0&#xff09;个相同类型的数据元素a1,a2,...,an 组成的有序序列。即表中除首尾元素外&#xff0c;其它元素有…

腾讯联姻开心网意欲何为

今天杨长升在新浪科技上看到这样一条信息“腾讯日前已收购开心网部分股份&#xff0c;有意成为开心网大股东。”据了解&#xff0c;早在8月就曾有消息称&#xff0c;腾讯已收购开心网部分股份&#xff0c;现有一位投资界人士处证实了最新的消息&#xff1a;“腾讯参股开心网确有…

在Excel单元格中使用下拉框

文章出处: http://www.cnblogs.com/huangcong/archive/2010/05/21/1740539.html 有时候我们只希望在Excel中的某个单元格中只允许输入某几个限定的数据,这时候我们就可能希望把该单元格设置成为下拉框的形式了,如下图所示: 下面就看看是怎么实现的吧. 1.我们选择一个单元格--数…

JavaScript中常见的错误,你犯了几个?

初学者在学JavaScript这门语言的时候&#xff0c;最害怕看到的&#xff0c;应该就是控制台出现的红色错误信息!其实解决这些错误并不难&#xff0c;这是大多数初学者难以跨越的一个心理障碍而已。 你只要认真看一看错误信息&#xff0c;其实解决错误是非常简单的。别说你英语不…

Datawhale组队学习 Task03:栈与递归(2天)

Task03&#xff1a;栈与递归&#xff08;2天&#xff09; 栈是我们经常使用的一种数据结构&#xff0c;如下图所示&#xff0c;手枪发射子弹的顺序与子弹压入弹夹的顺序是相反&#xff0c;即后压入弹夹的子弹先发射出来。 比如我们使用的Word、Excel、Photoshop等软件系统中的…

sql_trace的介绍

sql_trace的介绍 --打开trace文件设置&#xff0c;把sql trace设置为true&#xff0c;就会在udump目录中增加一个trc文件。alter session set sql_tracetrue;show parameter sql_trace;&#xff08;select * from v$parameter where namesql_trace;&#xff09;修改后不生效呢&…

Console-算法[if,while]-一输入两个正整数m和n,求其最大公约数和最小公倍数

ylbtech-Arithmetic:Console-算法[if,while]-一输入两个正整数m和n&#xff0c;求其最大公约数和最小公倍数1.A&#xff0c;Demo(案例)输入两个正整数m和n&#xff0c;求其最大公约数和最小公倍数。 1.程序分析&#xff1a;利用辗除法。 1.B&#xff0c;Solution(解决方案)usin…

UI设计培训之如何将设计理论与实践相结合

学习UI设计理论知识与实践技术都是要有的&#xff0c;很多人都不爱去听理论知识&#xff0c;这对以后的工作是没有任何帮助的&#xff0c;只有将设计理论与实践相结合才能帮助到自己&#xff0c;那么如何将设计理论与实践相结合?来看看本期下面的详细介绍。 如何将设计理论与实…

Datawhale组队学习 Task04:队列(2天)

Task04&#xff1a;队列&#xff08;2天&#xff09; 队列也是我们经常使用的一种数据结构&#xff0c;如下图所示&#xff0c;购物结账&#xff0c;去食堂打饭等都需要排队&#xff0c;而结账或打饭的顺序与我们排队的顺序是相同的&#xff0c;即谁先排队就为谁先服务。 比如…

ios(iphone/ipad)开发笔记(1)

CGContextRefCGContextRefiphone开发刚刚入门 求个师傅iphone拨号键盘请问自己如果做sdkOpenGL ES 2.0有没有顶点光照的例子&#xff1f;socket通信哪位大侠帮帮忙&#xff1f;如何在tableView中使用自定义的cell&#xff1f;新手求指导Iphone按大圆钮时触发什么事件flash视频转…

如何查看Linq to SQL运行时,实际执行的Sql语句

调试Linq to sql代码是&#xff0c; 如果遇到错误&#xff0c;很难判断错误的原因是什么&#xff0c;如果能够输出实际执行的sql原文&#xff0c;对于我们寻找错误的原因有有很大帮助。 以下是我用到的方法: StringBuilder sql new StringBuilder();try{using (var context n…

Java培训零基础学员必须要知道的知识点

学习java那么遇到的知识点有很多&#xff0c;很多同学都会问到一些关于java的编程知识点&#xff0c;下面小编就为大家整理一下java培训零基础学员必须要知道的6个知识点。 Java培训零基础学员必须要知道的6个知识点&#xff1a; JVM作为java运行的基础来说&#xff0c;掌握透析…

SpringCloud Alibaba集成 Gateway(自定义负载均衡器)、Nacos(配置中心、注册中心)、Loadbalancer

要为未被某些网关路由谓词处理的请求提供相同的CORS配置,请将属性spring.cloud.gateway.globalcors.add-to-simple-url-handler-mapping设置为true。断言(Predicate):Java8中的断言函数,Spring Cloud Gateway中的断言函数输入类型是 Spring5.0框架中的ServerWebExchange。对于所有GET请求的路径,来自docs.spring.io的请求都将允许CORS请求。

并发编程下的集合:数组寻址、LinkedList、HashMap、ConcurrentHashMap

如果发现hash取模后的数组索引位下无元素则直接新增,若不是空那就说明存在hash冲突,则判断数组索引位链表结构中的第一个元素的key以及hash值是否与新的key一致则直接覆盖,若不一致则判断当前的数组索引下的链表结构是否为红黑树,若为红黑树则走红黑树的新增方法,若不为红黑树则遍历当前链表结构,遍历中发现某个节点元素的next为null是则直接将新元素指针与next进行关联,若在遍历到next为空前判断到,某个节点的key以及key的hash值与新的key与新的keyhash值一致时则走覆盖。

【日常开发之插件篇】IDEA plugins 神器助我!!

今早因为老代码的一些bug让我突然觉得Idea的一些插件特别好用,我准备将我平时所用到的一些插件做个推荐以及记录。

【日常开发之FTP】Windows开启FTP、Java实现FTP文件上传下载

FTP是一个专门进行文件管理的操作服务,一般来讲可以在任意的操作系统之中进行配置,但是如果考虑到简便性,一般来讲可以直接在Linux系统下进行安装。FTP (File Transfer Protocol、文件传输协议)是TCP/IP协议中的一部分,属于应用层协议。使用FTP最主要的功能是对文件进行管理,所以在FTP内部对于文件支持有两种传输模式:文本模式(ASCII、默认)和二进制模式(Binary),通常文本文件使用ASCIl模式,而对于图片、视频、声音、压缩等文件则会使用二进制的方式进行传输。

【Linux之升华篇】Linux内核锁、用户模式与内核模式、用户进程通讯方式

alloc_pages(gfp_mask, order),_ _get_free_pages(gfp_mask, order)等。字符设备描述符 struct cdev,cdev_alloc()用于动态的分配 cdev 描述符,cdev_add()用于注。外,还支持语义符合 Posix.1 标准的信号函数 sigaction(实际上,该函数是基于 BSD 的,BSD。从最初的原子操作,到后来的信号量,从。(2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的。

【Mongdb之数据同步篇】什么是Oplog、Mongodb 开启oplog,java监听oplog并写入关系型数据库、Mongodb动态切换数据源

oplog是local库下的一个固定集合,Secondary就是通过查看Primary 的oplog这个集合来进行复制的。每个节点都有oplog,记录这从主节点复制过来的信息,这样每个成员都可以作为同步源给其他节点。Oplog 可以说是Mongodb Replication的纽带了。

zookeeper集群部署以及zookeeper原理

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。ZooKeeper包含一个简单的原语集,提供Java和C的接口。

【日常开发之Windows共享文件】Java实现Windows共享文件上传下载

下拉框选择你选择的用户点击添加,然后共享确定。创建一个文件夹然后点击属性界面,点击共享。maven版本存在于SMB协议的兼容问题。首先开启服务,打开控制面板点击程序。点击启用或关闭Windows功能。我这边是专门创建了一个用户。SMB1.0选中红框内的。