From 3a1c440f813f67e13113ed4cffaf0ccb63295e79 Mon Sep 17 00:00:00 2001 From: ali976 <2214960318@qq.com> Date: Fri, 5 Jul 2024 18:48:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=98=E9=9B=85=E9=9B=B2=E7=9A=84=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 7-5/__pycache__/datas.cpython-312.pyc | Bin 0 -> 1007 bytes 7-5/datas.py | 156 ++++++++++++++++++++++++++ 7-5/predict.py | 39 +++++++ 3 files changed, 195 insertions(+) create mode 100644 7-5/__pycache__/datas.cpython-312.pyc create mode 100644 7-5/datas.py create mode 100644 7-5/predict.py diff --git a/7-5/__pycache__/datas.cpython-312.pyc b/7-5/__pycache__/datas.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5098ae118ab8fadf5c2add84d17b298899163bea GIT binary patch literal 1007 zcmX@j%ge<81Uehr)0S~FFgylvU_b)O_^iRmz%ZR5g&~D8g(-y@2w75C=dc0!Y*0Qs zl+OX>b3*wL^-O5$nNm>IGo>KZa{*02RuADL)N=uChpFdAa}PI~d$?0j-2+n(GasfN z<{p@OWb+~R^ML&WQV-$tLirp(KFB?MAbz?~6hkGyra&nhFx;L_nEGr{xVb8oQ~Cuij6=iFi~E~(5(y~SEkl$o6R zvI(RoLK>*M9mFaS2eO!fEQk$DRz2;TpUI&Bl*s`RGZYyZ{4^PFv8E)JBo?n^_zYCZ z@JrssDyE>aBqKjBpeR2pHMt}vF~(fiGzP3lub}c5hfQvNN@-52U6Bw_J;<5G7l7mk zW=2NF4_pia5;ypTZtx4-5EQy0Ab3MSJ(mMA86rbgBx0btAm0PcVYzyJUM literal 0 HcmV?d00001 diff --git a/7-5/datas.py b/7-5/datas.py new file mode 100644 index 0000000..b8c155e --- /dev/null +++ b/7-5/datas.py @@ -0,0 +1,156 @@ + +datas=[ + # 模拟吕梁第一类房子 + { + "city":"吕梁", + "area":100, + "room":2, + "school":1, + "style":1, + "price":8000, + }, + { + "city":"吕梁", + "area":130, + "room":2, + "school":1, + "style":1, + "price":7000, + }, + { + "city":"吕梁", + "area":135, + "room":2, + "school":1, + "style":1, + "price":6000, + }, + # 模拟吕梁第二类房子 + { + "city":"吕梁", + "area":100, + "room":2, + "school":1, + "style":2, + "price":8000, + }, + { + "city":"吕梁", + "area":130, + "room":2, + "school":1, + "style":2, + "price":7000, + }, + { + "city":"吕梁", + "area":135, + "room":2, + "school":1, + "style":2, + "price":6000, + }, + # 模拟吕梁第三类房子 + { + "city":"吕梁", + "area":100, + "room":3, + "school":2, + "style":2, + "price":8000, + }, + { + "city":"吕梁", + "area":130, + "room":3, + "school":2, + "style":2, + "price":7000, + }, + { + "city":"吕梁", + "area":135, + "room":3, + "school":1, + "style":2, + "price":6000, + }, + # 模拟太原第一类房子 + { + "city": "太原", + "area": 100, + "room": 2, + "school": 1, + "style": 1, + "price": 8000, + }, + { + "city": "太原", + "area": 130, + "room": 2, + "school": 1, + "style": 1, + "price": 7000, + }, + { + "city": "太原", + "area": 135, + "room": 2, + "school": 1, + "style": 1, + "price": 6000, + }, + # 模拟太原第二类房子 + { + "city": "太原", + "area": 100, + "room": 2, + "school": 1, + "style": 2, + "price": 8000, + }, + { + "city": "太原", + "area": 130, + "room": 2, + "school": 1, + "style": 2, + "price": 7000, + }, + { + "city": "太原", + "area": 135, + "room": 2, + "school": 1, + "style": 2, + "price": 6000, + }, + # 模拟太原第三类房子 + { + "city": "太原", + "area": 100, + "room": 3, + "school": 2, + "style": 2, + "price": 8200, + }, + { + "city": "太原", + "area": 130, + "room": 3, + "school": 2, + "style": 2, + "price": 8300, + }, + { + "city": "太原", + "area": 135, + "room": 3, + "school": 1, + "style": 2, + "price": 8600, + }, + + # 城市 x1 房屋面积 x2 房间数量 x3 学区房 x4 装修 x5 + +] diff --git a/7-5/predict.py b/7-5/predict.py new file mode 100644 index 0000000..e0cd6ee --- /dev/null +++ b/7-5/predict.py @@ -0,0 +1,39 @@ +import numpy as np +from datas import datas +X=[] +Y=[] +cityMark={"吕梁":1,"太原":2} +for item in datas: + single=[] + # 城市 + single.append(cityMark[item["city"]]) + # 面积 + single.append(item["area"]) + # 学区房 + single.append(item["school"]) + # 装修 + single.append(item["style"]) + +X.append(single) +Y.append(item["price"]) + +X=np.array(X) +Y=np.array(Y) + +theta=np.linalg.pinv(X.T.dot(X)).dot(X.T).dot(Y) + +print(theta.dot(np.array([1,100,2,1]))) + +# 点乘 +# a=np.array([[1,2,3],[1,2,3],[1,2,3]]) +# b=np.array([1,2,3]) +# print(a.dot(b)) +# 转置 +# print(a) +# print(a.T) +# +# 奇异矩阵 逆 +# a=np.array([[3,2,3],[3,2,3],[3,2,3]]) +# b=np.array([1,2,3]) +# print(np.linalg.pinv(a)) + -- Gitee