【人工智能】机器学习之用Python实现最小二乘法进行房价预测以及进行贷款额度预测

简介: 使用最小二乘法进行房价预测:首先明白什么是最小二乘法,利用最小二乘法公式

1.使用最小二乘法进行房价预测:

给定训练样本集合如下:

在这里插入图片描述

求解:当房屋面积为55平方时,租赁价格是多少?给出代码与运行结果图。

首先明白什么是最小二乘法,利用最小二乘法公式

p = (X^TX)^-1 X^T Y
import numpy as np
from numpy import mat
import matplotlib.pyplot as plt

if __name__ == "__main__":
    # 1 获得x,y数据#  ##########
    X = np.array([10, 15, 20, 30, 50, 60, 60, 70])
    y = np.array([0.8, 1, 1.8, 2, 3.2, 3, 3.3, 3.5])
    plt.scatter(X, y)
    plt.show()
    # 2 矩阵形式转换X, Y
    Y_mat = mat(y).T
   # print(Y_mat)
    X_temp = np.ones((8, 2))
    #print(X_temp)
    X_temp[:, 0] = X
   # print(X_temp)
    X_mat = mat(X_temp)
    #print(X_mat)
    # 3 利用解析法 p = (X^TX)^-1 X^T Y
    pamaters = (((X_mat.T)*X_mat).I) * X_mat.T*Y_mat
    ¥print(pamaters)
    # 4  显示
    predict_Y = X_mat * pamaters
   # print(predict_Y)
    plt.figure()
    plt.scatter(X, y, c="blue")
    plt.plot(X, predict_Y, c="red")
    plt.title("房价预测图")  # 设置图表标题
    plt.xlabel("房屋面积(m^2)")  # 设置x坐标轴标签
    plt.ylabel("租赁价格(1000$)")  # 设置y坐标轴标签
    plt.rcParams['font.sans-serif'] = ['Kaiti']  # 用来正常显示中文(黑体)常用字体包括: Kaiti-楷体; FangSong-仿宋; Microsoft YaHei-微软雅黑
    plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
    plt.show()
    s = input("请输入房屋面积:")
    #print(s)
    s_temp = np.ones((1, 2))
    s_temp[:, 0] = s
    #print(s_temp)
    s_mat = mat(s_temp)
    z = s_mat * pamaters
    print("租赁价格为:", z)

散点图和折线图
在这里插入图片描述
输入房屋面积即可得出租赁价格!

2. 使用最小二乘法进行贷款额度预测:

给定训练样本集合如下:
在这里插入图片描述

求解:当工资18000、年龄30时,额度是多少?给出代码与运行结果图

难点在于有两个参数
画三维图需要引入mpl_toolkits.mplot3d

最小二乘法公式不变

 p = (X^TX)^-1 X^T Y

在画图时要分别为x,y,z轴赋值,并写上坐标标签,由于数据的小数位太多,超出位数范围会报错,所以要将小数变为整数!

import numpy as np
from numpy import mat
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D     # 画三维图

if __name__ == "__main__":
    # 1 获得x,y数据#  ##########
    X = np.array([[4000, 25], [8000, 30], [5000, 28], [7500, 33], [12000, 40]])
    Y = np.array([20000, 70000, 35000, 50000, 85000])


    # 2 矩阵形式转换X, Y
    Y_mat = mat(Y).T

    X_temp = np.ones((5, 3))
    X_temp[:, 0] = X[:, 0]
    X_temp[:, 1] = X[:, 1]
    #print(X_temp)
    X_mat = mat(X_temp)
   # print(X_mat)
    # 3 利用解析法 p = (X^TX)^-1 X^T Y
    pamaters = (((X_mat.T) * X_mat).I) * X_mat.T * Y_mat
    #print(pamaters)
    # 4 显示
    fig1 = plt.figure()
    ax1 = Axes3D(fig1)
    x = X[:, 0]
    y = X[:, 1]
    z = Y
    Z = X_mat * pamaters
    #print(Z)
    n = list(map(int, Z[:, 0]))   # Z中的数的位数超出范围
    #print(n)
    ax1.scatter3D(x, y, z, c='blue')
    ax1.plot3D(x, y, n, c='red')
    plt.title("贷款额度预测图")  # 设置图表标题
    plt.xlabel("工资")  # 设置x坐标轴标签
    plt.ylabel("年龄")  # 设置y坐标轴标签
    ax1.set_zlabel("额度")# 设置z坐标标签
    plt.rcParams['font.sans-serif'] = ['Kaiti']  # 用来正常显示中文(黑体)常用字体包括: Kaiti-楷体; FangSong-仿宋; Microsoft YaHei-微软雅黑
    plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
    plt.show()

    a = eval(input("请输入工资:"))
    b = eval(input("请输入年龄: "))
    s = np.array([[a, b]])
   # print(s)
    s_temp = np.ones((1, 3))
    s_temp[:, 0] = s[:, 0]
    s_temp[:, 1] = s[:, 1]
    #print(s_temp)
    s_mat = mat(s_temp)
    m = s_mat * pamaters
    print("贷款额度为:", m)

三维散点和折线图

在这里插入图片描述
输入工资和年龄即可输出贷款额度!

目录
相关文章
|
3天前
|
机器学习/深度学习 数据可视化 数据处理
python 机器学习 sklearn——一起识别数字吧
python 机器学习 sklearn——一起识别数字吧
|
3天前
|
机器学习/深度学习 Python
python 机器学习 sklearn——手把手教你预测心脏病
python 机器学习 sklearn——手把手教你预测心脏病
|
11天前
|
机器学习/深度学习 算法 算法框架/工具
Python深度学习基于Tensorflow(5)机器学习基础
Python深度学习基于Tensorflow(5)机器学习基础
19 2
|
11天前
|
机器学习/深度学习 算法 Python
深入浅出Python机器学习:从零开始的SVM教程/厾罗
深入浅出Python机器学习:从零开始的SVM教程/厾罗
|
11天前
|
机器学习/深度学习 边缘计算 TensorFlow
【Python机器学习专栏】Python机器学习工具与库的未来展望
【4月更文挑战第30天】本文探讨了Python在机器学习中的关键角色,重点介绍了Scikit-learn、TensorFlow和PyTorch等流行库。随着技术进步,未来Python机器学习工具将聚焦自动化、智能化、可解释性和可信赖性,并促进跨领域创新,结合云端与边缘计算,为各领域应用带来更高效、可靠的解决方案。
|
11天前
|
机器学习/深度学习 传感器 物联网
【Python机器学习专栏】机器学习在物联网(IoT)中的集成
【4月更文挑战第30天】本文探讨了机器学习在物联网(IoT)中的应用,包括数据收集预处理、实时分析决策和模型训练更新。机器学习被用于智能家居、工业自动化和健康监测等领域,例如预测居民行为以优化能源效率和设备维护。Python是支持物联网项目机器学习集成的重要工具,文中给出了一个使用`scikit-learn`预测温度的简单示例。尽管面临数据隐私、安全性和模型解释性等挑战,但物联网与机器学习的结合将持续推动各行业的创新和智能化。
|
11天前
|
机器学习/深度学习 数据采集 算法
【Python 机器学习专栏】机器学习在医疗诊断中的前沿应用
【4月更文挑战第30天】本文探讨了机器学习在医疗诊断中的应用,强调其在处理复杂疾病和大量数据时的重要性。神经网络、决策树和支持向量机等方法用于医学影像诊断、疾病预测和基因数据分析。Python作为常用工具,简化了模型构建和数据分析。然而,数据质量、模型解释性和伦理法律问题构成挑战,需通过数据验证、可解释性研究及建立规范来应对。未来,机器学习将更深入地影响医疗诊断,带来智能和精准的诊断工具,同时也需跨学科合作推动其健康发展。
|
11天前
|
机器学习/深度学习 分布式计算 物联网
【Python机器学习专栏】联邦学习:保护隐私的机器学习新趋势
【4月更文挑战第30天】联邦学习是保障数据隐私的分布式机器学习方法,允许设备在本地训练数据并仅共享模型,保护用户隐私。其优势包括数据隐私、分布式计算和模型泛化。应用于医疗、金融和物联网等领域,未来将发展更高效的数据隐私保护、提升可解释性和可靠性的,并与其他技术融合,为机器学习带来新机遇。
|
11天前
|
机器学习/深度学习 自然语言处理 搜索推荐
【Python机器学习专栏】迁移学习在机器学习中的应用
【4月更文挑战第30天】迁移学习是利用已有知识解决新问题的机器学习方法,尤其在数据稀缺或资源有限时展现优势。本文介绍了迁移学习的基本概念,包括源域和目标域,并探讨了其在图像识别、自然语言处理和推荐系统的应用。在Python中,可使用Keras或TensorFlow实现迁移学习,如示例所示,通过预训练的VGG16模型进行图像识别。迁移学习提高了学习效率和性能,随着技术发展,其应用前景广阔。
|
11天前
|
机器学习/深度学习 人工智能 算法
【Python 机器学习专栏】强化学习在游戏 AI 中的实践
【4月更文挑战第30天】强化学习在游戏AI中展现巨大潜力,通过与环境交互和奖励信号学习最优策略。适应性强,能自主探索,挖掘出惊人策略。应用包括策略、动作和竞速游戏,如AlphaGo。Python是实现强化学习的常用工具。尽管面临训练时间长和环境复杂性等挑战,但未来强化学习将与其他技术融合,推动游戏AI发展,创造更智能的游戏体验。