Sklearn——用Sklearn实现线性回归(LinearRegression)

1.前言

Sklearn 中的datasets,很多而且有用,可以用来学习算法模型。

比如: boston 房价, 糖尿病, 数字, Iris 花。

也可以生成虚拟的数据,例如用来训练线性回归模型的数据,可以用函数来生成。
在这里插入图片描述
例如,点击进入 boston 房价的数据,可以看到 sample 的总数,属性,以及 label 等信息。
在这里插入图片描述
如果是自己生成数据,按照函数的形式,输入 sample,feature,target 的个数等等。

sklearn.datasets.make_regression(n_samples=100, n_features=100, n_informative=10, n_targets=1, bias=0.0, effective_rank=None, tail_strength=0.5, noise=0.0, shuffle=True, coef=False, random_state=None)[source]

2.Sklearn实战线性回归

2.1.导入必要模块

from sklearn import datasets    #导入数据模块
from sklearn.model_selection import train_test_split   #导入切分训练集、测试集模块
from sklearn.linear_model import LinearRegression

2.2.加载数据

加载 boston房价 的数据,把属性存在 X,类别标签存在 y:

boston_data = datasets.load_boston()     #加载数据
data_x = boston_data.data    #数据
data_y = boston_data.target  #标签

观察一下数据集

print(data_x)
print(data_y)

把数据集分为训练集和测试集,其中 test_size=0.3,即测试集占总数据的 30%:

x_train, x_test, y_train, y_test = train_test_split(data_x, data_y,test_size = 0.3)
print(y_train)
print(y_test)

可以看到分开后的数据集,顺序也被打乱,这样更有利于学习模型:

2.3.训练+预测

定义模块方式 LinearRegression(), 用 fit 来训练 training data,这一步就完成了训练的所有步骤, 后面的 model 就已经是训练好的模型,可以直接用来 predict 测试集的数据, 对比用模型预测的值与真实的值,可以看到大概模拟出了数据,但是有误差,是不会完完全全预测正确的。

model = LinearRegression()   #实例化模型
model.fit(x_train, y_train)  #用训练数据训练
print(model.predict(x_test))  #预测
print(y_test)     #实际

为了提高准确度,可以通过尝试不同的 model,不同的参数,不同的预处理等方法,入门的话可以直接用默认值。

  • 10
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
sklearn实现线性回归的步骤如下所示: 1. 导入必要模块: ``` from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression ``` 2. 加载数据: ``` # 以波士顿房价数据集为例 boston = datasets.load_boston() X = boston.data y = boston.target ``` 3. 划分训练集和测试集: ``` X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) ``` 4. 创建线性回归模型对象: ``` lin_reg = LinearRegression() ``` 5. 训练模型: ``` lin_reg.fit(X_train, y_train) ``` 6. 预测结果: ``` y_pred = lin_reg.predict(X_test) ``` 通过以上步骤,我们可以使用sklearn库中的LinearRegression实现线性回归,并对给定的特征数据进行预测。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [sklearn线性回归](https://blog.csdn.net/luguojiu/article/details/103252707)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Sklearn——用Sklearn实现线性回归(LinearRegression)](https://blog.csdn.net/weixin_37763870/article/details/105161775)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值