python机器学习12--Regression回归分析

打印 上一主题 下一主题

主题 1026|帖子 1026|积分 3078

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1.数据预备
第一步:数据内容一定要有以下两种值域的因果数据。
· 特征(Feature):因,在统计学称为自变量(Independent Variable)。
· 标签答案(Label):果,在统计学称为因变量(Dependent Variable)。
比如,天气的温度和湿度值(因,Feature),是否下雨(果,Label),网络大量的数据后就被称为数据集Dataset,其数据量最少100个以上。若能有数百万或万万的数据量,所求出的结果会更好。使用算法进行分析,要预备两个如许的数据集,这两个数据集的值域格式都要一模一样,并且必要人工审查其内容的精确性。
· 练习用数据集(Training Dataset):通过特定的算法来找出Feature和Label之间的关系。
· 测试用数据集(Testing Dataset):测试用,用来验证刚刚用运算法和练习用数据集所找出的答案,通过测试用数据集来验证答案是否精确,并求出结果的精确率为多少。而练习和测试用的数据集内容险些一样,差别就在条数多寡,通常的比例是80∶20。
        网络后的数据会推荐依照数据内容的分布形式,来挑选合适的算法。机器学习大数据分析中最重要的就是数据的搜集,假如网络的数据是错误的,不管用什么样的算法都找不到答案。
        举个例子来说标题:机器学习如何区分柠檬和橙子
(1)Feature特征值。
我们可以丈量它的相干信息(专业用词是Feature特征值),如颜色、甜度、酸度、体积、重量、长度、宽度等。
· 但会发现体积和重量应该不是好的特征值,由于两者太过相近。
· 甜度和酸度虽然可以找出区别,但会粉碎商品和成品的完备性。
· 可以用长度、宽度、形状是否为趋近于圆形。
· 颜色来区分:柠檬偏黄色或绿色,而橙子偏橘色。
所以特征值的挑选,就会影响到结果。
(2)Label标签,就是柠檬和橙子,通常都会用一个数字来代表,如1为橙子,2为柠檬。
以现实的图表方法来看,就是把柠檬和橙子的长度、宽度用图表的方法画出来,就会看到这些特征值的位置区分固然。画得好坏叫作机器学习(Machine Learning)的过程,改善正确率的方法叫数据挖掘(Data Mining)。完成之后,就能用这一条蓝线当成判定点,用来作为将来新水果的判定,也就是Regression回归分析。
运行结果如图19-2所示。

        回归分析(Regression Analysis)是一种统计学上分析数据的方法,目的在于了解两个或多个变量之间是否相干,并创建数学模型以便观察特定变量来预测研究者感兴趣的变量。更详细地说,回归分析会依照自变量,产生另外因变量。
回归分析根据自变量的数量,可分为以下两种:
(1)简朴回归分析:用一个自变量来表明一个因变量回归分析。
(2)复回归分析:用两个或两个以上的自变量来表明一个因变量的回归分析。
回归模型亦可视其函数的模式区分为线性与非线性两种。
· Y=a+bX为线性模式。
· Y=a+Xb则为非线性模式。
  1. import matplotlib.pyplot as plt
  2. plt.plot([1,2,3,4],[0,0.3,0.6,0.9],'gx')
  3. plt.plot([1,2,3,4],[0,0.3,0.6,0.9],'r--')
  4. plt.axis([0,5,0,1])
  5. plt.ylabel('Y')
  6. plt.xlabel('X')
  7. plt.show()
复制代码
         残差答案趋近于零,就代表这个回归分析得出的答案非常符合现实的数据。假如是0,很大概出现了标题,要进行仔细查抄。
  1. import pandas as pd
  2. # 导入 pandas 模块
  3. from sklearn import linear_model
  4. # 导入 sklearn 的线性回归模型
  5. import matplotlib.pyplot as plt
  6. # 导入 matplotlib 的 pyplot 模块
  7. # 准备训练和测试的数据
  8. x_values = pd.DataFrame([0, 1, 2])
  9. # 特征 Features
  10. y_values = pd.DataFrame([0, 0.3, 0.6])
  11. # 标签答案 Label
  12. x_test = pd.DataFrame([-1, 3, 5])
  13. # 测试用的特征 Features
  14. # 创建线性回归模型实例
  15. body_reg = linear_model.LinearRegression()
  16. # 训练模型
  17. body_reg.fit(x_values, y_values)
  18. # 预测
  19. y_test_predict = body_reg.predict(x_test)
  20. # 打印预测结果
  21. print("body_reg.predict(x_test)", y_test_predict)
  22. # 显示图形
  23. plt.scatter(x_values, y_values)  # 画出原本的数据点
  24. plt.scatter(x_test, y_test_predict, color='red')  # 画出预测的数据点,使用红色
  25. plt.plot(x_test, body_reg.predict(x_test), color="blue")  # 画出预测的线,使用蓝色
  26. # 显示图形
  27. plt.show()
复制代码
糖尿病实战
        通过以下的步伐将数据下载取得糖尿病数据,并通过图形化的方法,了解这个糖尿病数据的样貌,数据来自scikit-learn糖尿病数据集。
  1. import matplotlib.pyplot as plt  # 绘图函数库
  2. import numpy as np  # 矩阵函数库
  3. from sklearn import datasets, linear_model  # 线性回归函数库
  4. # 取得糖尿病的数据
  5. diabetes = datasets.load_diabetes()
  6. # 只取第三个特征值BMI
  7. diabetes_X = diabetes.data[:, np.newaxis, 2]
  8. # 切分特征值BMI,将数据分为训练集和测试集
  9. diabetes_X_train = diabetes_X[:-20]
  10. diabetes_X_test = diabetes_X[-20:]
  11. # 切分目标值,将数据分为训练集和测试集
  12. diabetes_y_train = diabetes.target[:-20]
  13. diabetes_y_test = diabetes.target[-20:]
  14. # 绘图
  15. plt.scatter(diabetes_X_test, diabetes_y_test, color='black')  # 绘制黑点
  16. plt.show()  # 显示绘图
复制代码
  1. import matplotlib.pyplot as plt  # 绘图函数库
  2. import numpy as np  # 矩阵函数库
  3. from sklearn import datasets, linear_model  # 线性回归函数库
  4. diabetes=datasets.load_diabetes()
  5. diabetes_X=diabetes.data[:,np.newaxis,2]
  6. diabetes_X_train = diabetes_X[:-20]
  7. diabetes_X_test = diabetes_X[-20:]
  8. # 切分目标值,将数据分为训练集和测试集
  9. diabetes_y_train = diabetes.target[:-20]
  10. diabetes_y_test = diabetes.target[-20:]
  11. regr=linear_model.LinearRegression()
  12. regr.fit(diabetes_X_train,diabetes_y_train)
  13. print(regr.coef_)
  14. print(np.mean(regr.predict(diabetes_X_test)-diabetes_y_test**2))
  15. plt.scatter(diabetes_X_test,diabetes_y_test,color='blue')
  16. plt.plot(diabetes_X_test,regr.predict(diabetes_X_test),color='blue',linewidth=3)
  17. plt.xticks([])
  18. plt.yticks([])
  19. plt.show()
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大号在练葵花宝典

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表