国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

通過向量回歸、隨機(jī)森林回歸、線性回歸和K-最近鄰回歸將預(yù)測(cè)結(jié)果繪制成圖表進(jìn)行展示

這篇具有很好參考價(jià)值的文章主要介紹了通過向量回歸、隨機(jī)森林回歸、線性回歸和K-最近鄰回歸將預(yù)測(cè)結(jié)果繪制成圖表進(jìn)行展示。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

表格部分?jǐn)?shù)據(jù)如下

通過向量回歸、隨機(jī)森林回歸、線性回歸和K-最近鄰回歸將預(yù)測(cè)結(jié)果繪制成圖表進(jìn)行展示
附件里會(huì)給出全部數(shù)據(jù)鏈接

運(yùn)行效果如下

通過向量回歸、隨機(jī)森林回歸、線性回歸和K-最近鄰回歸將預(yù)測(cè)結(jié)果繪制成圖表進(jìn)行展示
通過向量回歸、隨機(jī)森林回歸、線性回歸和K-最近鄰回歸將預(yù)測(cè)結(jié)果繪制成圖表進(jìn)行展示

代碼解析

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

font = FontProperties(fname='PingFang Bold.ttf')

導(dǎo)入需要用到的Python庫(kù)。pandas用于處理數(shù)據(jù),numpy用于科學(xué)計(jì)算,matplotlib.pyplot用于繪圖,F(xiàn)ontProperties用于設(shè)置字體屬性。在這里我們導(dǎo)入了中文字體PingFang Bold.ttf,以后進(jìn)行繪圖時(shí)就可以使用這個(gè)字體了。

df = pd.read_excel('中國(guó)各地現(xiàn)貨棉花價(jià)格.xlsx')
df['指標(biāo)名稱'] = pd.to_datetime(df['指標(biāo)名稱'])
df.set_index('指標(biāo)名稱', inplace=True)
df.fillna(method='ffill', inplace=True)

打開了名為“中國(guó)各地現(xiàn)貨棉花價(jià)格.xlsx”的Excel文件,并將數(shù)據(jù)存儲(chǔ)到名為df的pandas DataFrame中。接下來(lái),在DataFrame中執(zhí)行以下操作:

  • 將“指標(biāo)名稱”列轉(zhuǎn)換為datetime類型;
  • 將“指標(biāo)名稱”列設(shè)置為索引;
  • 使用前向填充(ffill)方法填充缺失值。
plt.figure(figsize=[15,8])
plt.plot(df['新疆:現(xiàn)貨價(jià):棉花'], label='新疆')
plt.plot(df['中國(guó):現(xiàn)貨價(jià):平均價(jià):棉花'], label='中國(guó)')
plt.plot(df['山東:現(xiàn)貨價(jià):棉花'], label='山東')
plt.plot(df['河南:現(xiàn)貨價(jià):棉花'], label='河南')
plt.plot(df['江蘇:現(xiàn)貨價(jià):棉花'], label='江蘇')
plt.plot(df['河北:現(xiàn)貨價(jià):棉花'], label='河北')
plt.plot(df['湖北:現(xiàn)貨價(jià):棉花'], label='湖北')
plt.plot(df['浙江:現(xiàn)貨價(jià):棉花'], label='浙江')
plt.plot(df['安徽:現(xiàn)貨價(jià):棉花'], label='安徽')
plt.plot(df['重慶:現(xiàn)貨價(jià):棉花'], label='重慶')
plt.plot(df['遼寧:現(xiàn)貨價(jià):棉花'], label='遼寧')
plt.plot(df['北京:現(xiàn)貨價(jià):棉花'], label='北京')
plt.plot(df['陜西:現(xiàn)貨價(jià):棉花'], label='陜西')
plt.plot(df['山西:現(xiàn)貨價(jià):棉花'], label='山西')
plt.plot(df['中國(guó)棉花價(jià)格指數(shù):328'], label='中國(guó)棉花價(jià)格指數(shù):328')
plt.plot(df['中國(guó)棉花價(jià)格指數(shù):229'], label='中國(guó)棉花價(jià)格指數(shù):229')
plt.plot(df['中國(guó)棉花價(jià)格指數(shù):527'], label='中國(guó)棉花價(jià)格指數(shù):527')
plt.legend(loc='upper left', prop=font)
plt.xlabel('時(shí)間', fontproperties=font)
plt.ylabel('價(jià)格', fontproperties=font)
plt.title('各地棉花現(xiàn)貨價(jià)格趨勢(shì)', fontproperties=font)
plt.show()

繪制了各個(gè)地區(qū)棉花現(xiàn)貨價(jià)格趨勢(shì)圖。首先使用matplotlib.pyplot庫(kù)的figure()函數(shù)創(chuàng)建一個(gè)大小為15*8的繪圖空間,然后使用plot()函數(shù)將各地棉花現(xiàn)貨價(jià)格數(shù)據(jù)繪制到同一張圖表上,并為每個(gè)數(shù)據(jù)系列添加了標(biāo)簽和線條顏色。最后添加圖例、橫縱坐標(biāo)標(biāo)題和圖表標(biāo)題,并調(diào)用show()函數(shù)顯示圖表。

train = df.iloc[:-10, :]
test = df.iloc[-10:, :]

將讀取的數(shù)據(jù)集拆分成前面的訓(xùn)練集和后面的測(cè)試集。這里將DataFrame對(duì)象轉(zhuǎn)換為了numpy數(shù)組,并使用“最后10個(gè)數(shù)據(jù)”作為測(cè)試集,“除了最后10個(gè)數(shù)據(jù)以外的數(shù)據(jù)”作為訓(xùn)練集。

X_train = train.drop('中國(guó)棉花價(jià)格指數(shù):527', axis=1)
y_train = train['中國(guó)棉花價(jià)格指數(shù):527']
X_test = test.drop('中國(guó)棉花價(jià)格指數(shù):527', axis=1)
y_test = test['中國(guó)棉花價(jià)格指數(shù):527']

通過drop()函數(shù)刪除’target’列,獲取輸入和輸出數(shù)據(jù)。在這里輸入數(shù)據(jù)由除了中國(guó)棉花價(jià)格指數(shù):527以外的數(shù)據(jù)組成,而輸出數(shù)據(jù)只包含中國(guó)棉花價(jià)格指數(shù):527這一列。

svr = SVR(kernel='rbf', C=10, gamma='auto')
svr.fit(X_train, y_train)

rf = RandomForestRegressor(n_estimators=100, random_state=0, criterion='mse', max_depth=None,
                            min_samples_split=2, min_samples_leaf=1, max_features='auto',
                            bootstrap=True, n_jobs=-1)
rf.fit(X_train, y_train)

knn = KNeighborsRegressor(n_neighbors=5, weights='distance')
knn.fit(X_train, y_train)

lr = LinearRegression()
lr.fit(X_train, y_train)

定義了四個(gè)回歸模型(支持向量回歸、隨機(jī)森林回歸、線性回歸和K-最近鄰回歸),并使用fit()函數(shù)基于訓(xùn)練集數(shù)據(jù)對(duì)這些模型進(jìn)行訓(xùn)練。參數(shù)的設(shè)置需要根據(jù)實(shí)際情況和調(diào)參結(jié)果來(lái)進(jìn)行調(diào)整。

svr_pred = svr.predict(X_test)
rf_pred = rf.predict(X_test)
knn_pred = knn.predict(X_test)
lr_pred = lr.predict(X_test)

使用 predict() 函數(shù)對(duì)測(cè)試集進(jìn)行預(yù)測(cè),得到四個(gè)回歸模型的預(yù)測(cè)值。

plt.figure(figsize=[15,8])
plt.plot(test['中國(guó)棉花價(jià)格指數(shù):527'].values, label='實(shí)際值')
plt.plot(svr_pred, label='支持向量回歸')
plt.plot(rf_pred, label='隨機(jī)森林回歸')
plt.plot(knn_pred, label='K-最近鄰回歸')
plt.plot(lr_pred, label='線性回歸')
plt.legend(loc='upper left', prop=font)
plt.xlabel('時(shí)間', fontproperties=font)
plt.ylabel('價(jià)格', fontproperties=font)
plt.title('不同算法的中國(guó)棉花價(jià)格指數(shù)預(yù)測(cè)', fontproperties=font)
plt.show()

將四種回歸模型的預(yù)測(cè)結(jié)果與實(shí)際值一起繪制成圖表,以便于對(duì)預(yù)測(cè)結(jié)果進(jìn)行比較和評(píng)估。其中實(shí)際值來(lái)自測(cè)試集中的數(shù)據(jù)。

完整代碼


# 導(dǎo)入必要的庫(kù)
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
# 創(chuàng)建字體對(duì)象
font = FontProperties(fname='PingFang Bold.ttf')

# from matplotlib.font_manager import FontProperties
# pd.set_option('display.max_rows', None)  # 顯示所有行
# pd.set_option('display.max_columns', None) # 顯示所有列
# 讀取數(shù)據(jù)
df = pd.read_excel('中國(guó)各地現(xiàn)貨棉花價(jià)格.xlsx')

# 將時(shí)間戳字段轉(zhuǎn)換為 datetime 類型
df['指標(biāo)名稱'] = pd.to_datetime(df['指標(biāo)名稱'])

# 設(shè)定時(shí)間戳為數(shù)據(jù)索引
df.set_index('指標(biāo)名稱', inplace=True)

# 使用缺失值前向填充方法填充缺失值
df.fillna(method='ffill', inplace=True)

# 查看數(shù)據(jù)框結(jié)構(gòu)
# print(df)



# 繪制每個(gè)地區(qū)的棉花價(jià)格
plt.figure(figsize=[15,8])
plt.plot(df['新疆:現(xiàn)貨價(jià):棉花'], label='新疆')
plt.plot(df['中國(guó):現(xiàn)貨價(jià):平均價(jià):棉花'], label='中國(guó)')
plt.plot(df['山東:現(xiàn)貨價(jià):棉花'], label='山東')
plt.plot(df['河南:現(xiàn)貨價(jià):棉花'], label='河南')
plt.plot(df['江蘇:現(xiàn)貨價(jià):棉花'], label='江蘇')
plt.plot(df['河北:現(xiàn)貨價(jià):棉花'], label='河北')
plt.plot(df['湖北:現(xiàn)貨價(jià):棉花'], label='湖北')
plt.plot(df['浙江:現(xiàn)貨價(jià):棉花'], label='浙江')
plt.plot(df['安徽:現(xiàn)貨價(jià):棉花'], label='安徽')
plt.plot(df['重慶:現(xiàn)貨價(jià):棉花'], label='重慶')
plt.plot(df['遼寧:現(xiàn)貨價(jià):棉花'], label='遼寧')
plt.plot(df['北京:現(xiàn)貨價(jià):棉花'], label='北京')
plt.plot(df['陜西:現(xiàn)貨價(jià):棉花'], label='陜西')
plt.plot(df['山西:現(xiàn)貨價(jià):棉花'], label='山西')
plt.plot(df['中國(guó)棉花價(jià)格指數(shù):328'], label='中國(guó)棉花價(jià)格指數(shù):328')
plt.plot(df['中國(guó)棉花價(jià)格指數(shù):229'], label='中國(guó)棉花價(jià)格指數(shù):229')

plt.plot(df['中國(guó)棉花價(jià)格指數(shù):527'], label='中國(guó)棉花價(jià)格指數(shù):527')
plt.legend(loc='upper left', prop=font)
plt.xlabel('時(shí)間', fontproperties=font)
plt.ylabel('價(jià)格', fontproperties=font)
plt.title('各地棉花現(xiàn)貨價(jià)格趨勢(shì)', fontproperties=font)
plt.show()

# 劃分?jǐn)?shù)據(jù)集
train = df.iloc[:-10, :]
test = df.iloc[-10:, :]


# 支持向量回歸
from sklearn.svm import SVR

X_train = train.drop('中國(guó)棉花價(jià)格指數(shù):527', axis=1)
y_train = train['中國(guó)棉花價(jià)格指數(shù):527']
X_test = test.drop('中國(guó)棉花價(jià)格指數(shù):527', axis=1)
y_test = test['中國(guó)棉花價(jià)格指數(shù):527']

# svr = SVR(kernel='poly', C=100, gamma='auto', degree=3, epsilon=.1, coef0=1)
# svr.fit(X_train, y_train)
#
# # # 隨機(jī)森林回歸
# from sklearn.ensemble import RandomForestRegressor
#
# rf = RandomForestRegressor(n_estimators=10, random_state=0)
# rf.fit(X_train, y_train)
#
# # 線性回歸
from sklearn.linear_model import LinearRegression

lr = LinearRegression()
lr.fit(X_train, y_train)
#
# # K-最近鄰回歸
# from sklearn.neighbors import KNeighborsRegressor
#
# knn = KNeighborsRegressor(n_neighbors=2)
# knn.fit(X_train, y_train)


svr = SVR(kernel='rbf', C=10, gamma='auto')
svr.fit(X_train, y_train)

# 隨機(jī)森林回歸
from sklearn.ensemble import RandomForestRegressor

rf = RandomForestRegressor(n_estimators=100, random_state=0, criterion='friedman_mse', max_depth=None,
                            min_samples_split=2, min_samples_leaf=1, max_features='auto',
                            bootstrap=True, n_jobs=-1)
rf.fit(X_train, y_train)


# K-最近鄰回歸
from sklearn.neighbors import KNeighborsRegressor

knn = KNeighborsRegressor(n_neighbors=5, weights='distance')
knn.fit(X_train, y_train)
# 預(yù)測(cè)
svr_pred = svr.predict(X_test)
rf_pred = rf.predict(X_test)
lr_pred = lr.predict(X_test)
knn_pred = knn.predict(X_test)
# print(test['中國(guó)棉花價(jià)格指數(shù):527'].values)

# 展示預(yù)測(cè)結(jié)果
plt.figure(figsize=[15,8])
plt.plot(test['中國(guó)棉花價(jià)格指數(shù):527'].values, label='實(shí)際值')
plt.plot(svr_pred, label='支持向量回歸')
plt.plot(rf_pred, label='隨機(jī)森林回歸')
plt.plot(lr_pred, label='線性回歸')
plt.plot(knn_pred, label='K-最近鄰回歸')
plt.legend(loc='upper left', prop=font)
plt.xlabel('時(shí)間', fontproperties=font)
plt.ylabel('價(jià)格', fontproperties=font)
plt.title('不同算法的中國(guó)棉花價(jià)格指數(shù)預(yù)測(cè)', fontproperties=font)
plt.show()

附件

鏈接: https://pan.baidu.com/s/1qa99ntHsozgqB2xliVYd7A 提取碼: sp9h
–來(lái)自百度網(wǎng)盤超級(jí)會(huì)員v6的分享文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-480885.html

到了這里,關(guān)于通過向量回歸、隨機(jī)森林回歸、線性回歸和K-最近鄰回歸將預(yù)測(cè)結(jié)果繪制成圖表進(jìn)行展示的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包