GithubHelp home page GithubHelp logo

mleveryday / 100-days-of-ml-code Goto Github PK

View Code? Open in Web Editor NEW
20.8K 1.1K 5.4K 43.87 MB

100-Days-Of-ML-Code中文版

License: MIT License

Python 3.71% Jupyter Notebook 96.29%
machine-learning python 100-days-of-ml-code chinese-simplified infographics tutorial jupyter-notebook tensorflow keras supervised-learning

100-days-of-ml-code's Introduction

机器学习100天

英文原版请移步Avik-Jain。数据在这里

翻译前请先阅读规范。常见问题解答见FAQ

目录

数据预处理 | 第1天

数据预处理实现

简单线性回归 | 第2天

简单线性回归实现

多元线性回归 | 第3天

多元线性回归实现

逻辑回归 | 第4天

逻辑回归 | 第5天

今天我深入研究了逻辑回归到底是什么,以及它背后的数学是什么。学习了如何计算代价函数,以及如何使用梯度下降法来将代价函数降低到最小。
由于时间关系,我将隔天发布信息图。如果有人在机器学习领域有一定经验,并愿意帮我编写代码文档,也了解github的Markdown语法,请在领英联系我。

逻辑回归 | 第6天

逻辑回归实现

K近邻法(k-NN) | 第7天

逻辑回归背后的数学 | 第8天

为了使我对逻辑回归的见解更加清晰,我在网上搜索了一些资源或文章,然后我就发现了Saishruthi Swaminathan的这篇文章

它给出了逻辑回归的详细描述。请务必看一看。

支持向量机(SVM) | 第9天

直观了解SVM是什么以及如何使用它来解决分类问题。

支持向量机和K近邻法 | 第10天

了解更多关于SVM如何工作和实现knn算法的知识。

K近邻法(k-NN) | 第11天

K近邻法(k-NN)实现

支持向量机(SVM) | 第12天

支持向量机(SVM) | 第13天

SVM实现

支持向量机(SVM)的实现 | 第14天

今天我在线性相关数据上实现了SVM。使用Scikit-Learn库。在scikit-learn中我们有SVC分类器,我们用它来完成这个任务。将在下一次实现时使用kernel-trick。Python代码见此处,Jupyter notebook见此处

朴素贝叶斯分类器(Naive Bayes Classifier)和黑盒机器学习(Black Box Machine Learning) | 第15天

学习不同类型的朴素贝叶斯分类器同时开始Bloomberg的课程。课程列表中的第一个是黑盒机器学习。它给出了预测函数,特征提取,学习算法,性能评估,交叉验证,样本偏差,非平稳性,过度拟合和超参数调整的整体观点。

通过内核技巧实现支持向量机 | 第16天

使用Scikit-Learn库实现了SVM算法以及内核函数,该函数将我们的数据点映射到更高维度以找到最佳超平面。

在Coursera开始深度学习的专业课程 | 第17天

在1天内完成第1周和第2周内容以及学习课程中的逻辑回归神经网络。

继续Coursera上的深度学习专业课程 | 第18天

完成课程1。用Python自己实现一个神经网络。

学习问题和Yaser Abu-Mostafa教授 | 第19天

开始Yaser Abu-Mostafa教授的Caltech机器学习课程-CS156中的课程1。这基本上是对即将到来的课程的一种介绍。他也介绍了感知算法。

深度学习专业课程2 | 第20天

完成改进深度神经网络第1周内容:参数调整,正则化和优化。

网页搜罗 | 第21天

观看了一些关于如何使用Beautiful Soup进行网络爬虫的教程,以便收集用于构建模型的数据。

学习还可行吗? | 第22天

完成Yaser Abu-Mostafa教授的Caltech机器学习课程-CS156中的课程2。学习Hoeffding不等式。

决策树 | 第23天

统计学习理论的介绍 | 第24天

Bloomberg ML课程的第3课介绍了一些核心概念,如输入空间,动作空间,结果空间,预测函数,损失函数和假设空间。

决策树 | 第25天

决策树实现

跳到复习线性代数 | 第26天

发现YouTube一个神奇的频道3Blue1Brown,它有一个播放列表《线性代数的本质》。看完了4个视频,包括了向量,线性组合,跨度,基向量,线性变换和矩阵乘法。

B站播放列表在这里

跳到复习线性代数 | 第27天

继续观看了4个视频,内容包括三维变换、行列式、逆矩阵、列空间、零空间和非方矩阵。

B站播放列表在这里

跳到复习线性代数 | 第28天

继续观看了3个视频,内容包括点积和叉积。

B站播放列表在这里

跳到复习线性代数 | 第29天

观看了剩余的视频12到14,内容包括特征向量和特征值,以及抽象向量空间。

B站播放列表在这里

微积分的本质 | 第30天

完成上一播放列表后,YouTube推荐了新内容《微积分的本质》,今天看完了其中的3个视频,包括导数、链式法则、乘积法则和指数导数。

B站播放列表在这里

微积分的本质 | 第31天

观看了2个视频,内容包括隐分化与极限。

B站播放列表在这里

微积分的本质 | 第32天

观看了剩余的4个视频,内容包括积分与高阶导数。

B站播放列表在这里

随机森林 | 第33天

随机森林 | 第34天

随机森林实现

什么是神经网络? | 深度学习,第1章 | 第 35天

Youtube频道3Blue1Brown中有精彩的视频介绍神经网络。这个视频提供了很好的解释,并使用手写数字数据集演示基本概念。

B站视频在这里

梯度下降法,神经网络如何学习 | 深度学习,第2章 | 第36天

Youtube频道3Blue1Brown关于神经网络的第2部分,这个视频用有趣的方式解释了梯度下降法。推荐必须观看169.

B站视频在这里

反向传播法究竟做什么? | 深度学习,第3章 | 第37天

Youtube频道3Blue1Brown关于神经网络的第3部分,这个视频主要介绍了偏导数和反向传播法。

B站视频在这里

反向传播法演算 | 深度学习,第4章 | 第38天

Youtube频道3Blue1Brown关于神经网络的第3部分,这个视频主要介绍了偏导数和反向传播法。

B站视频在这里

第1部分 | 深度学习基础Python,TensorFlow和Keras | 第39天

视频地址在这里
中文文字版notebook

第2部分 | 深度学习基础Python,TensorFlow和Keras | 第40天

视频地址在这里
中文文字版notebook

第3部分 | 深度学习基础Python,TensorFlow和Keras | 第41天

视频地址在这里
中文文字版notebook

第4部分 | 深度学习基础Python,TensorFlow和Keras | 第42天

视频地址在这里
中文文字版notebook

K-均值聚类 | 第43天

转到无监督学习,并研究了聚类。可在作者网站查询。发现一个奇妙的动画有助于理解K-均值聚类。

K-均值聚类 | 第44天

实现(待添加代码)

深入研究 | NUMPY | 第45天

得到JK VanderPlas写的书《Python数据科学手册(Python Data Science HandBook)》,Jupyter notebooks在这里
高清中文版pdf
第2章:NumPy介绍,包括数据类型、数组和数组计算。
代码如下:
2 NumPy入门
2.1 理解Python中的数据类型
2.2 NumPy数组基础
2.3 NumPy数组的计算:通用函数

深入研究 | NUMPY | 第46天

第2章: 聚合, 比较运算符和广播。
代码如下:
2.4 聚合:最小值、最大值和其他值
2.5 数组的计算:广播
2.6 比较、掩码和布尔运算

深入研究 | NUMPY | 第47天

第2章: 花哨的索引,数组排序,结构化数据。
代码如下:
2.7 花哨的索引
2.8 数组的排序
2.9 结构化数据:NumPy的结构化数组

深入研究 | PANDAS | 第48天

第3章:Pandas数据处理
包含Pandas对象,数据取值与选择,数值运算方法,处理缺失值,层级索引,合并数据集。
代码如下:
3 Pandas数据处理
3.1 Pandas对象简介
3.2 数据取值与选择
3.3 Pandas数值运算方法
3.4 处理缺失值
3.5 层级索引
3.6 合并数据集:ConCat和Append方法

深入研究 | PANDAS | 第49天

第3章:完成剩余内容-合并与连接,累计与分组,数据透视表。
代码如下:
3.7 合并数据集:合并与连接
3.8 累计与分组
3.9 数据透视表

深入研究 | PANDAS | 第50天

第3章:向量化字符串操作,处理时间序列。
代码如下:
3.10 向量化字符串操作
3.11 处理时间序列
3.12 高性能Pandas:eval()与query()

深入研究 | MATPLOTLIB | 第51天

第4章:Matplotlib数据可视化
学习简易线形图, 简易散点图,密度图与等高线图.
代码如下:
4 Matplotlib数据可视化
4.1 简易线形图
4.2 简易散点图
4.3 可视化异常处理
4.4 密度图与等高线图

深入研究 | MATPLOTLIB | 第52天

第4章:Matplotlib数据可视化
学习直方图,配置图例,配置颜色条,多子图。
代码如下:
4.5 直方图
4.6 配置图例
4.7 配置颜色条
4.8 多子图
4.9 文字与注释

深入研究 | MATPLOTLIB | 第53天

第4章:Matplotlib数据可视化
学习三维绘图。
4.12 画三维图

层次聚类 | 第54天

动画演示

100-days-of-ml-code's People

Contributors

adamusical avatar altholin avatar annaxjge avatar antabot avatar goelo avatar hanagm avatar huang-jack avatar jacksu avatar junerr avatar manufacturing1112 avatar shushengyuan avatar smile901122 avatar tengzi-will avatar wengjj avatar wizardforcel avatar yx-xyc avatar yyong119 avatar zhengyuv avatar zhyongquan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

100-days-of-ml-code's Issues

Day 2

@wengJJ
我试过Day 2的代码,在pycharm中,可视化时,如果不添加下面代码,不能弹出绘图窗口。

plt.show()

100star

mark一下,大家一起进步最重要

翻译优化

建议以天数在code里按文件夹存放文件,更有结构

目录

想给readme加个目录,没成功,看看哪里有问题?

后续所需数据集过大

Day40所需数据集大小为786.68MB,如果继续上传之后可能是这个repo大小超过GitHub限制,是否考虑不再上传数据集而是仅给出链接?

tensorflow实现

tensorflow是当下最流行的库,是否有必要把所有例子用tensorflow实现一遍?

搬运中的错误

  • 第一天第四步 preprocessing 拼写错误

计划后续发现的搬运中的错误也会列在这里

补充资源

关注此项目的,大部分都是初学者。欢迎大家提供有价值的资源,作为本项目的补充,更深入的了解机器学习。最好是中文内容。

Code目录下文件名格式统一问题

Day 1_Data Preprocessing.ipynb为例,其他扩展名文件类似,随便举一些例子:

  • Day 1 Data Preprocessing.ipynb
  • Day_1_data_preprocessing.ipynb
  • Day1 Data Preprocessing.ipynb
  • Day1_data_preprocessing.ipynb

PS:看了下英文项目,他们也没有统一好名字,不过我们还是规范一些吧!我只是随便举了一些例子,有更好的欢迎提出来~

中文规范

是不是定一些规范,比如:
1.标题要不要翻译成中文
2.天数是写阿拉伯数字还是汉字等?
统一一下,更美观。

d15笔误

将“黑盒机器学习”写成了“黑河机器学习”

关于工作方案

现在我把之前的那些python文件都补全了。

  • 建议之后在翻译md文件后,把py和ipynb文件一并上传(这样一次性的工作量比较大,一人每次间隔交大)。
  • 或者按次序一个人md中的文本翻译,一个人的话翻译图片内容,一个人python文件,一个人jupyter notebook 文件(这样每个人每次工作量较小)。

两种方案各位怎么看?

关于搬运中注意工具包的版本问题

例如:sklearn工具包0.19和0.20版本,cross_validation在0.20版本是将被移除的并转移到model_selection包下。
要排除这些问题,注意平时运行时的出现warning即可

翻译进度

不好意思,我来晚了😂不知现在大伙翻译到哪了?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.