diff --git a/ltt/datas.py b/ltt/datas.py new file mode 100644 index 0000000000000000000000000000000000000000..1ea44ecf2e60338d28b16adb5674c8fb0348d16d --- /dev/null +++ b/ltt/datas.py @@ -0,0 +1,166 @@ +#经验来源于数据 +#大数据 爬虫 后天 +#模拟吕梁和吕梁的房价数据 +#怎么模拟 城市 面积 户型 是不是学区房 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":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":1, + "style":1, + "price":8600 + }, +#模拟吕梁的第三类房子 + { + "city":"吕梁", + "area":130, + "rooms":3, + "school":2, + "style":2, + "price":6500 + }, + { + "city": "吕梁", + "area": 135, + "rooms": 3, + "school": 2, + "style": 2, + "price": 6300 + }, + { + "city":"吕梁", + "area":140, + "rooms":3, + "school":2, + "style":2, + "price":5600 + }, + + + #模拟太原的第一类房子 + { + "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":8500 + }, + { + "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":2, + "style":2, + "price":8500 + }, + { + "city": "太原", + "area": 135, + "rooms": 3, + "school": 2, + "style": 2, + "price": 8300 + }, + { + "city":"太原", + "area":140, + "rooms":3, + "school":2, + "style":2, + "price":8600 + } +#3000 10 1000 1300 1500 +#吕梁 2 100 3 1 1 +#3000+1400+3000+2600+3000 + +#城市 x1 面积 x2 房间数量 x3 学期房 x4 装修 x5 +#a1x1+a2x2+a3x3+a4x4+a5x5=y + #[a1,a2,...] 数学模型 机器学习 机器学习软件开发 +#3000+1400+3000+2600+3000 +] \ No newline at end of file diff --git a/ltt/predict.py b/ltt/predict.py new file mode 100644 index 0000000000000000000000000000000000000000..ff6b39cc645ed4504fa194c5eafd5e76021b2ebb --- /dev/null +++ b/ltt/predict.py @@ -0,0 +1,36 @@ +#先安装一个科学计算的框架 +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["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(Y) + + print(theta.dot(np.array([2,100,2,1,1]))) + + +#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)) +