Educode--机器学习基础模型与算法测试闯关实验

这篇具有很好参考价值的文章主要介绍了Educode--机器学习基础模型与算法测试闯关实验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第1关:线性回归模型应用

实现代码:

# -*- coding: utf-8 -*-

'''

油气藏的储量密度Y与生油门限以下平均地温梯度X1、

生油门限以下总有机碳百分比X2、生油岩体积与沉积岩体积百分比X3、砂泥岩厚度百分比X4、

有机转化率X5有关,数据文件为“1.xlsx”,字段如下:

样本ID    X1    X2    X3    X4    X5    Y

(注:数据取自教材《Matlab数据分析方法》)

任务如下:

(1)利用线性回归分析命令,求出Y与5个因素之间的线性回归关系式系数向量c_x和常数项c_b

(2)求出线性回归关系的判定系数Slr

(3)今有一个样本X1=4,X2=1.5,X3=10,X4=17,X5=9,试预测该样本的Y值。

'''

def return_values():

    import pandas as pd

    import numpy as np  

# 1.数据获取  

    data = pd.read_excel('1.xlsx')  

    x = data.iloc[:,1:6]  

    y = data.iloc[:,6]  

# 2。导入线性回归模型,简称为LR  

    from sklearn.linear_model import LinearRegression as LR  

    lr = LR()    #创建线性回归模型类  

    lr.fit(x, y) #拟合  

    Slr=lr.score(x,y)   # 判定系数 R^2  

    c_x=lr.coef_        # x对应的回归系数  

    c_b=lr.intercept_   # 回归系数常数项  

# 3.预测  

    x1=np.array([4,1.5,10,17,9])  

    x1=x1.reshape(1,5)  

    Y=lr.predict(x1)   #采用自带函数预测  

    return(c_x,c_b,Slr,Y) 

Educode--机器学习基础模型与算法测试闯关实验

第2关:分类模型及应用

实现代码: 

# -*- coding: utf-8 -*-

'''

企业到金融商业机构贷款,金融商业机构需要对企业进行评估。评估结果为0和1两种形式,

0表示企业两年后破产,将拒绝贷款;而1表示企业2年后具备还款能力,可以贷款。

表"2.xlsx",字段如下:企业编号、X1、X2、X3、Y,

(数据取自《Matlab在数学建模中的应用(第2版)》,卓金武,37页)

已知前20家企业的三项评价指标值和评估结果,试建立逻辑回归模型对剩余5家企业进行评估。

返回模型准确率rv和模型评估结果R

'''

def return_values():

    import pandas as pd

    data = pd.read_excel('2.xlsx')

    x_train=data.iloc[:20,1:4]

    y_train=data.iloc[:20,4]

    x_test=data.iloc[20:,1:4]  

    from sklearn.linear_model import LogisticRegression as LR  

    clf = LR()  

    clf.fit(x_train, y_train)  

    rv=clf.score(x_train, y_train)  

    R=clf.predict(x_test)  

    return(rv,R)

Educode--机器学习基础模型与算法测试闯关实验

第3关:主成分分析、K-均值聚类应用

实现代码:

# -*- coding: utf-8 -*-

'''

我国各地区普通高等教育发展状况数据"3.xlsx":首列为“地区”,其他列依次为:

x1-为每百万人口高等院校数

x2-为每十万人口高等院校毕业生数

x3-为每十万人口高等院校招生数

x4-为每十万人口高等院校在校生数

x5-为每十万人口高等院校教职工数

x6-为每十万人口高等院校专职教师数

x7-为高级职称占专职教师比例

x8-为平均每所高等院校的在校生数

x9-为国家财政预算内普通高教经费占国内生产总值比重

x10-为生均教育经费。

(注:数据取自教材《数学建模算法与应用(第2版)》司守奎)

任务如下:

1.对以上指标数据做主成分分析,并提取主成分(累计贡献率达到90%以上即可)。

2.基于提取的主成分,对以上30个地区做K-均值聚类分析(K=4)。

3.返回聚类结果,用一个序列Fs来表示,其中index为地区名称,值为类别标签

  注意类别标签值按升序排列。

'''

def return_values():

    import pandas as pd

    from sklearn.preprocessing import StandardScaler

    from sklearn.cluster import KMeans

    from sklearn.decomposition import PCA   

    #1.数据获取  

    data = pd.read_excel('3.xlsx')  

    X=data.iloc[:,1:] 

  

    pca=PCA(n_components=0.90)  

    pca.fit(X)  

    f=pca.transform(X)  #主成分  

    f=pd.DataFrame(f)  

# 标准化  

    scaler = StandardScaler()  

    scaler.fit(f)   

    XZ=scaler.transform(f)    

    model = KMeans(n_clusters = 4, random_state=0, max_iter = 500) 

    model.fit(XZ) #开始聚类  

    c=model.labels_  

    Fs=pd.Series(c,index=data['地区'])  

    Fs=Fs.sort_values(ascending=True)  

    return Fs

    Educode--机器学习基础模型与算法测试闯关实验

第4关:多因变量神经网络回归应用 

 实现代码:

# -*- coding: utf-8 -*-

'''

公路运量主要包括公路客运量和公路货运量两个方面。

根据研究,某地区的公路运量主要与该地区的人数、机动车数量和公路面积有关,

表"4.xlsx"给出了某个地区20年的公路运量相关数据,字段如下:

年份、人数(万人)、机动车数量(万辆)、公路面积(万平方千米)、

公里客运量(万人)、公里货运量(万吨)

根据相关部门数据,该地区2010年和2011年的人数分别为73.39万和75.55万,

机动车数量分别为3.9635万辆和4.0975万辆,公路面积分别为0.9880万平方千米和1.0268万平方千米。

请利用BP神经网络预测该地区2010年和2011年的公路客运量和公路货运量,记为y1(2*2的数组)

'''

def return_values():  

    import pandas as pd  

    import numpy as np  

    from sklearn.neural_network import MLPRegressor as MP  

    # 1.数据获取  

    data = pd.read_excel('4.xlsx')  

    x_train=data.iloc[:,1:4]  

    y_train=data.iloc[:,4:6]  

    clf = MP(solver='lbfgs', alpha=1e-5,hidden_layer_sizes=8, random_state=1)   

    clf.fit(x_train, y_train);   

    a=np.array([[73.39,3.9635,0.9880],[75.55,4.0975,1.0268]]) #预测2010和2011年  

    y1=clf.predict(a)    

    return y1 

Educode--机器学习基础模型与算法测试闯关实验

第5关:布尔数据集构建、关联规则挖掘应用

实现代码: 

# -*- coding: utf-8 -*-

'''

假设有数据集"5.xlsx",每行代表一个顾客在超市的购买记录,内容如下:

I1、西红柿、排骨、鸡蛋、毛巾、水果刀、苹果

I2、西红柿、茄子、水果刀、香蕉

I3、鸡蛋、袜子、毛巾、肥皂、苹果、水果刀

I4、西红柿、排骨、茄子、毛巾、水果刀

I5、西红柿、排骨、酸奶、苹果

I6、鸡蛋、茄子、酸奶、肥皂、苹果、香蕉

I7、排骨、鸡蛋、茄子、水果刀、苹果

I8、土豆、鸡蛋、袜子、香蕉、苹果、水果刀

I9、西红柿、排骨、鞋子、土豆、香蕉、苹果

(注意:表格的每行内容如上所述,无表头,列数不相同)

任务如下:

1.将数据集转换为布尔数据集

2.利用关联规则支持度和置信度定义挖掘出任意两个商品之间的关联规则。

3.要求支持度大于0.4,置信度大于0.7

4.返回结果用一个数据框R来表示,字段为:rule、support、confidence

  其中规则为“商品名称--商品名称”命名

'''

def return_values():

    ##生成布尔值数据表Data

    tiem=['西红柿','排骨','鸡蛋','毛巾','水果刀','苹果','茄子','香蕉','袜子','肥皂','酸奶','土豆','鞋子']

    import pandas as pd

    import numpy as np

    data=pd.read_excel('5.xlsx',header=None)

    data=data.iloc[:,1:]

    D=dict()

    for t in range(len(tiem)):

        z=np.zeros((len(data)))

        li=list()

        for k in range(len(data.iloc[0,:])):

            s=data.iloc[:,k]==tiem[t]

            li.extend(list(s[s.values==True].index))

            z[li]=1

            D.setdefault(tiem[t],z)

            Data=pd.DataFrame(D) #布尔值数据表     

##(1)小问    

#获取字段名称,并转化为列表   

    c=list(Data.columns)  

    c0=0.7#最小置信度  

    s0=0.4#最小支持度  

    list1=[]#预定义列表list1,用于存放规则  

    list2=[]#预定义列表list2,用于存放规则的支持度  

    list3=[]#预定义列表list3,用于存放规则的置信度  

    for k in range(len(c)):  

        for q in range(len(c)):  

        #对第c[k]个项目与第c[q]个项挖掘关联规则  

        #规则的前件为c[k]  

        #规则的后件为c[q]  

        #要求前件和后件不相等  

            if c[k]!=c[q]:  

                c1=Data[c[k]]  

                c2=Data[c[q]]  

                I1=c1.values==1  

                I2=c2.values==1  

                t12=np.zeros((len(c1)))  

                t1=np.zeros((len(c1)))  

                t12[I1&I2]=1  

                t1[I1]=1  

                sp=sum(t12)/len(c1)#支持度  

                co=sum(t12)/sum(t1)#置信度  

            #取置信度大于等于c0的关联规则  

                if co>=c0 and sp>=s0:  

                    list1.append(c[k]+'--'+c[q])  

                    list2.append(sp)  

                    list3.append(co)  

#定义字典,用于存放关联规则及其置信度、支持度                  

    R={'rule':list1,'support':list2,'confidence':list3}  

#将字典转化为数据框  

    R=pd.DataFrame(R)  

    return R

Educode--机器学习基础模型与算法测试闯关实验

Educode--机器学习基础模型与算法测试闯关实验 

Educode--机器学习基础模型与算法测试闯关实验 

 




 

               

        

    文章来源地址https://www.toymoban.com/news/detail-458646.html

到了这里,关于Educode--机器学习基础模型与算法测试闯关实验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ML:机器学习中有监督学习算法的四种最基础模型的简介(基于概率的模型、线性模型、树模型-树类模型、神经网络模型)、【线性模型/非线性模型、树类模型/基于样本距离的模型】多种对比(假设/特点/决策形式等

    ML:机器学习中有监督学习算法的四种最基础模型的简介(基于概率的模型、线性模型、树模型-树类模型、神经网络模型)、【线性模型/非线性模型、树类模型/基于样本距离的模型】多种对比(假设/特点/决策形式等) 目录

    2024年02月09日
    浏览(64)
  • 【Python机器学习】实验06 KNN最近邻算法

    1. k k k 近邻法是基本且简单的分类与回归方法。 k k k 近邻法的基本做法是:对给定的训练实例点和输入实例点,首先确定输入实例点的 k k k 个最近邻训练实例点,然后利用这 k k k 个训练实例点的类的多数来预测输入实例点的类。 2. k k k 近邻模型对应于基于训练数据集对

    2024年02月15日
    浏览(51)
  • 机器学习基础15-模型保存

    结果部署是机器学习项目中的最后一步,也是最重要的步骤之一。选 定算法之后,对算法训练生成模型,并部署到生产环境上,以便利用机器学习解决实际问题。模型生成之后,也需要定期对模型进行更新,使模型处于最新、最有效的状态,通常建议 3~6个月更新一次模型。

    2024年02月11日
    浏览(41)
  • 【机器学习】最大熵模型【下】最大熵模型学习的最优化算法

    有任何的书写错误、排版错误、概念错误等,希望大家包含指正。 由于字数限制,分成两篇博客。 【机器学习】最大熵模型【上】最大熵模型概述与约束最优化问题 【机器学习】最大熵模型【下】最大熵模型学习的最优化算法 这里的最优化算法就是用于训练最大熵模型参数

    2023年04月15日
    浏览(56)
  • 机器学习基础16-建立预测模型项目模板

    机器学习是一项经验技能,经验越多越好。在项目建立的过程中,实 践是掌握机器学习的最佳手段。在实践过程中,通过实际操作加深对分类和回归问题的每一个步骤的理解,达到学习机器学习的目的 不能只通过阅读来掌握机器学习的技能,需要进行大量的练习。本章将介

    2024年02月10日
    浏览(30)
  • 机器学习:逻辑回归模型算法原理(附案例实战)

    作者:i阿极 作者简介:Python领域新星作者、多项比赛获奖者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍 📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪 订阅专栏案

    2024年01月20日
    浏览(48)
  • 【零基础学机器学习 2】 机器学习的实操步骤-以及在Python中实现机器学习模型

    👨‍💻 作者简介:程序员半夏 , 一名全栈程序员,擅长使用各种编程语言和框架,如JavaScript、React、Node.js、Java、Python、Django、MySQL等.专注于大前端与后端的硬核干货分享,同时是一个随缘更新的UP主. 你可以在各个平台找到我! 🏆 本文收录于专栏: 零基础学机器学习 🔥 专栏

    2024年02月05日
    浏览(43)
  • 机器学习基础 HMM模型(隐马尔科夫)

    推荐参考:https://juejin.cn/post/6844903891834781703 在机器学习算法中,马尔可夫链(Markov chain)是个很重要的概念。马尔可夫链(Markov chain),又称离散时间马尔可夫链(discrete-time Markov chain),因俄国数学家安德烈·马尔可夫(俄语:Андрей Андреевич Марков)得名。 马尔科

    2024年02月02日
    浏览(71)
  • 【机器学习】一文搞懂算法模型之:LSTM

    小屌丝 :鱼哥, 你说什么是LSTM 小鱼 :LSTM… LSTM … 小屌丝 :鱼哥, LSTM是啥? 小鱼 :LSTM是… 不好意思说啊 小屌丝 :这,有啥不好意思说的? 小鱼 :你自己用输入法敲一下不就知道了。 小屌丝 :… 小鱼 :是啥啊, 让我看看? 小鱼 :咋了,还不让我看,一定是… 小屌

    2024年04月28日
    浏览(41)
  • 机器学习基础算法--回归类型和评价分析

    目录 1.数据归一化处理 2.数据标准化处理 3.Lasso回归模型 4.岭回归模型 5.评价指标计算       MSE= i=1 n ( Y i - Y ^ ) 2 n RMES= i=1 n ( Y i - Y ^ ) 2 n MAE= i=1 n | Y i - Y ^ | n R 2 =1- i=1 n ( Y ^ - Y i ) 2 i=1 n ( Y ¯ - Y i )2

    2024年02月09日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包