快速入门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维的,所以不能画出拟合曲线。

目录
相关文章
|
12天前
|
机器学习/深度学习 算法 Python
机器学习特征筛选:向后淘汰法原理与Python实现
向后淘汰法(Backward Elimination)是机器学习中一种重要的特征选择技术,通过系统性地移除对模型贡献较小的特征,以提高模型性能和可解释性。该方法从完整特征集出发,逐步剔除不重要的特征,最终保留最具影响力的变量子集。其优势包括提升模型简洁性和性能,减少过拟合,降低计算复杂度。然而,该方法在高维特征空间中计算成本较高,且可能陷入局部最优解。适用于线性回归、逻辑回归等统计学习模型。
58 7
|
10天前
|
机器学习/深度学习 数据可视化 TensorFlow
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
|
12天前
|
机器学习/深度学习 数据可视化 算法
Python 高级编程与实战:深入理解数据科学与机器学习
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化和调试技巧。本文将深入探讨 Python 在数据科学和机器学习中的应用,并通过实战项目帮助你掌握这些技术。
|
19天前
|
机器学习/深度学习 数据可视化 算法
Python与机器学习:使用Scikit-learn进行数据建模
本文介绍如何使用Python和Scikit-learn进行机器学习数据建模。首先,通过鸢尾花数据集演示数据准备、可视化和预处理步骤。接着,构建并评估K近邻(KNN)模型,展示超参数调优方法。最后,比较KNN、随机森林和支持向量机(SVM)等模型的性能,帮助读者掌握基础的机器学习建模技巧,并展望未来结合深度学习框架的发展方向。
45 9
Python与机器学习:使用Scikit-learn进行数据建模
|
4月前
|
机器学习/深度学习 数据可视化 数据处理
掌握Python数据科学基础——从数据处理到机器学习
掌握Python数据科学基础——从数据处理到机器学习
80 0
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
【Python机器学习】文本特征提取及文本向量化讲解和实战(图文解释 附源码)
【Python机器学习】文本特征提取及文本向量化讲解和实战(图文解释 附源码)
564 0
|
10月前
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习】K-Means对文本聚类和半环形数据聚类实战(附源码和数据集)
【Python机器学习】K-Means对文本聚类和半环形数据聚类实战(附源码和数据集)
252 0
|
5月前
|
机器学习/深度学习 算法 数据挖掘
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧1
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
98 5
|
5月前
|
机器学习/深度学习 数据采集 分布式计算
【Python篇】深入机器学习核心:XGBoost 从入门到实战
【Python篇】深入机器学习核心:XGBoost 从入门到实战
419 3
|
5月前
|
机器学习/深度学习 算法 数据可视化
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧2
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
67 1

热门文章

最新文章