【人工智能】机器学习之用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月前
|
机器学习/深度学习 人工智能 安全
探索AI的未来:从机器学习到深度学习
【10月更文挑战第28天】本文将带你走进AI的世界,从机器学习的基本概念到深度学习的复杂应用,我们将一起探索AI的未来。你将了解到AI如何改变我们的生活,以及它在未来可能带来的影响。无论你是AI专家还是初学者,这篇文章都将为你提供新的视角和思考。让我们一起探索AI的奥秘,看看它将如何塑造我们的未来。
102 3
|
25天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
89 4
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
3月前
|
机器学习/深度学习 人工智能 物联网
通义灵码在人工智能与机器学习领域的应用
通义灵码不仅在物联网领域表现出色,还在人工智能、机器学习、金融、医疗和教育等领域展现出广泛应用前景。本文探讨了其在这些领域的具体应用,如模型训练、风险评估、医疗影像诊断等,并总结了其提高开发效率、降低门槛、促进合作和推动创新的优势。
通义灵码在人工智能与机器学习领域的应用
|
3月前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
2月前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
203 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
2月前
|
机器学习/深度学习 传感器 人工智能
人工智能与机器学习:改变未来的力量####
【10月更文挑战第21天】 在本文中,我们将深入探讨人工智能(AI)和机器学习(ML)的基本概念、发展历程及其在未来可能带来的革命性变化。通过分析当前最前沿的技术和应用案例,揭示AI和ML如何正在重塑各行各业,并展望它们在未来十年的潜在影响。 ####
96 27
|
2月前
|
机器学习/深度学习 人工智能 算法
人工智能浪潮下的编程实践:构建你的第一个机器学习模型
在人工智能的巨浪中,每个人都有机会成为弄潮儿。本文将带你一探究竟,从零基础开始,用最易懂的语言和步骤,教你如何构建属于自己的第一个机器学习模型。不需要复杂的数学公式,也不必担心编程难题,只需跟随我们的步伐,一起探索这个充满魔力的AI世界。
65 12
|
3月前
|
机器学习/深度学习 人工智能 算法
人工智能与机器学习的融合之旅
【10月更文挑战第37天】本文将探讨AI和机器学习如何相互交织,共同推动技术发展的边界。我们将深入分析这两个概念,了解它们是如何互相影响,以及这种融合如何塑造我们的未来。文章不仅会揭示AI和机器学习之间的联系,还会通过实际案例展示它们如何协同工作,以解决现实世界的问题。
|
3月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
124 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
3月前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
161 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型