日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python机器学习--回归

發布時間:2025/6/15 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python机器学习--回归 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 線性回歸

# -*- coding: utf-8 -*- """ Created on Wed Aug 30 19:55:37 2017@author: Administrator """''' 背景:與房價密切相關的除了單位的房價,還有房屋的尺寸。我們可以根 據已知的房屋成交價和房屋的尺寸進行線性回歸,繼而可以對已知房屋尺 寸,而未知房屋成交價格的實例進行成交價格的預測 '''import matplotlib.pyplot as plt import numpy as np from sklearn import linear_model# 讀取數據集 datasets_X = [] datasets_Y = [] fpath='F:\\RANJIEWEN\\MachineLearning\\Python機器學習實戰_mooc\\data\\回歸\\' fr = open(fpath+'prices.txt','r') lines = fr.readlines() for line in lines:items = line.strip().split(',')datasets_X.append(int(items[0]))datasets_Y.append(int(items[1]))length = len(datasets_X) datasets_X = np.array(datasets_X).reshape([length,1]) datasets_Y = np.array(datasets_Y)minX = min(datasets_X) maxX = max(datasets_X) X = np.arange(minX,maxX).reshape([-1,1])linear = linear_model.LinearRegression() linear.fit(datasets_X, datasets_Y)# 圖像中顯示 plt.scatter(datasets_X, datasets_Y, color = 'red') plt.plot(X, linear.predict(X), color = 'blue') plt.xlabel('Area') plt.ylabel('Price') plt.show()
  • 多項式回歸

# -*- coding: utf-8 -*- """ Created on Wed Aug 30 20:24:09 2017@author: Administrator """''' 我們在前面已經根據已知的房屋成交價和房屋的尺寸進行了線 性回歸,繼而可以對已知房屋尺寸,而未知房屋成交價格的實例進行了成 交價格的預測,但是在實際的應用中這樣的擬合往往不夠好,因此我們在 此對該數據集進行多項式回歸。'''import matplotlib.pyplot as plt import numpy as np from sklearn import linear_model from sklearn.preprocessing import PolynomialFeatures# 讀取數據集 datasets_X = [] datasets_Y = []fpath='F:\\RANJIEWEN\\MachineLearning\\Python機器學習實戰_mooc\\data\\回歸\\' fr = open(fpath+'prices.txt','r') lines = fr.readlines() for line in lines:items = line.strip().split(',')datasets_X.append(int(items[0]))datasets_Y.append(int(items[1]))length = len(datasets_X) datasets_X = np.array(datasets_X).reshape([length,1]) datasets_Y = np.array(datasets_Y)minX = min(datasets_X) maxX = max(datasets_X) X = np.arange(minX,maxX).reshape([-1,1])poly_reg = PolynomialFeatures(degree = 2) X_poly = poly_reg.fit_transform(datasets_X) lin_reg_2 = linear_model.LinearRegression() lin_reg_2.fit(X_poly, datasets_Y)# 圖像中顯示 plt.scatter(datasets_X, datasets_Y, color = 'red') plt.plot(X, lin_reg_2.predict(poly_reg.fit_transform(X)), color = 'blue') plt.xlabel('Area') plt.ylabel('Price') plt.show()
  • 嶺回歸

  • 還有就是容易過擬合,才出現了嶺回歸,L2正則項

# -*- coding: utf-8 -*- """ Created on Wed Aug 30 20:33:00 2017@author: Administrator """''' 數據介紹: 數據為某路口的交通流量監測數據,記錄全年小時級別的車流量。 實驗目的: 根據已有的數據創建多項式特征,使用嶺回歸模型代替一般的線性模型,對 車流量的信息進行多項式回歸。 '''import numpy as npfrom sklearn.linear_model import Ridge from sklearn import cross_validation import matplotlib.pyplot as plt from sklearn.preprocessing import PolynomialFeaturesfpath='F:\RANJIEWEN\MachineLearning\Python機器學習實戰_mooc\data\回歸\嶺回歸.csv'data=pd.read_csv(fpath,encoding='gbk',parse_dates=[0],index_col=0)#data.sort_index(0,ascending=True,inplace=True) X=data.iloc[:,:4] ##語法 y=data.iloc[:,4] poly=PolynomialFeatures(6) #設置多項式的最高次數 X=poly.fit_transform(X)train_set_X,test_set_X,train_set_y,test_set_y= \cross_validation.train_test_split(X,y,test_size=0.3,random_state=0) #設置測試集的比例,random_state隨機數種子 clf=Ridge(alpha=1.0,fit_intercept=True) clf.fit(train_set_X,train_set_y) clf.score(test_set_X,test_set_y) #plot start=200 end=300 y_pre=clf.predict(X) time=np.arange(start,end) plt.plot(time,y[start:end],'b',label='real') plt.plot(time,y_pre[start:end],'r',label='predict') plt.legend(loc='upper left') plt.show()
  • Lasso回歸,添加L1正則項,具有稀疏解?

?

總結

以上是生活随笔為你收集整理的Python机器学习--回归的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。