快速入门Python机器学习(五)(下)

简介: 快速入门Python机器学习(五)(下)

5.2 用make_regression数据(有噪音)进行线性回归


#加入噪音
def LinearRegression_for_make_regression_add_noise():
       myutil = util()
       X,y = make_regression(n_samples=100,n_features=1,n_informative=2,noise=50,random_state=8)
       X_train,X_test,y_train,y_test = train_test_split(X, y, random_state=8,test_size=0.3)
       clf = LinearRegression().fit(X,y)
       print('lr.coef_: {} '.format(clf.coef_[:]))
       print('reg.intercept_: {}'.format(clf.intercept_))
       print('训练集得分: {:.2%}'.format(clf.score(X_train,y_train)))
       print('测试集得分: {:.2%}'.format(clf.score(X_test,y_test)))


输出

lr.coef_: [68.77648945]
reg.intercept_: 1.2498738851984426
训练集得分: 70.18%
测试集得分: 64.27%


有两个参数,线性回归方程:


y = 68.77648945X+1.2498738851984426

由于数据集有噪声,所以score 不为100.00%.

画出拟合线和得分图。


myutil = util()
title = "make_regression LinearRegression()回归线(有噪音)"
myutil.draw_line(X[:,0],y,clf,title)

image.png


myutil.plot_learning_curve(LinearRegression(),X,y,title)
myutil.show_pic(title)

image.png

得分是非常低的。


5.3 用糖尿病数据进行线性回归


from sklearn import datasets
#用线性回归对sklearn数据进行分析
def useing_sklearn_datasets_for_LinearRegression():
        X,y = datasets.load_diabetes().data,datasets.load_diabetes().target
        X_train,X_test,y_train,y_test = train_test_split(X, y, random_state=8,test_size=0.3)
        lr = LinearRegression().fit(X_train,y_train)
        print('斜率: {}'.format(lr.coef_[0))
        print('截距: {:.3f}'.format(lr.intercept_))
        print('糖尿病训练集得分: {:.3f}'.format(lr.score(X_train,y_train)))
        print('糖尿病测试集得分: {:.3f}'.format(lr.score(X_test,y_test)))


输出:

斜率: [11.5106203   -282.51347161   534.20455671   401.73142674 -1043.89718398   634.92464089  186.43262636   204.93373199   762.47149733    91.9460394 ]
截距: 152.562
糖尿病训练集得分: 53.04%
糖尿病测试集得分: 45.93%


可见用这个方法来拟合糖尿病数据是非常差的。画出得分图。

title = "make_regression 糖尿病数据"
myutil.plot_learning_curve(LinearRegression(),X,y,title)
myutil.show_pic(title)

image.png


由于这里的直线是10维的,所以不能画出拟合曲线。


5.4 用波士顿房价数据进行线性回归


Boston = datasets.load_boston()
X,y = Boston.data,Boston.target
X_train,X_test,y_train,y_test = train_test_split(X, y)
lr = LinearRegression().fit(X_train,y_train)
print('斜率: {}'.format(lr.coef_[:]))
print('截距: {}'.format(lr.intercept_))
print('波士顿房价训练集得分: {:.2%}'.format(lr.score(X_train,y_train)))
print('波士顿房价测试集得分: {:.2%}'.format(lr.score(X_test,y_test)))


输出

斜率: [-1.14130415e-01  4.97830423e-02  4.15213771e-02  2.76156785e+00 -1.77723628e+01  3.89701303e+00 -1.08133797e-02 -1.54389831e+00  3.25856015e-01 -1.49890955e-02 -8.77878878e-01  7.79144087e-03 -4.97358277e-01]
截距: 36.38609891153045
波士顿房价训练集得分: 74.86%
波士顿房价测试集得分: 71.54%

画出得分图。

title = "make_regression 波士顿房价数据"
myutil.plot_learning_curve(LinearRegression(),X,y,title)
myutil.show_pic(title)

image.png


同样这里的直线不是2维的,所以不能画出拟合曲线。

目录
相关文章
|
5天前
|
机器学习/深度学习 数据采集 算法
Python机器学习:Scikit-learn库的高效使用技巧
【10月更文挑战第28天】Scikit-learn 是 Python 中最受欢迎的机器学习库之一,以其简洁的 API、丰富的算法和良好的文档支持而受到开发者喜爱。本文介绍了 Scikit-learn 的高效使用技巧,包括数据预处理(如使用 Pipeline 和 ColumnTransformer)、模型选择与评估(如交叉验证和 GridSearchCV)以及模型持久化(如使用 joblib)。通过这些技巧,你可以在机器学习项目中事半功倍。
16 3
|
10天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
机器学习基础:使用Python和Scikit-learn入门
20 1
|
16天前
|
机器学习/深度学习 算法 Java
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
|
21天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第12天】本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型训练和评估等步骤,并提供了代码示例。通过本文,读者可以掌握机器学习的基本流程,并为深入学习打下坚实基础。
16 1
|
22天前
|
机器学习/深度学习 API 计算机视觉
基于Python_opencv人脸录入、识别系统(应用dlib机器学习库)(下)
基于Python_opencv人脸录入、识别系统(应用dlib机器学习库)(下)
18 2
|
14天前
|
安全 数据处理 开发者
Python中的多线程编程:从入门到精通
本文将深入探讨Python中的多线程编程,包括其基本原理、应用场景、实现方法以及常见问题和解决方案。通过本文的学习,读者将对Python多线程编程有一个全面的认识,能够在实际项目中灵活运用。
|
8天前
|
设计模式 开发者 Python
Python编程中的设计模式:工厂方法模式###
本文深入浅出地探讨了Python编程中的一种重要设计模式——工厂方法模式。通过具体案例和代码示例,我们将了解工厂方法模式的定义、应用场景、实现步骤以及其优势与潜在缺点。无论你是Python新手还是有经验的开发者,都能从本文中获得关于如何在实际项目中有效应用工厂方法模式的启发。 ###
|
1天前
|
存储 人工智能 数据挖掘
从零起步,揭秘Python编程如何带你从新手村迈向高手殿堂
【10月更文挑战第32天】Python,诞生于1991年的高级编程语言,以其简洁明了的语法成为众多程序员的入门首选。从基础的变量类型、控制流到列表、字典等数据结构,再到函数定义与调用及面向对象编程,Python提供了丰富的功能和强大的库支持,适用于Web开发、数据分析、人工智能等多个领域。学习Python不仅是掌握一门语言,更是加入一个充满活力的技术社区,开启探索未知世界的旅程。
10 5
|
1天前
|
人工智能 数据挖掘 开发者
探索Python编程:从基础到进阶
【10月更文挑战第32天】本文旨在通过浅显易懂的语言,带领读者从零开始学习Python编程。我们将一起探索Python的基础语法,了解如何编写简单的程序,并逐步深入到更复杂的编程概念。文章将通过实际的代码示例,帮助读者加深理解,并在结尾处提供练习题以巩固所学知识。无论你是编程新手还是希望提升编程技能的开发者,这篇文章都将为你的学习之旅提供宝贵的指导和启发。
|
13天前
|
弹性计算 安全 小程序
编程之美:Python让你领略浪漫星空下的流星雨奇观
这段代码使用 Python 的 `turtle` 库实现了一个流星雨动画。程序通过创建 `Meteor` 类来生成具有随机属性的流星,包括大小、颜色、位置和速度。在无限循环中,流星不断移动并重新绘制,营造出流星雨的效果。环境需求为 Python 3.11.4 和 PyCharm 2023.2.5。