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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

机器学习之路:python支持向量机回归SVR 预测波士顿地区房价

發布時間:2024/1/4 综合教程 41 生活家
生活随笔 收集整理的這篇文章主要介紹了 机器学习之路:python支持向量机回归SVR 预测波士顿地区房价 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python3 學習使用api

支持向量機的兩種核函數模型進行預測

git:https://github.com/linyi0604/MachineLearning

from sklearn.datasets import load_boston
from sklearn.cross_validation import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVR
from sklearn.metrics import r2_score, mean_squared_error, mean_absolute_error
import numpy as np

# 1 準備數據
# 讀取波士頓地區房價信息
boston = load_boston()
# 查看數據描述
# print(boston.DESCR)   # 共506條波士頓地區房價信息,每條13項數值特征描述和目標房價
# 查看數據的差異情況
# print("最大房價:", np.max(boston.target))   # 50
# print("最小房價:",np.min(boston.target))    # 5
# print("平均房價:", np.mean(boston.target))   # 22.532806324110677

x = boston.data
y = boston.target

# 2 分割訓練數據和測試數據
# 隨機采樣25%作為測試 75%作為訓練
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25, random_state=33)


# 3 訓練數據和測試數據進行標準化處理
ss_x = StandardScaler()
x_train = ss_x.fit_transform(x_train)
x_test = ss_x.transform(x_test)

ss_y = StandardScaler()
y_train = ss_y.fit_transform(y_train.reshape(-1, 1))
y_test = ss_y.transform(y_test.reshape(-1, 1))

# 4.1 支持向量機模型進行學習和預測
# 線性核函數配置支持向量機
linear_svr = SVR(kernel="linear")
# 訓練
linear_svr.fit(x_train, y_train)
# 預測 保存預測結果
linear_svr_y_predict = linear_svr.predict(x_test)

# 多項式核函數配置支持向量機
poly_svr = SVR(kernel="poly")
# 訓練
poly_svr.fit(x_train, y_train)
# 預測 保存預測結果
poly_svr_y_predict = linear_svr.predict(x_test)

# 5 模型評估
# 線性核函數 模型評估
print("線性核函數支持向量機的默認評估值為:", linear_svr.score(x_test, y_test))
print("線性核函數支持向量機的R_squared值為:", r2_score(y_test, linear_svr_y_predict))
print("線性核函數支持向量機的均方誤差為:", mean_squared_error(ss_y.inverse_transform(y_test),
                                              ss_y.inverse_transform(linear_svr_y_predict)))
print("線性核函數支持向量機的平均絕對誤差為:", mean_absolute_error(ss_y.inverse_transform(y_test),
                                                 ss_y.inverse_transform(linear_svr_y_predict)))
# 對多項式核函數模型評估
print("對多項式核函數的默認評估值為:", poly_svr.score(x_test, y_test))
print("對多項式核函數的R_squared值為:", r2_score(y_test, poly_svr_y_predict))
print("對多項式核函數的均方誤差為:", mean_squared_error(ss_y.inverse_transform(y_test),
                                           ss_y.inverse_transform(poly_svr_y_predict)))
print("對多項式核函數的平均絕對誤差為:", mean_absolute_error(ss_y.inverse_transform(y_test),
                                              ss_y.inverse_transform(poly_svr_y_predict)))

'''
線性核函數支持向量機的默認評估值為: 0.651717097429608
線性核函數支持向量機的R_squared值為: 0.651717097429608
線性核函數支持向量機的均方誤差為: 27.0063071393243
線性核函數支持向量機的平均絕對誤差為: 3.426672916872753
對多項式核函數的默認評估值為: 0.40445405800289286
對多項式核函數的R_squared值為: 0.651717097429608
對多項式核函數的均方誤差為: 27.0063071393243
對多項式核函數的平均絕對誤差為: 3.426672916872753
'''

總結

以上是生活随笔為你收集整理的机器学习之路:python支持向量机回归SVR 预测波士顿地区房价的全部內容,希望文章能夠幫你解決所遇到的問題。

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