菜鸟之路——机器学习之线性回归个人理解及Python实现
这一节很简单,都是高中讲过的东西
简单线性回归:y=b0+b1x+ε。b1=(Σ(xi-x–)(yi-y–))/Σ(xi-x–)ˆ2 b0=y--b1x- 其中ε取 为均值为0的正态分布
多元线性回归差不多
我自己写了程序,练习一下面向对象编程
import numpy as np class SimpleLinearRegression:
def __init__(self):
self.b0=0
self.b1=0 def fit(self,X,Y):
n=len(X)
dinominator=0 #分母
numeraor=0 #分子
for i in range(0,n):
numeraor+=(X[i]-np.mean(X))*(Y[i]-np.mean(Y))
dinominator+=np.square((X[i]-np.mean(X)))
self.b1=numeraor/float(dinominator)
self.b0=np.mean(Y)-self.b1*np.mean(X)
print("intercept:",self.b0," slope:",self.b1)
print("y=",self.b0,"+",self.b1,"x")
def predict(self,X):
return self.b0+self.b1*X X=[1,3,2,1,3]
Y=[14,24,18,17,27] SLR=SimpleLinearRegression()
SLR.fit(X,Y)
Y_predict=SLR.predict(6)
print(Y_predict)
运行结果:
intercept: 10.0 slope: 5.0
y= 10.0 + 5.0 x
40.0
还有个多元线性回归的
from sklearn import datasets,linear_model 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]]
data=np.array(data)
print(data) X=data[:,:2]
Y=data[:,-1]
#print(X,"\n",Y) regr=linear_model.LinearRegression() regr.fit(X,Y) print("coefficients:",regr.coef_)
print("intercept",regr.intercept_) Xpred=[[102,6]]
Ypred=regr.predict(Xpred)
print(Xpred,"Ypred:",Ypred)
这都太简单了,不多解释了。
一个知识点:
如果自变量有离散数据的话,就用分类器中用过的方法,有几类就转化为几组数据,是则为1,否则为0
今天还系统的入门了一下numpy,和pandas。等有时间了把numpy,pandas,还有matplotlib都系统的学一下。很有用的。
菜鸟之路——机器学习之线性回归个人理解及Python实现的更多相关文章
- 菜鸟之路——机器学习之决策树个人理解及Python实现
最近开始学习机器学习,以下会记录我学习中遇到的问题以及我个人的理解 决策树算法,网上很多介绍,在这不复制粘贴.下面解释几个关键词就好. 信息熵(entropy):就是信息不确定性的多少 H(x)=-Σ ...
- 菜鸟之路——机器学习之非线性回归个人理解及python实现
关键词: 梯度下降:就是让数据顺着梯度最大的方向,也就是函数导数最大的放下下降,使其快速的接近结果. Cost函数等公式太长,不在这打了.网上多得是. 这个非线性回归说白了就是缩小版的神经网络. py ...
- 菜鸟之路——机器学习之KNN算法个人理解及Python实现
KNN(K Nearest Neighbor) 还是先记几个关键公式 距离:一般用Euclidean distance E(x,y)√∑(xi-yi)2 .名字这么高大上,就是初中学的两点间的距离 ...
- 菜鸟之路——机器学习之BP神经网络个人理解及Python实现
关键词: 输入层(Input layer).隐藏层(Hidden layer).输出层(Output layer) 理论上如果有足够多的隐藏层和足够大的训练集,神经网络可以模拟出任何方程.隐藏层多的时 ...
- 菜鸟之路——机器学习之SVM分类器学习理解以及Python实现
SVM分类器里面的东西好多呀,碾压前两个.怪不得称之为深度学习出现之前表现最好的算法. 今天学到的也应该只是冰山一角,懂了SVM的一些原理.还得继续深入学习理解呢. 一些关键词: 超平面(hyper ...
- 菜鸟之路——机器学习之HierarchicalClustering层次分析及个人理解
这个算法.我个人感觉有点鸡肋.最终的表达也不是特别清楚. 原理很简单,从所有的样本中选取Euclidean distance最近的两个样本,归为一类,取其平均值组成一个新样本,总样本数少1:不断的重复 ...
- 菜鸟之路——机器学习之Kmeans聚类个人理解及Python实现
一些概念 相关系数:衡量两组数据相关性 决定系数:(R2值)大概意思就是这个回归方程能解释百分之多少的真实值. Kmeans聚类大致就是选择K个中心点.不断遍历更新中心点的位置.离哪个中心点近就属于哪 ...
- 菜鸟之路——Linux基础::计算机网络基础,Linux常用系统命令,Linux用户与组权限
最近又重新安排了一下我的计划.准备跟着老男孩的教程继续学习,感觉这一套教程讲的很全面,很详细.比我上一套机器学习好的多了. 他的第一阶段是Python基础,第二阶段是高等数学基础,主要将机器学习和深度 ...
- 机器学习之线性回归(纯python实现)][转]
本文转载自:https://juejin.im/post/5a924df16fb9a0634514d6e1 机器学习之线性回归(纯python实现) 线性回归是机器学习中最基本的一个算法,大部分算法都 ...
随机推荐
- java核心技术 要点笔记3
1.类,超类和子类 2.Object:所有类的超类 3.泛型数组列表 4.对象包装器和自动装箱 5.参数数量可变的方法 6.枚举类 7.反射 8.继承设计的技巧
- MovieReview—Avengers: Infinity War(复仇者联盟3:无限战争)
Antagonist? Thanos,the central figure of the Avengers 3,antagonist. Everyone has his own ideals and ...
- NYOJ-596-谁是最好的Coder
原题链接 谁是最好的Coder 时间限制:1000 ms | 内存限制:65535 KB 难度:0 描述 计科班有很多Coder,帅帅想知道自己是不是综合实力最强的coder. 帅帅喜欢帅,所以他 ...
- IOS NSKeyedArchiver(归档存取数据)
如果对象是NSString.NSDictionary.NSArray.NSData.NSNumber等类 型,可以直接用NSKeyedArchiver进行归档和恢复 不是所有的对象都可以直接用这种方法 ...
- World Wind Java开发之一(转)
http://blog.csdn.net/giser_whu/article/details/40477235 参照<World wind Java三维地理信息系统开发指南随书光盘>以及官 ...
- java 学习集锦
java学习系列 http://www.cnblogs.com/skywang12345/category/455711.html
- 记一次加密算法MD5
通过MessageDigest可以获取到16个字节数组: MessageDigest md5 = MessageDigest.getInstance("MD5"); byte[] ...
- vue2.0在页面中自定义组件模块,以及页面与组件之间的数据传递
1,在初始文件index.html中加入要引入的模块,注意驼峰命名的方式(我就是没写成驼峰,报错) <!DOCTYPE html> <html> <head> &l ...
- java基础面试题:switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
package com.swift; public class Switch_Test { public static void main(String[] args) { /* * switch语句 ...
- 换了台电脑tomcat自己运行没问题,eclipse中配置tomcat开启了浏览器却404错误解决
如果发现下图中 apache tomcat 的Overview 视图中发现 Server Locations 灰色显示 那么首先需要配置好TomCat的TOMCAT_HOME 和 CATALINA_H ...