- 博客(27)
- 收藏
- 关注
原创 动手学数据分析 | 模型建立与评估(五)
接上篇动手学数据分析 | 数据可视化(四)。经过前面的学习,可以对数据本身进行增删查补、清理等处理,那么下面就要开始使用处理好的数据,数据分析的目的也就是运用数据以及结合业务来得到某些结果。分析的第一步就是建模,搭建一个预测模型或者其他模型;得到模型结果后,要分析模型是不是足够可靠,即进行模型评估。针对泰坦尼克号数据集,数据分析目的就是完成泰坦尼克号存活预测的任务。目录一、建立模型1.切割训练集和测试集2.模型创建3.输出模型预测结果二、模型评估1.交叉验证2.混淆矩阵.
2022-05-26 21:52:04
949
原创 动手学数据分析 | 数据可视化(四)
下面代码为本篇内容的基本代码准备工作:#!/usr/bin/env python# coding: utf-8get_ipython().run_line_magic('matplotlib', 'inline')import numpy as npimport pandas as pdimport matplotlib.pyplot as plttext = pd.read_csv('result.csv')text.head()目录任务一:可视化展示泰坦尼克号数据集中男女
2022-05-22 23:18:28
582
原创 动手学数据分析 | 数据重构(三)
接上篇动手学数据分析 | 数据清洗及特征处理(二),下面代码为本篇内容的基本代码准备工作。目录一、数据的合并观察数据合并数据二、转换数据类型三、GroupBy数据运用一、数据的合并观察数据text_left_up = pd.read_csv("train-left-up.csv")text_left_down = pd.read_csv("train-left-down.csv")text_right_up = pd.read_csv("train-right-u.
2022-05-21 22:34:54
256
原创 动手学数据分析 | 数据清洗及特征处理(二)
接上篇动手学数据分析 | 数据基础操作(一),下面代码为本篇内容的基本代码准备工作。import numpy as npimport pandas as pddf = pd.read_csv('train.csv')通常我们拿到的数据是不干净的,即数据中有缺失值、异常点等,需经过一定处理才能继续做后续的分析或建模,所以拿到数据的第一步是进行数据清洗。目录一、缺失值观察与处理1.缺失值观察2.处理缺失值二、重复值观察与处理1.查看重复值2.处理重复值三、特征观察
2022-05-19 23:57:39
473
原创 动手学数据分析 | 数据基础操作(一)
本系列博客为DataWhale第37期《动手学数据分析》课程学习笔记,课程以Kaggle上经典的泰坦尼克数据比赛为主线,从最基础的数据导入开始做数据分析实战。比赛具体内容及数据获取链接如下:Titanic - Machine Learning from Disaster | Kagglehttps://www.kaggle.com/competitions/titanic一、数据载入导入numpy和pandasimport numpy as npimport pandas as pd
2022-05-17 23:15:19
1533
原创 零基础学python编程思维(九) | 面向对象的编程——类
对象可以包含任意数量和类型的数据。Python在尽可能不增加新的语法和语义的情况下加入了类机制,类提供了面向对象编程的所有基本功能:类的继承机制允许多个基类,派生类可以覆盖基类中的任何方法,方法中可以调用基类中的同名方法。1. 定义类是用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。语法格式为:class ClassName: <statement-1> . . . <state
2022-03-04 21:45:28
386
原创 零基础学python编程思维(八) | for、while循环语句
Python 中的循环语句有for和while,下图展示的是循环语句的控制结构图:一、while语句一般形式为:while 判断条件(condition): #需要同样注意冒号以及后面的缩进 执行语句(statements)…… #当判断条件为true时执行后面进行的语句执行流程图如下:贴一张动图展示:当可以通过设置条件表达式永远不为false来实现无限循环:var = 1while var == 1 : # 表达式永远为 true nu.
2022-03-02 21:59:01
398
原创 零基础学python编程思维(七) | if条件控制
一、if语句if语句的关键字为:if – elif – else,基本形式为:if condition_1: #注意每个条件后需要加: statement_block_1 #后面紧跟满足条件后要执行的语句块elif condition_2: statement_block_2 #使用缩进对语句块进行划分,相同缩进数的语句一同组成一个语句块else: statement_block_3即当条件为True时执行条件所在的代码块,也就是条件后的语句,下图
2022-03-01 22:28:47
2591
原创 零基础学python编程思维(六) | 编程习惯养成与思维
一、防御性编程与备注举个例子理解下什么叫做防御性编程的基本思想:比如在温度转换的代码中,我们想通过input()函数从用户那里获得输入,即带有单位的温度值。我们可以在input()函数中写明输入内容的格式要求,但用户很可能漏掉温度单位的输入,或是单位使用错误。此时就需要考虑输入不符合要求的条件下的输出:TempStr = input("请输入带有符号的温度值:")if TempStr[-1] in ['F','f']: #判断前者是否与列表中某个元素相同 c = (
2022-02-25 15:23:00
157
原创 零基础学python编程思维(五) | 函数
一、定义函数一般定义函数的格式为:def 函数名(参数列表): 函数体创建函数的规则:1. 使用def来创建函数;2. 函数名只包含字符和_ (下划线);3. 在函数名后面放((左圆括号),左圆括号后面放参数(argument),参数之间以逗号隔开;4. 每个参数都是唯一的;5. 在参数后面放)(右圆括号)和 :(冒号);6. 在与这个函数相关的代码行前面加上四个空格的缩进(不能多,也不能少);7. 通过另起一行不缩进来结束函数。赋值的几种不同方式
2022-02-24 23:45:31
110
原创 零基础学python编程思维(四) | 读写文件
这一部分的总结没有按照Datawhale的【PythonThinking】课程来,主要参考了这篇blog。以下为正文内容:打开文件用python打开文件时,r表示以只读方式打开文件,文件的指针将会放在文件的开头(这是默认模式),若文件不存在则报错:f = open(r"C:\Users\Wings\.spyder-py3\故意杀人.txt", "r", encoding="utf-8")data = f.read()print(data[:235])当再次执行上述代码时,pytho
2022-02-23 15:45:14
868
原创 零基础学python编程思维(三) | 字典
字典的每个键值key=>value对用冒号:分割,每对间用逗号,分割,整个字典包括在花括号{} 中:d={'Michael':95, 'Bob':75, 'Tracy':85}其中键必须是唯一的、不可变的,如字符串、数字,但值则不必,值可以取任何数据类型。同一字典中的健可以是不同类型:tinydict = {'abc':123, 98.6:37}字典作为一种和列表类似的可变容器模型,可以存储任意类型对象。但列表只能通过数字获取数据,字典则可以使用任何东西获取:name
2022-02-21 22:07:49
651
原创 零基础学python编程思维(二) | 字符串、文本和列表
上一篇零基础学python编程思维(一) | 数学运算留了个小尾巴,即逻辑运算,这里先补充更新一下:逻辑运算以下为本篇博客内容:
2022-02-17 23:21:17
302
原创 零基础学python编程思维(一) | 数学运算
一、算术运算a = 6b = 5print("a加b的结果是:", a+b) #加print("a减b的结果是:", a-b) #减,或表示一个负数print("a乘b的结果是:", a*b) #乘,或返回一个被重复若干次的字符串,如:print("Python"*3) #输出结果为PythonPythonPythonprint("a除以b的结果是:", a/b) #除print("a除以b的余数是:", a%b
2022-02-15 22:36:26
1089
原创 李宏毅《机器学习》| 神经网络训练不起来怎么办(下)
目录三、自动调整学习速率(Learning Rate)接上篇三、自动调整学习速率(Learning Rate)往往在训练一个network时,会把它的loss记录下来,通常随着参数update的次数增加loss会减小,最后就卡住了,多数时候,可能会认为是gradient = 0,走到了critical point,无法更新参数。但当loss无法再下降时,gradient真的很小吗?比如当训练终止时,loss几乎已经不动,但gradient却在反复振荡。可能是现在的gradient在.
2022-01-23 23:17:58
742
原创 李宏毅《机器学习》| 卷积神经网络(Convolutional Neural Network)(上)
1、卷积的计算,怎么通过卷机提取特征的2、参数量的计算3、Pooling层的作用,有哪几种4、怎么减少卷积参数量一、为什么用CNNCNN常被用在影像处理上,能够用CNN完成的影像处理,当然也可以用一般的neural network来做。比如影像的分类,training一个neural network,input一张图片,把这张图片表示成里面的pixel,即很长很长的vector。output就是(假如你有1000个类别,output就是1000个dimension)dimension。
2022-01-22 23:26:42
699
原创 李宏毅《机器学习》| 神经网络训练不起来怎么办(上)
最优化(Optimization)失败的原因——驻点(Critical point)当Gradient decent走到了极值点,即局部极小值点(local minima),对参数的gradient接近于0,无法继续更新参数,此时training停止,loss也就不在下降。还有可能是到达了鞍点(saddle point),该点低于左右两侧但高于前后两侧(前后左右位置相对而言),此时的gradient为0,但既不是local minima,也不是local maxima。以上两种使gradie
2022-01-19 23:03:44
1161
原创 李宏毅《机器学习》| 深度学习Deep Learning简介
目录一、历史二、步骤Step1:神经网络(Neural network)完全连接前馈神经网络(Fully Connected Feedforward Network)矩阵计算(Matrix Operation)Step2:模型评估损失示例总体损失Step3:选择最优函数三、思考隐藏层是否越多越好?普遍性定理一、历史1958: Perceptron (linear model)1969: Perceptron has limitation1980
2022-01-16 17:00:47
850
原创 李宏毅《机器学习》| 梯度下降
在李宏毅《机器学习》| 回归中提到了梯度下降的方法,这篇文章来详细总结下梯度下降,具体操作见李宏毅《机器学习》| 回归-Gradient Descent代码展示。目录一、回顾二、调整学习率法一:一点点调整法二:自适应学习率一、回顾回归问题求解最优参数时,需要解决最优化问题为,其中为损失函数,为参数。分别计算初始点处,两个参数对的偏微分,然后减掉学习率learning rate乘上偏微分的值,得到更新后的一组参数。同理反复进行这样的计算。即为梯度。二、调整学习率
2022-01-15 23:02:25
968
原创 李宏毅《机器学习》| 误差的来源
目录一、误差的来源二、估测误差1. 评估x的偏差2. 评估x的方差3. 考虑不同模型的方差4. 考虑不同模型的偏差三、如何判断1. 偏差大-欠拟合2. 方差大-过拟合四、模型选择交叉验证N-折交叉验证一、误差的来源Error的主要来源有两个,分别是bias和variance。Bias反映的是模型在样本上的输出值与真实值之间的误差,即模型本身的精确度。简单来说就是模型在样本上拟合的好不好、偏不偏。模型拟合得越好,bias越低(对应的点都打在.
2022-01-14 22:10:14
1169
原创 李宏毅《机器学习》| 回归-Gradient Descent代码展示
上一篇笔记写了LeeML的回归部分,此处为gradient descent的代码展示,并写了较为详细的注释#!/usr/bin/env python3# -*- coding: utf-8 -*-import numpy as npimport matplotlib.pyplot as pltx_data = [338., 333., 328., 207., 226., 25., 179., 60., 208., 606.]y_data = [640., 633., 619., 393..
2022-01-14 14:22:52
280
原创 李宏毅《机器学习》| 回归
目录一、定义二、模型步骤step1:模型假设,选择模型框架(线性模型)1. 一元线性模型2. 多元线性模型step2:模型评估,判断模型的好坏(损失函数)step3:模型优化,筛选最优的模型(梯度下降)梯度下降(Gradient Descent)三、模型验证四、模型优化五、过拟合(Over Fitting)六、步骤优化step1:合并模型step2:输入更多特征step3:加入正则化项(Regularization)一、定义输入特征 x,通
2022-01-12 23:27:33
296
原创 【DataWhale组队学习】吃瓜教程(西瓜书+南瓜书)Task05-SVM函数间隔问题
本次任务是周志华老师《机器学习》第六章支持向量机的内容,个人觉得本章是截至目前所有章节任务中难度相对最大且花时间最多的部分,也看了不少资料(还有一部分还没看完)。目前对SVM学习过程中花费时间最多去思考的一个问题——超平面函数间隔设置为1进行整理。首先给出需要用到的数学表达式和符号:样本集,线性可分;是一个能够将正负样本恰好隔开的超平面,并且使得正样本在分隔超平面“上方”,负样本在分隔超平面“下方”,即对于正、负样本点分别有、,其中x+、x-分别表示正、负样本点;正负样本对应的标记值为y+=
2021-10-31 22:23:00
251
原创 【DataWhale组队学习】吃瓜教程(西瓜书+南瓜书)Task04-激活函数
本次任务是周志华老师《机器学习》第五章神经网络的内容,重点学习了前三个小节。学习过程中发现西瓜书对于神经网络激活函数的内容并未涉及太多,于是结合邱锡鹏老师的《神经网络与深度学习》第四章前馈神经网络的部分也进行了学习。下面对激活函数的学习结果进行大致的整理。一、激活函数的性质1.连续并可导(允许少数点上不可导)的非线性函数可导的激活函数可以直接利用数值优化的方法来学习网络参数。2.激活函数及其导函数要尽可能的简单有利于提高网络计算效率。3.激活函数的导函数的值域要在一个合适的区间内
2021-10-25 23:54:02
431
原创 【DataWhale组队学习】吃瓜教程(西瓜书+南瓜书)Task03-香农信息量与信息熵
本次任务是周志华老师《机器学习》第四章决策的内容,该部分在本科也有过简单接触,研一机器学习课上也进行了系统的学习,下面对决策树所涉及的基础知识——香农信息量与信息熵进行整理。香农信息量假设p是连续型随机变量X的概率分布,p(x)为随机变量X在X=x处的概率密度函数值(若X为离散型,则p(x)为某一具体随机事件的概率),则随机变量X 在X=x处的香农信息量定义为:单位为比特(向上取整) 。香农信息量用于刻画消除随机变量在处的不确定性所需的信息量的大小,即已知某事件发生的概率,(无论外部其他
2021-10-24 23:56:40
702
原创 【DataWhale组队学习】吃瓜教程(西瓜书+南瓜书)Task02-心得感想
线性模型在本科阶段已经学了至少七遍了,几乎每门课都会讲到线性回归,虽然每次学习都或多或少有新的收获,但每次学习内容都大同小异。西瓜书本章节内容从广度和深度上都对线性模型有了新的拓展,学完后发现这一章融汇了多种知识去呈现线性模型,每种方法都殊途同归。本章学习主要跟着B站视频【吃瓜教程】《机器学习公式详解》(南瓜书)与西瓜书公式推导进行学习(安利一下,阿婆讲的真的很好!),以下是Task02任务进行中的一点笔记整理分享,主要是针对周志华老师《机器学习》第三章线性模型内容中有疑惑、思考过的地方,和自己感兴趣内
2021-10-18 23:31:49
231
原创 【DataWhale组队学习】吃瓜教程(西瓜书+南瓜书)Task01-假设空间与版本空间、NP问题
在某前辈的带领下,第一次参加DataWhale的组队学习活动,第一天就认识了一些新朋友,优秀的人真的是在不断输入不断进步呀!本期我选择了吃瓜教程的任务,刚好配着研一机器学习的课程,并且在导师也要求阅读邱锡鹏老师的《神经网络与深度学习》,希望能够夯实机器学习入门的数学基础,对机器学习、深度学习有深层次的了解。以下是Task01任务进行中的一点笔记整理分享(主要是周志华老师《机器学习》前两章除公式推导的内容中有疑惑、思考过的地方)。假设空间与版本空间什么是假设空间(hypothesis spac
2021-10-13 00:05:15
653
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人