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

歡迎訪問 生活随笔!

生活随笔

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

python

【Python-ML】SKlearn库RANSAC拟合高鲁棒性回归模型

發布時間:2025/4/16 python 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python-ML】SKlearn库RANSAC拟合高鲁棒性回归模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# -*- coding: utf-8 -*- ''' Created on 2018年1月24日 @author: Jason.F @summary: 有監督回歸學習-RANSAC擬合高魯棒性回歸模型 高魯棒性線性回歸器是一種清楚異常值的學習模型,采用隨機抽樣一致性(RANdom SAmple Consensus,RANSAC),使用數據的內點(inlier,數據集的子集)進行回歸模型的擬合 算法流程: 1)從數據集中隨機抽取樣本構建內點集合來擬合模型 2)使用剩余數據對上一步得到的模型進行測試,并將落差在預定公差范圍內的樣本點增至內點集合中 3)使用全部的內點集合再次進行模型的擬合 4)使用內點集合來估計模型的誤差 5)如果模型性能達到設定的閾值或迭代達到預定次數,則算法終止,否則跳轉到第一步 使用RANSAC降低數據集中異常點的潛在影響,但不確定剔除掉異常數據對預測性能存在的影響。 ''' import pandas as pd import matplotlib.pyplot as plt import numpy as np from sklearn.linear_model import RANSACRegressor from sklearn.linear_model.base import LinearRegression#導入波士頓房屋數據集 df=pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data',header=None,sep='\s+') df.columns=['CRIM','ZM','INDUS','CHAS','NOX','RM','AGE','DIS','RAD','TAX','PTRATIO','B','LSTAT','MEDV'] X=df[['RM']].values#房間數 y=df['MEDV'].values#房間價格 #模型訓練 ransac=RANSACRegressor(LinearRegression(),max_trials=100,#最大迭代次數min_samples=50,#最小抽取的內點樣本數量residual_metric=lambda x:np.sum(np.abs(X),axis=1),#計算擬合曲線與樣本點垂直距離的絕對值residual_threshold=5.0,#與擬合曲線距離小于該閾值的是內點,加入到下一輪訓練集中,與具體問題有關,目前有能夠自動選出適宜的內點閾值方法random_state=0) ransac.fit(X,y) #獲取內點和異常點集合 inlier_mask = ransac.inlier_mask_ outlier_mask = np.logical_not(inlier_mask) line_X = np.arange(3,10,1) line_y_ransac = ransac.predict(line_X[:,np.newaxis]) plt.scatter(X[inlier_mask],y[inlier_mask],c='blue',marker='o',label='Inliers') plt.scatter(X[outlier_mask],y[outlier_mask],c='lightgreen',marker='s',label='Outliers') plt.plot(line_X,line_y_ransac,color='red') plt.xlabel('Average number of roosm[RM]') plt.ylabel('Price in $1000\'s [MEDV]') plt.legend(loc='upper left') plt.show() #顯示模型的斜率和截距 print ('Slope:%.3f'%ransac.estimator_.coef_[0]) print ('Intercept:%.3f'%ransac.estimator_.intercept_)

總結

以上是生活随笔為你收集整理的【Python-ML】SKlearn库RANSAC拟合高鲁棒性回归模型的全部內容,希望文章能夠幫你解決所遇到的問題。

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