From 78f313acaa38daac4b13c10763424174c7ab20ec Mon Sep 17 00:00:00 2001 From: qwerzjy <14648727+qwerzjy@user.noreply.gitee.com> Date: Fri, 5 Jul 2024 19:59:39 +0800 Subject: [PATCH] 123 --- .../__pycache__/datas.cpython-312.pyc | Bin 0 -> 2076 bytes 7.5-homework/datas.py | 150 ++++++++++++++++++ 7.5-homework/predict.py | 18 +++ 3 files changed, 168 insertions(+) create mode 100644 7.5-homework/__pycache__/datas.cpython-312.pyc create mode 100644 7.5-homework/datas.py create mode 100644 7.5-homework/predict.py diff --git a/7.5-homework/__pycache__/datas.cpython-312.pyc b/7.5-homework/__pycache__/datas.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8aafa43683b86cc33352ad282aa47d64ef680ee6 GIT binary patch literal 2076 zcmeH{-)kdP6vxk&tMQ|KSy40G=H zbI!TD2b6c_xYUQEIgAkJ|**~4|#^1k~}N$VcyaS^PW6m-tv(=b?9kA|2ly-Gy{|L<0~mZl~O$D zh_9&Xua#Ag&C&kJ(fBHp{@h?J%>>$4R4twIbugCZ0`04y27jNSSwR&MUg-pl_}K^s zJZ#o+XDR^6+(G^dM@IzpWag&LJ555KGQ6ZmU&Ywr@*^`&1#i8gz2X1nstV4%Q5W&)2fzpgQ2TT zB^8h9UXgmdpS*L9_Z1xQ9pKT$*IvrKS)*<(_uMlpD;IN@>-nPTmM^=N63u(HT(#~M zD~`n6%7y21hsV57tv@neE?3BPo4(>c%~ukyuXdB4y{{sK`lAq=?M4&bSiBoQw6Up& z;gF8|(V>A5?#G7)_>BJp|7qf}Eiu(~G@>;0gBvQK#66hlDp~^#Ok#4^+#5+YjP7{s z4?rl=SnZC5o0r53i}W#|P%GRFZxq|!?xpPy_9CecEOh}NI!SwFv)qCCfM48nI)Yp?6h0TQy%-mN-8;h-UGrjTbN9RS6kKui6w5+Dpa+*$i zZRg7Nm7Qzb*LK%F&FB`5jmA>*FspXc98gvP`G literal 0 HcmV?d00001 diff --git a/7.5-homework/datas.py b/7.5-homework/datas.py new file mode 100644 index 0000000..653a5c9 --- /dev/null +++ b/7.5-homework/datas.py @@ -0,0 +1,150 @@ +# 模拟太原和吕梁的房价 +# 城市x1 面积x2 户型x3 是否学区房x4 (1 2) 装修的风格x5 (1 2) +datas = [ + { + "city": "吕梁", + "area": 100, + "rooms": 2, + "school": 1, + "style": 1, + "price": 8000, + },{ + "city": "吕梁", + "area": 120, + "rooms": 2, + "school": 1, + "style": 1, + "price": 8300, + }, + { + "city": "吕梁", + "area": 130, + "rooms": 2, + "school": 1, + "style": 1, + "price": 8600, + }, + { + "city": "吕梁", + "area": 140, + "rooms": 2, + "school": 1, + "style": 1, + "price": 9000, + }, + { + "city": "吕梁", + "area": 150, + "rooms": 2, + "school": 1, + "style": 1, + "price": 9300, + }, + { + "city": "吕梁", + "area": 160, + "rooms": 2, + "school": 1, + "style": 1, + "price": 9500, + }, + { + "city": "吕梁", + "area": 170, + "rooms": 4, + "school": 3, + "style": 2, + "price": 9500, + }, + { + "city": "吕梁", + "area": 180, + "rooms": 4, + "school": 4, + "style": 3, + "price": 9600, + }, + { + "city": "吕梁", + "area": 190, + "rooms": 2, + "school": 1, + "style": 1, + "price": 9400, + }, + { + "city": "太原", + "area": 210, + "rooms": 2, + "school": 1, + "style": 1, + "price": 9200, + }, + { + "city": "太原", + "area": 200, + "rooms": 2, + "school": 1, + "style": 1, + "price": 9100, + }, + { + "city": "太原", + "area": 190, + "rooms": 2, + "school": 1, + "style": 1, + "price": 9000, + }, + { + "city": "吕梁", + "area": 180, + "rooms": 2, + "school": 1, + "style": 1, + "price": 8900, + }, + { + "city": "太原", + "area": 170, + "rooms": 2, + "school": 1, + "style": 1, + "price": 8800, + }, + { + "city": "太原", + "area": 160, + "rooms": 2, + "school": 1, + "style": 1, + "price": 8700, + }, +] + + +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["rooms"]) +single.append(item["school"]) +single.append(item["style"]) +single.append(item["area"]) +X.append(single) +Y.append(item["price"]) + +X=np.array(X) +Y=np.array(Y) + +theta=np.linalg.pinv(X.T.dot(X)).dot(Y) + + +print(theta) + +print(theta.dot(np.array([2,100,2,1,1]))) diff --git a/7.5-homework/predict.py b/7.5-homework/predict.py new file mode 100644 index 0000000..67c19c6 --- /dev/null +++ b/7.5-homework/predict.py @@ -0,0 +1,18 @@ +# 1.先安装一个 科学计算的框架 +# import numpy as np +#a=np.array([[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5]]) +#b=np.array([1,2,3,4,5]) +#求点乘 +#print(a.dot(b)) +#print(a) +# 奇异矩阵 print(np.linalg.inv(a)) +# 排除掉奇异矩阵求幂 +#print(np.linalg.pinv(a)) +import numpy as np +a=np.array([[3,2,3],[3,2,3],[3,2,3]]) +b=np.array([1,2,3]) + + +print(a.T) +print(a.dot(b)) +print(np.linalg.pinv(a)) -- Gitee