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

目录
相关文章
|
1月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据科学实战:从Pandas到机器学习
Python数据科学实战:从Pandas到机器学习
|
1月前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
85 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
1月前
|
机器学习/深度学习 数据采集 人工智能
探索机器学习:从理论到Python代码实践
【10月更文挑战第36天】本文将深入浅出地介绍机器学习的基本概念、主要算法及其在Python中的实现。我们将通过实际案例,展示如何使用scikit-learn库进行数据预处理、模型选择和参数调优。无论你是初学者还是有一定基础的开发者,都能从中获得启发和实践指导。
47 2
|
1月前
|
机器学习/深度学习 数据采集 搜索推荐
利用Python和机器学习构建电影推荐系统
利用Python和机器学习构建电影推荐系统
70 1
|
1月前
|
机器学习/深度学习 算法 PyTorch
用Python实现简单机器学习模型:以鸢尾花数据集为例
用Python实现简单机器学习模型:以鸢尾花数据集为例
117 1
|
1月前
|
机器学习/深度学习 数据采集 算法
Python机器学习:Scikit-learn库的高效使用技巧
【10月更文挑战第28天】Scikit-learn 是 Python 中最受欢迎的机器学习库之一,以其简洁的 API、丰富的算法和良好的文档支持而受到开发者喜爱。本文介绍了 Scikit-learn 的高效使用技巧,包括数据预处理(如使用 Pipeline 和 ColumnTransformer)、模型选择与评估(如交叉验证和 GridSearchCV)以及模型持久化(如使用 joblib)。通过这些技巧,你可以在机器学习项目中事半功倍。
48 3
|
1月前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
机器学习基础:使用Python和Scikit-learn入门
35 1
|
1月前
|
机器学习/深度学习 数据可视化 数据处理
掌握Python数据科学基础——从数据处理到机器学习
掌握Python数据科学基础——从数据处理到机器学习
42 0
|
1月前
|
机器学习/深度学习 数据采集 人工智能
机器学习入门:Python与scikit-learn实战
机器学习入门:Python与scikit-learn实战
42 0
|
2月前
|
机器学习/深度学习 算法 Java
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)