使用Python进行机器学习的假设检验!

初学者入门机器学习 (ML)的推荐教程 了解基本的机器学习概念并不难。有大量免费的在线博客文章、视频和编码教程可以引导您了解基础知识——从介绍性内容到常见应用程序,再到算法和应用技能。这篇文章总结了一些用于介绍 ML 的最佳免费选项。它按逻辑顺序排列,每个概念都建立在上一个概念的基础上。 阅读详情

也许所有机器学习的初学者,或者中级水平的学生,或者统计专业的学生,都听说过这个术语,假设检验。我将简要介绍一下这个当我学习时给我带来了麻烦的主题。我把所有这些概念放在一起,并使用python进行示例。在我寻求更广泛的事情之前要考虑一些问题 ——什么是假设检验?我们为什么用它?什么是假设的基本条件?什么是假设检验的重要参数?让我们一个个地开始吧:1、 什么是假设检验?假设检验是一种统计方法,用于使用实验数据进行统计决策。假设检验基本上是我们对人口参数做出的假设。例如:你说班里的学生平均年龄是40岁,或者一个男生要比女生高。我们假设所有这些例子都需要一些统计方法来证明这些。无论我们假设什么是真的,我们都需要一些数学结论。

2、我们为什么要用它?假设检验是统计学中必不可少的过程。假设检验评估关于总体的两个相互排斥的陈述,以确定样本数据最佳支持哪个陈述。当我们说一个发现具有统计学意义时,这要归功于一个假设检验。3、什么是假设的基本条件?

Python资源共享群:626017123

 

 

不同均值和方差下的正态分布

 

假设的基础是规范化和标准规范化

(链接https://en.wikipedia.org/wiki/Normalization_(statistics);https://stats.stackexchange.com/questions/10289/whats——the——difference——between——normalization——and——standardization)。我们所有的假设都围绕这两个术语的基础。让我们看看这些。

 

 

 

 

标准化的正态曲线图像和数据分布及每个部分的百分比

 

你一定想知道这两个图像之间有什么区别,有人可能会说我找不到,而其他人看到的图像会比较平坦,而不是陡峭的。好吧伙计这不是我想要表达的,首先你可以看到有不同的正态曲线所有那些正态曲线可以有不同的均值和方差,如第二张图像,如果你注意到图形是合理分布的,总是均值= 0和方差= 1。当我们使用标准化的正态数据时,z—score的概念就出现了。正态分布如果变量的分布具有正态曲线的形状——一个特殊的钟形曲线,则该变量被称为正态分布或具有正态分布。正态分布图称为正态曲线,它具有以下所有属性:1.均值,中位数和众数是相等。

 

 

 

 

正态分布方程

 

 

 

 

标准化正态分布

 

 

标准正态分布是平均值为0,标准差为1的正态分布

4、哪些是假设检验的重要参数?

  • 零假设:

 

在推论统计中,零假设是一种普遍的说法或默认的观点,即两个测量现象之间没有关系,或者分组间没有关联换句话说,它是一个基本假设,或基于领域或问题知识。示例:公司的生产力=50个单位/天等

  • 备择假设:

另一种假设是假设检验中使用的假设与零假设相反。通常认为观察是真实效果的结果(叠加了一定量的偶然的变化)

 

 

 

零假设与备择假设

 

示例:公司生产≠50单位/每天等。

 

重要程度:指我们接受或拒绝无效假设的重要程度。接受或拒绝假设不可能100%准确,因此我们选择通常为5%的重要程度。这通常用alpha(数学符号)表示,通常为0.05或5%,这意味着您的输出应该有95%的信心在每个样本中给出类似的结果。I型错误:当我们拒绝零假设时,尽管该假设是正确的。类型I错误由alpha表示。在假设检验中,显示关键区域的正常曲线称为α区域II型错误:当我们接受零假设但它是错误的。II型错误用beta表示。在假设检验中,显示接受区域的正常曲线称为β区域。单尾测试:统计假设的测试,其中拒绝区域仅在采样分布的一侧,称为单尾测试。例如:一所大学有≥4000名学生或数据科学≤80%采用的组织。双尾测试:双尾测试是一种统计测试,其中分布的关键区域是双侧的,并测试样本是否大于或小于某个值范围。如果被测试的样本属于任一关键区域,则接受替代假设而不是零假设。例如:一所大学!= 4000名学生或数据科学!= 80%的组织采用

 

 

 

单尾和双尾图像

 

P值:P值或计算概率是当研究问题的零假设(H 0)为真时,找到观察到的或更极端的结果的概率 —— “极端”程度的定义取决于假设如何被检测。如果您的P值小于选定的显着性水平,那么就拒绝原假设,即接受样本提供合理的证据来支持备选假设。它并不意味着“有意义”或“重要”的差异;这是在考虑结果的真实相关性时决定的。例如:你有一枚硬币而你不知道这是否公平或棘手所以让我们决定零和备择假设H0:硬币是一个公平的硬币。H1:硬币是一个狡猾的硬币。并且alpha = 5%或0.05

现在让我们掷硬币并计算p值(概率值)。第一次投掷硬币,结果是尾部P值= 50%(头部和尾部的概率相等)第二次抛硬币,结果是尾巴,现在p值= 50/2 = 25%同样地,我们连续6次投掷并得到P值= 1.5%的结果,但是我们将显着性水平设置为95%表示我们允许的5%错误率,在这里我们看到我们超出了那个水平,即我们的零假设不成立,所以我们需要拒绝并提出这个硬币实际上是一个狡猾的硬币。自由度: 现在想象你对期望值没有兴趣,你对数据分析感兴趣。您有一个包含10个值的数据集。如果你没有估算任何东西,每个值都可以取任何数字,对吧?每个值都可以完全自由变化。但是假设您想使用单样本t检验来测试10个值的样本的总体平均值。你现在有一个约束——平均值的估计。究竟是什么约束?通过定义均值,必须保持以下关系:数据中所有值的总和必须等于n x mean,其中n是数据集中的值的数量。因此,如果数据集有10个值,则10个值的总和必须等于平均值x 10.如果10个值的平均值为3.5(您可以选择任何数字),则此约束要求10个值的总和必须等于10 x 3.5 = 35。使用该约束,数据集中的第一个值可以自由变化。无论它是什么价值,所有10个数字的总和仍然可以具有35的值。第二个值也可以自由变化,因为无论你选择什么值,它仍然允许所有值的总和的可能性是35岁。

现在让我们看一些广泛使用的假设检验类型: ——

  1. T校验(学生T校验)

  2. Z校验

  3. ANOVA校验

  4. 卡方检验

 

T—检验:t检验是一种推论统计量,用于确定在某些特征中可能与两组的均值之间是否存在显着差异。它主要用于数据集,如通过翻转硬币100次记录为结果的数据集,将遵循正态分布并且可能具有未知的方差(链接:https://www.investopedia.com/terms/v/variance.asp)。T检验用作假设检验工具(链接:https://www.investopedia.com/terms/h/hypothesistesting.asp),其允许测试适用于群体的假设。

T检验有两种类型:

  1. 单样本t检验

  2. 双样本t检验

单样本t检验:单样本t检验确定样本均值是否与已知或假设的总体均值具有统计学差异。单样本t检验是参数检验。例如:你有10个年龄,你正在检查平均年龄是否为30岁。 (使用python查看下面的代码)

 

from scipy.stats import ttest_1sampimport numpy as npages = np.genfromtxt(“ages.csv”)print(ages)ages_mean = np.mean(ages)print(ages_mean)tset, pval = ttest_1samp(ages, 30)print(“p-values”,pval)if pval < 0.05: # alpha value is 0.05 or 5% print(" we are rejecting null hypothesis")else: print("we are accepting null hypothesis”)上面代码的结果如下:

 

单样本t测试结果

 

双样本t检验:独立样本t检验或双样本t检验比较两个独立组的平均值,以确定是否有统计证据表明相关的人口均值存在显着差异。独立样本t检验是参数检验。该测试也称为:独立t检验。

 

示例:在week1和week2之间是否存在任何关联(代码在下面的python中给出)

 

from scipy.stats import ttest_indimport numpy as npweek1 = np.genfromtxt

("week1.csv", delimiter=",")

week2 = np.genfromtxt

("week2.csv", delimiter=",")print(week1)

print("week2 data :-\n")print(week2)

week1_mean = np.mean(week1

)week2_mean = np.mean(week2)print

("week1 mean value:",week1_mean)print

("week2 mean value:",week2_mean)

week1_std = np.std(week1)week2_std =

np.std(week2)print("week1 std value:",week1_std)

print("week2 std value:",week2_std)

ttest,pval = ttest_ind(week1,week2)print

("p-value",pval)if pval <0.05: print

("we reject null hypothesis")else: print("we accept null hypothesis”)

 

 

 

双样本t校验结果

 

配对样本t检验:配对样本t检验也称为依赖样本t检验。这是一个单变量测试,测试2个相关变量之间的显着差异。这方面的一个例子是,如果您在某些治疗,病症或时间点之前和之后收集个人的血压。H0:表示两个样本之间的差异为0。H1:两个样本之间的平均差异不是0。执行下面的代码可以得到同样的结果。

import pandas as pd

from scipy import stats

df = pd.read_csv("blood_pressure.csv")

df[['bp_before','bp_after']].describe()

ttest,pval = stats.ttest_rel(df['bp_before'], df['bp_after'])

print(pval)

if pval<0.05:

print("reject null hypothesis")

else:

print("accept null hypothesis")

什么时候可以运行Z校验。在统计学中使用几种不同类型的校验(即f检验,卡方检验,t检验)

(链接:https://www.statisticshowto.datascie

ncecentral.com/

probability——and——statistics/hypothesis——testing/f——test/

; https://www.statisticshowto.datasciencecentral.

com/probability——and——statistics/chi——square/https://www.statisticshowto.

datasciencecentral.com/

probability——and——statistics/t——test/ )。

 

在下列情况下,您将使用Z测试:

 

  • 您的样本量大于30。(链接: https://www.statisticshowto.datasciencecentral.com/probability——and——statistics/find——sample——size/)否则,请使用t检验。

  • 数据点应彼此独立。(链接: https://www.statisticshowto.datasciencecentral.com/probability——and——statistics/dependent——events——independent/)换句话说,一个数据点不相关或不影响另一个数据点。

  • 您的数据应该是正常分布的。但是,对于大样本量(超过30个),这并不总是重要的。

  • 您的数据应从人口中随机选择,每个项目都有相同的选择机会。

  • 如果可能的话,样本量应该相等。

 

再举一个例子,我们使用z-test进行血压测量,如156个单样本Z检验。

 

import pandas as pd

from scipy import statsfrom statsmodels.stats

import weightstats as stestsztest ,pval = stests.ztest(df['bp_before'], x2=None, value=156)

print(float(pval))if pval<0.05:

print("reject null hypothesis")

else:

print("accept null hypothesis")

 

双样本Z检验 —— 在两个样本z检验中,类似于t检验,我们检查两个独立的数据组并确定两个组的样本均值是否相等。H0:两组的平均值为0H1:两组的平均值不为0例:我们检查血液之后和血液数据之前的血液数据。(下面是python代码)

 

ztest ,pval1 = stests.ztest(df['bp_before'],

x2=df['bp_after'],

value=0,alternative='two-sided')print(float(pval1))if pval<0.05:

print("reject null hypothesis")else: print("accept null hypothesis")

 

ANOVA(F-检验):t检验在处理两组时效果很好,但有时我们想要同时比较两组以上。例如,如果我们想根据种族等某些分类变量来测试选民年龄是否不同,我们必须比较每个级别的平均值或对变量进行分组。我们可以为每对组进行单独的t检验,但是当你进行多次检测时,你会增加误报的可能性。方差分析或ANOVA

(链接:https://en.wikipedia.org/

wiki/Analysis_of_variance)是一种统计推断测试,可让您同时比较多个组。

 

F =组间变异性/组间变异性

 

 

 

F校验或ANOVA实例图

与z和t分布不同,F分布没有任何负值,因为由于每个偏差的平方,组内变异和组内变异总是正的。单向F检验(ANOVA):根据它们的平均相似度和f分数来判断两个或更多个组是否相似。示例:有3种不同的植物类别及其重量,需要检查所有3组是否相似(下面是python代码)

df_anova = pd.read_csv('PlantGrowth.csv')

df_anova = df_anova[['weight','group']]grps = pd.unique(df_anova.group.values)

d_data = {grp:df_anova['weight'][df_anova.group == grp] for grp in grps}

F, p = stats.f_oneway(d_data['ctrl'], d_data['trt1'], d_data['trt2'])

print("p-value for significance is: ", p)

if p<0.05:

print("reject null hypothesis")

else:

print("accept null hypothesis")

 

双向F检验: 双向F检验是单向检验的扩展(链接:https://stattrek.com/Help/Glossary.aspx?Target=Categorical%20variable),当我们有2个自变量和2个以上的组时使用它。双向F检验并不能说明哪个变量占主导地位。如果我们需要检查个体意义,则需要进行事后测试。现在让我们来看看平均作物产量(不是任何小组的平均作物产量),以及每个因子的平均作物产量,以及组合在一起的因子

import statsmodels.api as sm

from statsmodels.formula.api import olsdf_anova2 =

pd.read_csv

("https://raw.githubusercontent.com/Opensourcefordatascience/Data-sets/master/crop_yield.csv")

model = ols('Yield ~ C(Fert)*C(Water)'

, df_anova2).fit()print(f"Overall model F

({model.df_model: .0f},{model.df_resid: .0f}) = {model.fvalue: .3f}, p = {model.f_pvalue: .4f}")

res = sm.stats.anova_lm(model, typ= 2)res

 

卡方检验: 当您从单个总体中获得两个分类变量时

(链接:https://stattrek.com/Help/

Glossary.aspx?Target=Categorical%20variable),将应用此测试。它用于确定两个变量之间是否存在显着关联。

 

例如,在选举调查中,选民可能按性别(男性或女性)和投票偏好(民主党,共和党或独立团体)进行分类。我们可以使用卡方检验来确定独立性,以确定性别是否与投票偏好相关以下为python代码

df_chi = pd.read_csv('chi-test.csv')

contingency_table=pd.crosstab(df_chi["Gender"],df_chi["Shopping?"])

print('contingency_table :-\n',contingency_table)

#Observed ValuesObserved_Values = contingency_table.values print

("Observed Values :

\n",Observed_Values)b=stats.chi2_contingency(contingency_table)

Expected_Values = b[3]print

("Expected Values :-\n",Expected_Values)

no_of_rows=len(contingency_table.iloc[0:2,0])

no_of_columns=len(contingency_table.iloc[0,0:2])ddof=(no_of_rows-1)*(no_of_columns-1)print

("Degree of Freedom:-",ddof

)alpha = 0.05from scipy.stats import chi2chi_square=sum([(o-e)

**2./e for o,e in zip(Observed_Values,Expected_Values)])

chi_square_statistic=chi_square[0]+chi_square[1]print

("chi-square statistic:-",chi_square_statistic)

critical_value=chi2.ppf(q=1-alpha,df=ddof)print

('critical_value:',critical_value)

#p-valuep_value=1-chi2.cdf(x=chi_square_statistic,df=ddof)

print('p-value:',p_value)print('Significance level: ',alpha)

print('Degree of Freedom: ',ddof)

print('chi-square statistic:',chi_square_statistic)

print('critical_value:',critical_value)print('p-value:',p_value)

if chi_square_statistic>=critical_value: print

("Reject H0,There is a relationship

between 2 categorical variables")

else: print("Retain H0,There is no relationship

between 2 categorical variables")

if p_value<=alpha: print

("Reject H0,There is a relationship

between 2 categorical variables")else: print

("Retain H0,There is no relationship between 2 categorical variables")

ML4T工作流程:从ML模型到策略回测(交易中的机器学习) 除了大量活跃的个人交易者社区,也有几家银行和交易公司使用backtrader来原型和测试新策略,然后将其移植到生产就绪的平台,如Java。例如,您可以使用我们在本书中遇到的scikit-learn等通用ML库设计和测试生成信号的ML模型,并将模型输出输入单独的回测引擎。这些对象相互作用,以便于输入数据的处理和因子计算,制定和执行策略,接收和执行订单,以及跟踪和度量业绩。简单地说,回测引擎遍历历史价格(和其他数据),将当前值传递给您的算法,收到订单作为回报,并跟踪所得仓位及其价值。 阅读详情

相关推荐

玩转Unity中的ML-Agents 机器学习(三):BallacceBall 案例训练

转载注明出处,QQ群:142617170 , 欢迎进群交流!运行Unity 的ML-Agents所需要的环境都搭好之后,就可以实际探索工程内的官方案例。这一篇我们以官方工程内的3D BallanceBall 案例来说明整个机器学习的流程以及在这个过程中博主所遇到的一些问题。随着新的ML-Agents v0.3的发布,我更改了教程中的一下过时的内容。源英文文档的教程地址:https://github...

q568360447的博客 5565

python anova检验 单因素方差分析

单因素方差分析(one-way analysis of variance, ANOVA)单因素方差分析常用于判断在多个分组中某个指标是否具有显著差异。 例: 这里有3组数字。 原假设:这3组数无显著差异。 from scipy import stats x = [[0.22, 0.17, 0.17, 0.22, 0.17, 0.11, 0.39, 0.17, 0.28, 0.17, 0.44, 0.39, 0.33, 0.39, 0.39], [0.78, 0.78, 0.61,

Imperfect girl的博客 2182

Unity中的机器学习ML-Agents

一:介绍 二:搭建环境 ——升级Python版本 因为mac自带的是python2.7.X的版本, 查看当前python版本:python -V ——搭建Python环境 安装Anconda:https://www.anaconda.com/products/individual

L的博客 8316

机器学习数学基础八:假设检验

这几章都是有顺序的内容,需要认真学,其实就是概率论里面的一些东西,但是对于后面要学的东西来说是很重要的。

炼丹上岸 2516

AUTOSAR RTE配置实战:从ECU分区到Task映射的完整指南

本文提供了一份AUTOSAR RTE配置的完整实战指南。从创建ECU分区、定义OS任务,到实现Runnable Entity与Task的精确映射,详细解析了每一步的操作要点与常见陷阱。文章结合配置工具界面,旨在帮助开发者高效完成RTE配置,确保系统实时性与数据一致性,是掌握AUTOSAR核心开发流程的实用参考。

weixin_29228203的博客 485

Clipper库中文帮助文档

引言: 第一次接触Clipper,主要是想用来处理DXF中的图形,网上也有博友翻译过,但是可惜打不开,好像那个网站https://love2.io凉凉了,但是优快云上也有博友分享了CHM,看着只剩3个下载币的我好无奈,一怒之下花费两天的时间将英文CHM也翻译了一遍,主要还是想在翻译的同时好好的理解Clipper,为使用打下坚实的基础。当然我也会无私的奉献出来。 简单的认识一下Clipper:...

zefllj的博客 3422

机器学习笔记-假设检验

前言 假设检验是推断统计的一项重要内容,它是先对总体参数提出一个假设值,然后利用样本信息来判断这个假设是否成立。本章主要介绍了假设检验的基本原理和如何针对不同的数据集选择合适的检验方法。 假设检验的基本原理 基本概念 假设检验先对总体参数提出某种假设,然后利用样本信息来判断假设是否成立的统计方法,称为假设检验 假设一般包含两种假设:原假设和备择假设。 研究者想搜集证据和资料来推翻的假设称为原假设,用H0H_0H0​,而备择假设是研究者心里面所支持的假设,通常用H1H_1H1​表示。而假设检验的第一步,就是明

weixin_54814385的博客 2902

UE5音效系统全解析:从Sound Cue到MetaSounds的实战指南

在游戏开发中,音频系统是构建沉浸式体验的关键技术之一。其核心原理在于通过数字信号处理(DSP)和空间音频渲染,模拟真实世界的听觉感知。传统音频管线通常基于静态资源播放与混合,而现代引擎则引入了程序化音频生成与动态调制技术,这极大地提升了音频的互动性与表现力,使其能够实时响应游戏状态变化。这一技术革新对于开发开放世界、VR及3A级游戏尤为重要,它能实现风吹草动皆有不同声响、音效随环境动态变化的细腻效果。本文聚焦虚幻引擎5(UE5)的音效系统,深入剖析其新旧两套核心架构:稳定高效的Sound Cue、Sound

weixin_31179927的博客 331

机器学习中的假设检验

机器学习中的假设检验:正态性检验、方差分析、卡方分析、回归方程回归系数检验

轩逸云的博客 1689

光学测量仿真软件:Zygo_(5).Zygo的数据处理与分析方法

通过上述综合案例,我们可以看到Zygo中的数据处理与分析方法是如何一步一步应用于实际数据的。从数据导入到预处理,再到滤波、表面分析、缺陷检测和数据可视化,每一步都至关重要,最终确保了数据的准确性和可靠性。处理后的数据还可以导出为多种格式,便于在其他软件中进行进一步的处理或报告。希望这个案例能够帮助您更好地理解和应用Zygo中的数据处理与分析方法。

kkchenjj的博客 946

Ubuntu\linux,加载mcp2515的驱动,链接mcp2515,mcp2515的这个驱动默认在linux内核中。jetson nao、香橙派、树莓派

3. 其他文章,还要进行驱动编译就比较复杂了(不推荐)1.树莓派+MCP2515+

pvmsmfchcs的博客 1566

四、假设检验:使用Python进行单个正态总体均值的假设检验

假设检验是在已知总体分布某个参数的先验值后,通过抽样来对这个先验值进行验证是否接受的问题。判断的方法大致分为两类:临界值法和P值方法;相对来说p值法更方便计算机处理,因此下面的讨论都是基于p值法。 总体均值的假设检验就是已知了一个均值的先验值,然后根据实验获取的数据对这个值进行验证是否接受它。根据是否已知总体的方差,又可细分为两种类型:方差已知和方差未知。 1. 方差已知的 在方差已知的情况下,检验统计量为: X‾−μ0σ/n∼N(0,1)\frac{\overline X - \mu_0}{\sigma/

qq_35125180的博客 4160

STM32CubeMX | 38-使用硬件SPI驱动以太网模块(W5500)

本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件SPI外设与以W5500通信,驱动以太网模块。 1. 准备工作 硬件准备 开发板 首先需要准备一个开发板,这里我准备的是STM32L4的开发板(BearPi): W5500以太网模块 这里我使用常见的以太网模块W5500: W5500官网 http://www.w5500.cn/ W5500中文手册 iEthernet W5500 Datasheet 软件准备 需要安装好Keil - MDK及芯片对应的包,以

Mculover666的博客(嵌入式) 7388

Unity 机器学习(ML-Agents) 基础

Unity 机器学习 ML-Agents 基础Unity 官方示例下载ML-Agents 部分Python 下载AnacondaAnaconda 虚拟环境构建 ML-Agents安装 ML-Agents Python 包安装 ML-Agents 包ML-Agents 入门指南Unity Hub 部分虚拟环境 训练虚拟环境 训练运行:虚拟环境 开始训练:虚拟环境 观察训练进度:虚拟环境 停止训练虚拟环境 恢复训练虚拟环境 训练模型ML-Agents 打造新的学习环境ML-Agents 资产导入 Unity 官

Maddie_Mo的博客 1万+

大华 DSS 数字监控系统 itcBulletin SQL 注入漏洞复现

大华 DSs 数字监控系统是大华开发的一款安防视频监控系统,拥有实时监视、云台操作、录像回放、报警处理、设备管理等功能。大华 DSS存在SQL注入漏洞,攻击者 pota/services/itcBuletin 路由发送特殊构造的数据包,利用报错注入获取数据库敏感信息。攻击者除了可以利用 SQL注入漏词获取数据库中的信息例如,管理员后台密码、站点的用户人人信息)之外,甚至在高权限的情况可向服务器中写入木马,进一步获取服务器系统权限poc验证是否存在漏洞如果你想查询用户名和密码。

holyxp的博客 4003

Oracle EBS PAC定期成本分配处理程序请求报错:30011一个无效帐户与正在处理的物料关联

Oracle EBS版本: RDBMS : 12.1.0.2.0 Oracle Applications : 12.2.6 前提条件: 1、启用“MRP:调试模型”配置文件 月结会计反映执行《定期成本分配处理程序》请求报错: 中文:30011一个无效帐户与正在处理的物料关联。: CSTPALPC.create_dist_entry : 40 英文:30011An invalid account is associated with the item being transacted.:...

陈显平的专栏-Oracle EBS 1085

python自动机器学习库auto_ml模块

在公众号「python风控模型」里回复关键字:学习资料什么是 AutoML?自动化机器学习提供了方法和流程,使非机器学习专家可以使用机器学习,以提高机器学习的效率并加速机器学习的研究。近年来,机器学习 (ML) 取得了相当大的成功,并且越来越多的学科依赖它。然而,这种成功在很大程度上依赖于人类机器学习专家来执行以下任务:预处理和清理数据。选择并构建适当的特征。选择合适的模型族。优化模型超参数。设计神经网络的拓扑结构(如果使用深度学习)。后处理机器学习模型。批判性地分析获得的结果。由于这些任务的复杂性通常超出

fulk6667g78o8的专栏 3371

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ML 系列:第 41节 - 假设检验简介

在我们这个数据驱动的世界里,决策通常基于数据。假设检验在这个过程中起着至关重要的作用,无论是在商业决策、医疗保健领域、学术界还是质量改进的背景下。如果没有明确的假设和严格的假设检验,就有可能得出错误的结论并做出次优的决策。

gongdiwudu的专栏 1325

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

使用Python进行机器学习的假设检验(附链接&代码)

作者 | Jose Garcia翻译 | 张睿毅校对 | 张一豪来源 | 数据派THU作者给出了假设检验的解读与Python实现的详细的假设检验中的主要操作。也许所有机器...

Python大本营的博客 3382

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

AIDE ML — 机器学习工程代理

AIDE 算法是一个树搜索代理,能够自主地编写、调试和测试代码,直到用户定义的指标达到最大值。由 LLM 驱动的代理,能够编写、评估和改进机器学习代码。知道还有其他引用或衍生自 AIDE 的公共项目吗?提示:使用完全本地化的模型时,性能可能会有所下降。使用侧边栏粘贴您的 API 密钥,上传数据,设置。用户界面显示实时日志、解决方案树和最佳代码。使用的Python 包的形式发布,并包含。智能体使用数据集,并用通俗易懂的英语描述。完全本地化(代码+评估器——无外部调用)替换新的搜索启发式方法、评估器。

具身机器人和通用AI 3654

系列ML.Net 学习篇【一】——初识机器学习

微软官方的目的就是,让你无需离开 .NET 生态系统,便可以使用 C# 或 F# 创建自定义 ML 模型。并让你可以轻松地将机器学习集成到 Web、移动、桌面、游戏和物联网应用中。 所以如果你刚好有Python训练好的模型,而正在烦恼怎么应用到.NET平台上时,那么刚好可以使用ML.NET,使用你的模型,它基本兼容市面上所有常见的数据格式,ML.NET支持TensorFlow和ONNX模型。

网尘的技术专栏 6324

Python机器学习:假设检验

Python机器学习第三次笔记打卡~

weixin_62917800的博客 2727

Unity机器学习1 ML-Agents环境搭建

第一步,创建一个新的Unity项目 我起名为MLApp 第二部,首先安装python3.7 https://www.python.org/downloads/windows/ py exit() 第三步,Unity项目中创建虚拟环境的脚本运行库模块 cd UnityProject\MLApp py -m venv venv 完成后可以看到多了一个venv目录。 通过activeate.bat激活环境脚本,不会影响到其他的python的运行环境。 我们运行他。 运行后: 安装数据流执行计算的开源图,首

thinbug的专栏 2840

Core ML Tools 使用教程

Core ML Tools 是一个由 Apple 开发的开源 Python 包,用于将机器学习模型从第三方库转换为 Core ML 格式。Core ML 是 Apple 的框架,用于在应用程序中集成机器学习模型。通过 Core ML Tools,开发者可以轻松地将 TensorFlow、PyTorch、scikit-learn、XGBoost 和 LibSVM 等库中训练好的模型转换为 Core ...

gitblog_00392的博客 1416

假设检验与置信区间在机器学习中的应用

想知道你的模型真的更好,还是只是幸运?本文深入浅出地揭秘假设检验与置信区间如何科学评估机器学习模型,从理论到Python/R实现一应俱全。告别"简单比大小"的模型选择陷阱,掌握统计工具让你的机器学习决策既严谨又可靠!🚀 #机器学习 #统计学 #数据科学

Shockang的博客 1722
上一篇: 推荐一款Python编辑器,集Pycharm和Sublime优点于一身的王者!
下一篇: 配置Office Excel运行Python宏脚本!
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值