成都专业网站建设,深圳创业补贴需要什么条件,wordpress 群聊汉化版插件,长沙企业网站模板前言#xff1a; Hello大家好#xff0c;我是Dream。 今天来学习一下如何使用机器学习梯度下降法进行波士顿房价预测#xff0c;这是简单的一个demo#xff0c;主要展示的是一些小小的思路~ 本文目录#xff1a;一、波士顿房价预测1.全部的数据可视化2.地理数据可视化3.房… 前言 Hello大家好我是Dream。 今天来学习一下如何使用机器学习梯度下降法进行波士顿房价预测这是简单的一个demo主要展示的是一些小小的思路~ 本文目录一、波士顿房价预测1.全部的数据可视化2.地理数据可视化3.房价和人口及位置数据可视化4.所有相关数据的可视化5.房价和收入的可视化6.房价预测的线性回归模型训练梯度下降法二、完整代码1.正规方程2.梯度下降法源工程文件一、波士顿房价预测
sklearn提供给我们两种实现的API 可以根据选择使用 正规方程 sklearn.linear_model.LinearRegression() 梯度下降法 sklearn.linear_model.SGDRegressor(
1.全部的数据可视化
data.hist(bins50, figsize(20, 15))2.地理数据可视化
data.plot(kindscatter, xlongitude, ylatitude, alpha0.4);3.房价和人口及位置数据可视化
data.plot(kindscatter, xlongitude, ylatitude, alpha0.6,sdata[population]/100, labelpopulation, figsize(11,8),cmedian_house_value, cmapplt.get_cmap(jet))4.所有相关数据的可视化
features [median_house_value, median_income, total_rooms, housing_median_age]
scatter_matrix(housing[features], figsize(20, 15));预测median_house_value最相关的特征是median_income。
5.房价和收入的可视化
data.plot(kindscatter, xmedian_income, ymedian_house_value, alpha0.4);最后得到和房价最相关的是收入数据
6.房价预测的线性回归模型训练
梯度下降法
def test():
m 10000
x np.random.normal(sizem)X x.reshape(-1, 1)
y 4. * x 3. np.random.normal(0, 3, sizem)X_train, X_test, y_train, y_test train_test_split(X, y)standardscaler StandardScaler()standardscaler.fit(X_train)
x_train_standard standardscaler.transform(X_train)lrg LinearRegression()# lrg.fit_gd(x_train_standard, y_train, eta0.001, n_iters1e6)lrg.fit_sgd(x_train_standard, y_train)二、完整代码
1.正规方程
def linear_model1():线性回归:正规方程:return:None# 1.获取数据data load_boston()# 2.数据集划分x_train, x_test, y_train, y_test train_test_split(data.data, data.target, random_state22)# 3.特征工程-标准化transfer StandardScaler()x_train transfer.fit_transform(x_train)x_test transfer.fit_transform(x_test)# 4.机器学习-线性回归(正规方程)estimator LinearRegression()estimator.fit(x_train, y_train)# 5.模型评估# 5.1 获取系数等值y_predict estimator.predict(x_test)print(预测值为:\n, y_predict)print(模型中的系数为:\n, estimator.coef_)print(模型中的偏置为:\n, estimator.intercept_)# 5.2 评价# 均方误差error mean_squared_error(y_test, y_predict)print(误差为:\n, error)return None
2.梯度下降法
def linear_model2():线性回归:梯度下降法:return:None# 1.获取数据data load_boston()# 2.数据集划分x_train, x_test, y_train, y_test train_test_split(data.data, data.target, random_state22)# 3.特征工程-标准化transfer StandardScaler()x_train transfer.fit_transform(x_train)x_test transfer.fit_transform(x_test)# 4.机器学习-线性回归(特征方程)estimator SGDRegressor(max_iter1000)estimator.fit(x_train, y_train)# 5.模型评估# 5.1 获取系数等值y_predict estimator.predict(x_test)print(预测值为:\n, y_predict)print(模型中的系数为:\n, estimator.coef_)print(模型中的偏置为:\n, estimator.intercept_)# 5.2 评价# 均方误差error mean_squared_error(y_test, y_predict)print(误差为:\n, error)return None
源工程文件
关注此公众号人生苦短我用Pythons获取源码快点击我吧 好啦这就是今天要分享给大家的全部内容了我们下期再见 ❤️❤️❤️如果你喜欢的话就不要吝惜你的一键三连了~
最后有任何问题欢迎关注下面的公众号获取第一时间消息、作者联系方式及每周抽奖等多重好礼 ↓↓↓