• 菜鸟之路——机器学习之线性回归个人理解及Python实现


    这一节很简单,都是高中讲过的东西

    简单线性回归:y=b0+b1x+ε。b1=(Σ(xi-x)(yi-y))/Σ(xi-x)ˆ2       b0=y--b1x-    其中ε取 为均值为0的正态分布

    多元线性回归差不多

    我自己写了程序,练习一下面向对象编程

     1 import numpy as np
     2 
     3 class SimpleLinearRegression:
     4     def __init__(self):
     5         self.b0=0
     6         self.b1=0
     7 
     8     def fit(self,X,Y):
     9         n=len(X)
    10         dinominator=0   #分母
    11         numeraor=0      #分子
    12         for i in range(0,n):
    13             numeraor+=(X[i]-np.mean(X))*(Y[i]-np.mean(Y))
    14             dinominator+=np.square((X[i]-np.mean(X)))
    15         self.b1=numeraor/float(dinominator)
    16         self.b0=np.mean(Y)-self.b1*np.mean(X)
    17         print("intercept:",self.b0,"   slope:",self.b1)
    18         print("y=",self.b0,"+",self.b1,"x")
    19     def predict(self,X):
    20         return self.b0+self.b1*X
    21 
    22 
    23 X=[1,3,2,1,3]
    24 Y=[14,24,18,17,27]
    25 
    26 SLR=SimpleLinearRegression()
    27 SLR.fit(X,Y)
    28 Y_predict=SLR.predict(6)
    29 print(Y_predict)

    运行结果:

    intercept: 10.0 slope: 5.0
    y= 10.0 + 5.0 x
    40.0

    还有个多元线性回归的

     1 from sklearn import datasets,linear_model
     2 
     3 data=[[100,4,9.4],[50,3,4.8],[100,4,8.9],[50,2,4.2],[80,2,6.2],[75,3,7.4],[65,4,6],[90,3,7.6],[90,2,6.1]]
     4 data=np.array(data)
     5 print(data)
     6 
     7 X=data[:,:2]
     8 Y=data[:,-1]
     9 #print(X,"
    ",Y)
    10 
    11 regr=linear_model.LinearRegression()
    12 
    13 regr.fit(X,Y)
    14 
    15 print("coefficients:",regr.coef_)
    16 print("intercept",regr.intercept_)
    17 
    18 Xpred=[[102,6]]
    19 Ypred=regr.predict(Xpred)
    20 print(Xpred,"Ypred:",Ypred)

    这都太简单了,不多解释了。

    一个知识点:

    如果自变量有离散数据的话,就用分类器中用过的方法,有几类就转化为几组数据,是则为1,否则为0

    今天还系统的入门了一下numpy,和pandas。等有时间了把numpy,pandas,还有matplotlib都系统的学一下。很有用的。

  • 相关阅读:
    Python 中的 __str__ 与 __repr__ 到底有什么差别
    02 LeetCode---链表相加
    01 LeetCode---两数之和
    python 数据结构一 之 线性表
    来自C++的"Const式"傲娇
    string 与 char 字符串区别-1
    超级有爱的并查集入门
    多项式求解
    竞码编程-蓝桥杯模拟赛4-D题
    树的直径-蓝桥杯大臣的旅费
  • 原文地址:https://www.cnblogs.com/albert-yzp/p/9543088.html
Copyright © 2020-2023  润新知