机器学习的引入、测算房价数学模型的Python实现

  • 人类的学习:发现知识、运用知识;
  • 机器学习:(Machine Learning,缩写ML)
    • 建立模型、应用模型;
    • 如果一个系统能够通过执行某个过程改进其性能,这就是学习;(H.A.Simon)
    • 给定任务T和损失函数L(即性能度量P,或称作学习策略R),借助样本数据集D(历史数据)和学习算法A,训练处最优(损失最小)模型(用函数f表示),然后使用该模型对新样本进行预测;

常用的应用场景

  • 数据挖掘;
    • 利用历史数据进行决策;
      • 依据商品之间的关联性进行商品摆放与分类;
      • 优惠券的定向发放;
      • 信用卡风险分析;
      • 交易风险分析;
  • 个性化相关操作;
    • 垃圾邮件过滤(机器学习算法最先应用的领域之一);
    • 猜你喜欢、个性化推荐;
  • 不想人工/人工难以实现的功能;
    • 语音识别;
    • 图像识别;
    • 手写识别;
    • 自动驾驶;

百科

  • 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科;
  • 专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能;
  • 它是人工智能核心,是使计算机具有智能的根本途径;

根据面积计算房价(Python实现)

基本过程
  • 以几何形式展现数学模型;
  • 机器学习;
    • 模型假设;
      • 通过研究确定输入输出之间的数学关系;
    • 训练、拟合、学习;
      • 通过实际样本数据来确定模型参数;
    • 预测;
      • 使用模型进行工作;
  • 编程实现;
代码
  • ML.py
    class LinearModel:  # 定义线性模型类
        
        def __init__(self):  # 定义类的构造方法
            self.omega = 0  # 待定系数
            self.b = 0  # 待定系数
        
        def fit(self, x_train, y_train):  # 定义训练方法的模型
            self.omega = (y_train[0] - y_train[1])/(x_train[0] - x_train[1])
            self.b = y_train[0] - x_train[0] * self.omega
            return
        
        def predict(self, x_test):  # 定义使用模型进行预测的方法
            y_test = self.omega * x_test + self.b
            return y_test  # 返回预测结果
    
  • test.py
    from ML import LinearModel  # 引入模块中的类
    
    def main():  # 定义程序的主函数
        temp = input("请输入房屋面积和对应房价数据(至少两对数据,且数据之间用空格隔开):")  # 存放键盘输入的数据
        list = temp.split(" ")  # 将数据拆分成列表
        X = []
        Y = []
        for i in range(len(list)):  # 将列表元素对应存储
            if i % 2 == 0:
                X.append(float(list[i]))
            else :
                Y.append(float(list[i]))
        HousepPrice = LinearModel()  # 使用类创建对象
        HousepPrice.fit(X, Y)  # 调用类的函数
        print( "经过计算得出:omega=", HousepPrice.omega, ",b=", HousepPrice.b, "。\n" )
    
        x = float(input("请输入房屋面积(以平方米为单位):"))
        y = HousepPrice.predict(x)  # 调用类的函数
        print( "面积为",x,"平方米的房屋价格为:",y )
        return 
    
    main()
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

世澈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值