【Python-ML】最小二乘法
生活随笔
收集整理的這篇文章主要介紹了
【Python-ML】最小二乘法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
3、python代碼參考:
# -*- coding: utf-8 -*- ''' Created on 2018年1月27日 @author: Jason.F @summary: 最小二乘法Least Square Method,分類回歸算法的基礎(chǔ),通過最小化誤差的平方和尋找數(shù)據(jù)的最佳函數(shù)匹配。 利用最小二乘法可以簡便地求得未知的數(shù)據(jù),并使得這些求得的數(shù)據(jù)與實際數(shù)據(jù)之間誤差的平方和為最小。 最小二乘法還可用于曲線擬合。其他一些優(yōu)化問題也可通過最小化能量或最大化熵用最小二乘法來表達(dá)。 '''import numpy as np import pylab as pl from scipy.optimize import leastsq # 引入最小二乘函數(shù)n = 9 # 多項式次數(shù) # 目標(biāo)函數(shù) def real_func(x):return np.sin(2 * np.pi * x) # 多項式函數(shù) def fit_func(p, x):f = np.poly1d(p)return f(x) # 殘差函數(shù) def residuals_func(p, y, x):ret = fit_func(p, x) - yreturn retx = np.linspace(0, 1, 9) # 隨機選擇9個點作為x x_points = np.linspace(0, 1, 1000) # 畫圖時需要的連續(xù)點y0 = real_func(x) # 目標(biāo)函數(shù) y1 = [np.random.normal(0, 0.1) + y for y in y0] # 添加正太分布噪聲后的函數(shù)p_init = np.random.randn(n) # 隨機初始化多項式參數(shù)plsq = leastsq(residuals_func, p_init, args=(y1, x))print 'Fitting Parameters: ', plsq[0] # 輸出擬合參數(shù)pl.plot(x_points, real_func(x_points), label='real') pl.plot(x_points, fit_func(plsq[0], x_points), label='fitted curve') pl.plot(x, y1, 'bo', label='with noise') pl.legend() pl.show()結(jié)果: Fitting Parameters: [ -1.42410177e+03 6.58200072e+03 -1.23529559e+04 1.20605212e+04-6.50274314e+03 1.90476748e+03 -2.88678344e+02 2.10107377e+011.92561591e-01]《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀
總結(jié)
以上是生活随笔為你收集整理的【Python-ML】最小二乘法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python-ML】神经网络激励函数-
- 下一篇: 【正一专栏】疯狂溢价的转会市场,中国足球