diff --git a/7.5/__pycache__/datas.cpython-312.pyc b/7.5/__pycache__/datas.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..779d9e27d345705c5486bbec18da4744f6858016 Binary files /dev/null and b/7.5/__pycache__/datas.cpython-312.pyc differ diff --git a/7.5/datas.py b/7.5/datas.py new file mode 100644 index 0000000000000000000000000000000000000000..5a56bcf2b8b74999a58ffb7d01b881d1038bda90 --- /dev/null +++ b/7.5/datas.py @@ -0,0 +1,76 @@ +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": 135, + "rooms": 3, + "school": 1, + "style": 1, + "price": 8300 + }, + { + "city":"吕梁", + "area":110, + "rooms":2, + "school":1, + "style":1, + "price":8200 + }, + { + "city": "吕梁", + "area": 130, + "rooms": 3, + "school": 2, + "style": 2, + "price": 6500 + }, + { + "city": "吕梁", + "area": 140, + "rooms": 3, + "school": 1, + "style": 1, + "price": 8600 + }, + { + "city": "太原", + "area": 110, + "rooms": 2, + "school": 1, + "style": 1, + "price": 8200 + }, + { + "city": "太原", + "area": 130, + "rooms": 3, + "school": 2, + "style": 2, + "price": 6500 + }, + { + "city": "太原", + "area": 140, + "rooms": 3, + "school": 1, + "style": 1, + "price": 8600 + }, +] +#a1*1+a2*2+a3*3+a4*4+a5*5 +#[a1,a2,.....] \ No newline at end of file diff --git a/7.5/predict.py b/7.5/predict.py new file mode 100644 index 0000000000000000000000000000000000000000..f0e9faa49b1cc12c14f18900522a3a5281c41f39 --- /dev/null +++ b/7.5/predict.py @@ -0,0 +1,18 @@ +import numpy as np +from datas import datas +X=[] +Y=[] +cityMark={"吕梁":1,"太原":2} +for item in datas: + signal=[] + signal.append(cityMark[item["city"]]) + signal.append(item["area"]) + signal.append(item["rooms"]) + signal.append(item["school"]) + signal.append(item["style"]) + X.append(signal) + 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])))