diff --git a/__pycache__/datas.cpython-312.pyc b/__pycache__/datas.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e064b69b26ed4f0c04a7cb687263bd5b85b9d269 Binary files /dev/null and b/__pycache__/datas.cpython-312.pyc differ diff --git a/datas.py b/datas.py new file mode 100644 index 0000000000000000000000000000000000000000..8e4f08dea7c691197b7da3b7a5e011a9afe618a5 --- /dev/null +++ b/datas.py @@ -0,0 +1,160 @@ +# 经验是来源于数据 +# 大数据 爬虫 + +# 模拟太原 和吕梁的房价数据 +# 怎么模拟 城市 面积 户型 是不是学区房 装修的风格 +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": 130, + "rooms": 3, + "school": 1, + "style": 1, + "price": 8300 + }, + { + "city":"吕梁", + "area":135, + "rooms":3, + "school":1, + "style":1, + "price":8300 + }, + { + "city":"吕梁", + "area":140, + "rooms":3, + "school":1, + "style":1, + "price":8600 + }, + +{ + "city": "吕梁", + "area": 130, + "rooms": 3, + "school": 1, + "style": 1, + "price": 5000 + }, + { + "city":"吕梁", + "area":135, + "rooms":3, + "school":1, + "style":1, + "price":5300 + }, + { + "city":"吕梁", + "area":140, + "rooms":3, + "school":1, + "style":1, + "price":6300 + }, + { + "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": 130, + "rooms": 3, + "school": 1, + "style": 1, + "price": 8300 + }, + { + "city": "太原", + "area": 135, + "rooms": 3, + "school": 1, + "style": 1, + "price": 8300 + }, + { + "city": "太原", + "area": 140, + "rooms": 3, + "school": 1, + "style": 1, + "price": 8600 + }, + + { + "city": "太原", + "area": 130, + "rooms": 3, + "school": 1, + "style": 1, + "price": 8500 + }, + { + "city": "太原", + "area": 135, + "rooms": 3, + "school": 1, + "style": 1, + "price": 8300 + }, + { + "city": "太原", + "area": 140, + "rooms": 3, + "school": 2, + "style": 2, + "price": 8600 + }, + + +] + diff --git a/predict.py b/predict.py new file mode 100644 index 0000000000000000000000000000000000000000..5d3520525c411ccaf28fec6a1a8533197660bb23 --- /dev/null +++ b/predict.py @@ -0,0 +1,33 @@ +import numpy as np + +# 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) # 转置 +# print(np.linalg.pinv(a)) #求逆矩阵 + + +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["rooms"]) + 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([2,100,2,1,1]))) +# print(theta)