房价预测(HackerRank)
来源:互联网 发布:注册表清理软件 编辑:程序博客网 时间:2024/04/30 18:12
从今天开始要多做一些关于机器学习方面的竞赛题目,题目来源主要是Hackerrank和Kaggle。链接如下
Hackerrank:https://www.hackerrank.com/
Kaggle:https://www.kaggle.com/
在Hackerrank中提交源代码,这就使得很多库都需要自己写,限制比较多。而Kaggle只需要提交数据,所以随便怎么搞都行。现在来讲第一道题,房价预测,这是Andrew Ng课程里的比较经典的例子。题目描述如下
题目:https://www.hackerrank.com/challenges/predicting-house-prices
分析:比较简单,用梯度下降法即可。
代码:
#coding:utf-8class Data:def __init__(self):self.x = []self.y = 0.0def WX(d, w):ans = 0.0for i in range(0, len(w)):ans += w[i] * d.x[i]return ansdef Gradient(d, w, alpha):for i in range(0, len(w)):tmp = 0.0for j in range(0, len(d)):tmp += alpha * d[j].x[i] * (WX(d[j], w) - d[j].y)w[i] -= tmpdef getValues(d, w):res = 0.0for i in range(0, len(d)):tmp = WX(d[i], w)res += (d[i].y - tmp) * (d[i].y - tmp)return resdef Iterator(d, w):alpha = 0.005delta = 0.000001oldVal = getValues(d, w)Gradient(d, w, alpha)newVal = getValues(d, w)while abs(oldVal - newVal) > delta:oldVal = newValGradient(d, w, alpha)newVal = getValues(d, w)def main():while True:try:d = []w = []F, N = map(int, raw_input().split())for i in range(0, N):t = Data()t.x = map(float, raw_input().split())t.x.insert(0, 1.0)t.y = t.x.pop()d.append(t)for i in range(0, F + 1):w.append(0)Iterator(d, w)N = int(raw_input())for i in range(0, N):t = Data()t.x = map(float, raw_input().split())t.x.insert(0, 1.0)print '%.2f'% WX(t, w)except EOFError:breakif __name__ == '__main__':main()
0 1
- 房价预测(HackerRank)
- 优达(Udacity)波士顿预测房价
- matlab 灰色GM(1,1)预测模型 预测房价
- python预测房价
- 波士顿房价预测
- 房价预测解决方案
- [实践]房价预测
- 机器学习(2)-项目 1: 预测波士顿房价
- Regression的 应用-预测房价
- Machine Learning 房价预测实例
- 基于线性回归预测房价
- 利用sklearn做房价预测
- kaggle 房价预测经典文章
- Kaggle房价预测案例分享
- 使用neurolab预测波士顿房价
- 项目 1: 预测波士顿房价
- Kaggle入门实例-预测房价
- p1项目,预测波士顿房价
- 局部全局变量、弹框、键盘退出、延展类、frame、transform
- EXE与SYS通信(其他模式)
- POJ-The Perfect Stall-最大图匹配
- 散列函数
- android工程引用另外一个工程的类和资源
- 房价预测(HackerRank)
- C11标准新特性
- 个人网站
- ListView侧滑删除(SwipeMenuListView)
- div css 背景颜色透明度设置
- 常用工具---前30的英文缩写
- UIPickerView控件学习总结
- 网络传输协议之二进制反码校验和剖析
- java 自动登陆cookie注意事项