实验2 线性模型 (python实战学习--使用sklearn解决问题)

文章介绍了在学完机器学习实验后对sklearn库的理解,包括其提供的各种机器学习算法。作者通过线性回归实验,分别进行了单特征和多特征的数据处理,使用sklearn的LinearRegression模型进行训练和预测,强调了亲手实践的重要性。
摘要由CSDN通过智能技术生成

在学完机器学习实验这门课以后,认识了这个sklearn(一个机器学习专门的学习库):

scikit-learn(简称sklearn)是一个基于Python编程语言的机器学习库。它提供了广泛的机器学习算法和工具,包括分类、回归、聚类、降维、模型选择等。scikit-learn被设计成非常易于使用和扩展的工具,它支持包括NumPy和SciPy等在内的Python科学计算库,并且提供了许多示例和文档来帮助用户入门和理解各种机器学习算法的原理和应用。scikit-learn是机器学习领域中最受欢迎的库之一,并且在学术界和工业界都得到了广泛使用。

然后中做了一下自己实验课的实验:

数据准备: 搜集数据、划分训练集、测试集; 设计模型,在训练集学习模型参数;找到最佳的系数; 在测试集用使用训练好的模型做出预测;分析结果、评价算法的性能。

1)必做题:线性回归;

2)选做题:逻辑回归、线性判别分析。

具体实验如下: 建立房价预测模型。利用singleFeature.txt(单特征)和mulFeatures.txt(多特征)中的数据,进行线性回归和预测。

1)单特征线性回归 下载数据集singleFeature.txt,完成一元线性回归y=ax+b。根据数据集是否分割为训练集和测试集,实现下面两种方案。 方案一:所有样本都用来训练和预测。 方案二:一部分样本用来训练,一部分用来检验模型。

2)多特征线性回归 下载数据集mulFeatures.txt,其中每个样本包括2个特征,作一个二元线性回归y=a1x1+a2x2+b,且所有样本都用来训练和预测。

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

x=[]
y=[]
a=[]
f=open("E:\python实战学习\实验二数据集 (1)\singleFeature.txt",'r')  # 打开文件
ss=f.readlines()  # 逐行读取文件内容
l=len(ss)  # 获取文件行数
for i in range(l):
    s=ss[i]  # 获取第i行的内容
    s=s.strip('\n')  # 去掉行尾的换行符
    a=s.split(',')  # 将内容按逗号分割为列表
    for j in range(2):
        a[j]=float(a[j])  # 将列表中的字符串元素转换为浮点数
    x.append(a[0])  # 将第一个元素添加到x列表
    y.append(a[1])  # 将第二个元素添加到y列表

plt.scatter(x,y,c='blue')  # 绘制散点图
plt.xlabel('x')  # 设置x轴标签
plt.ylabel('y')  # 设置y轴标签

x=np.array(x).reshape(-1,1)  # 将x列表转换为NumPy数组并改变形状为一列
y=np.array(y).reshape(-1,1)  # 将y列表转换为NumPy数组并改变形状为一列

lr_model=LinearRegression()  # 创建线性回归模型的实例
lr_model.fit(x,y)  # 使用x和y进行模型拟合
a=lr_model.coef_  # 获取模型的系数
b=lr_model.intercept_  # 获取模型的截距
aa=a[0]  # 获取系数的数值
print(a,b)  # 输出系数和截距的值

yy = lr_model.predict(x)  # 使用模型预测y值
plt.plot(x,yy,c='red')  # 绘制拟合曲线
plt.show()  # 显示图形

 代码很简单简洁,但是这些都是直接调用,没有真正学习到西瓜书的内涵,我觉得还是按照课本自己做一下试验,会收获更多。上边这些都是现成的东西。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值