From 3a058746f09e171120390f1bc00c32685c489615 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E8=88=92=E5=A8=85?= <3026534566@qq.com> Date: Fri, 5 Jul 2024 20:46:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=90=E8=88=92=E5=A8=85=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-311.pyc | Bin 0 -> 1150 bytes 7.5/datas.py | 160 ++++++++++++++++++++++++++ 7.5/predict.py | 36 ++++++ 3 files changed, 196 insertions(+) create mode 100644 7.5/__pycache__/datas.cpython-311.pyc create mode 100644 7.5/datas.py create mode 100644 7.5/predict.py diff --git a/7.5/__pycache__/datas.cpython-311.pyc b/7.5/__pycache__/datas.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cf884644df243a1f865c807c65f88df04522589c GIT binary patch literal 1150 zcmb`Fze~eF6vtoEB-Yw$lK!w={IRHY=%ffD;^5$PeT z2qK97MJ1CU3f&5BPQFVnC06KQy@SX5-23&tOP*4x1mJ4CG!7C;fHw-^$}{J4mIJr} z0)!(xiQyKAcqc_z>f!;$ah5;GIKg;`aguQ=lF#GWa3_BRi6?R=KVZdYwWBB9#hEV7 zG7j~G@la2W#X~)#k$gHo(5sRJ3FZg)QAv`qum4cp1Crl@V&PcAmwUgu{&+ZR5p-KT zHTZ~Nu8ac|B~K`uwYn$hj-h*^W7`$ilic!=ZCjq`*6NnwiB-oe8|KLv7R4v9yg|$7 zCeb^mo<+|tsCSEJ<{f^lR*WJkpn1S%e1-Y@S>c^VIeBAT@+G)psRju6+2oF@{! zrn}GZiPi8mvAU?4#L%_P-R-rFb#B14^MOr>S7ow@UVh=D$aOch2?f h+&dao^}n5?bANY^&Q<$(t9@aIALLI(x*Y}on{NosB_99) literal 0 HcmV?d00001 diff --git a/7.5/datas.py b/7.5/datas.py new file mode 100644 index 0000000..b021efa --- /dev/null +++ b/7.5/datas.py @@ -0,0 +1,160 @@ +#经验来源于数据 +# 大数据 + +#模拟太原和吕梁的房价数据 + +#怎么模拟 影响因素:城市 面积 户型 学区房 1 是 2 不是 装修 精装 1 毛坯 2 。。。。。。 + +datas = [ + #模拟吕梁第一类 + { + "city":"吕梁", + "area":100, + "rooms":2, + "school":1, + "style":1, + "price":8000 + }, + { + "city":"吕梁", + "area":100, + "rooms":2, + "school":1, + "style":1, + "price":7800 + }, + { + "city":"吕梁", + "area":100, + "rooms":2, + "school":1, + "style":1, + "price":8200 + }, + #模拟吕梁第二类 + { + "city":"吕梁", + "area":135, + "rooms":2, + "school":1, + "style":1, + "price":8500 + }, + { + "city":"吕梁", + "area":130, + "rooms":2, + "school":1, + "style":1, + "price":8300 + }, + { + "city":"吕梁", + "area":140, + "rooms":2, + "school":1, + "style":1, + "price":8600 + }, + # 模拟吕梁第三类 + { + "city": "吕梁", + "area": 135, + "rooms": 2, + "school": 2, + "style": 2, + "price": 6300 + }, + { + "city": "吕梁", + "area": 130, + "rooms": 3, + "school": 2, + "style": 2, + "price": 6500 + }, + { + "city": "吕梁", + "area": 140, + "rooms": 3, + "school": 2, + "style": 2, + "price": 5600 + }, + # 模拟太原第一类 + { + "city": "太原", + "area": 100, + "rooms": 2, + "school": 1, + "style": 1, + "price": 10000 + }, + { + "city": "太原", + "area": 100, + "rooms": 2, + "school": 1, + "style": 1, + "price": 10500 + }, + { + "city": "太原", + "area": 100, + "rooms": 2, + "school": 1, + "style": 1, + "price": 9800 + }, + # 模拟太原第二类 + { + "city": "太原", + "area": 135, + "rooms": 2, + "school": 1, + "style": 1, + "price": 10500 + }, + { + "city": "太原", + "area": 130, + "rooms": 2, + "school": 1, + "style": 1, + "price": 10300 + }, + { + "city": "太原", + "area": 140, + "rooms": 2, + "school": 1, + "style": 1, + "price": 10600 + }, + # 模拟太原第三类 + { + "city": "太原", + "area": 135, + "rooms": 2, + "school": 2, + "style": 2, + "price": 8300 + }, + { + "city": "太原", + "area": 130, + "rooms": 3, + "school": 2, + "style": 2, + "price": 8500 + }, + { + "city": "太原", + "area": 140, + "rooms": 3, + "school": 2, + "style": 2, + "price": 8600 + }, + +] diff --git a/7.5/predict.py b/7.5/predict.py new file mode 100644 index 0000000..2e1a4e8 --- /dev/null +++ b/7.5/predict.py @@ -0,0 +1,36 @@ +#1.先安装一个 科学的计算框架 pip install numpy +import numpy as np +from datas import datas +# a=np.array([[3,2,3],[3,2,3],[3,2,3]]) +# b=np.array([1,2,3]) +# #矩阵的点乘 +# print(a.dot(b)) +# #矩阵的转置 +# print(a.T) +# #矩阵求逆 +# #奇异矩阵 +# print(np.linalg.pinv(a)) +X=[] +Y=[] +cityMark={"吕梁":1,"太原":2} +for item in datas: + single=[] + #城市 + single.append(cityMark[item["city"]]) + #面积 + single.append(item["area"]) + #rooms + single.append(item["rooms"]) + #school + single.append(item["school"]) + #style + 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) + + -- Gitee