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

Python數(shù)據(jù)分析案例42——基于Attention-BiGRU的時間序列數(shù)據(jù)預測

這篇具有很好參考價值的文章主要介紹了Python數(shù)據(jù)分析案例42——基于Attention-BiGRU的時間序列數(shù)據(jù)預測。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

承接上一篇的學術縫合,排列組合模型,本次繼續(xù)縫合模型演示。

Python數(shù)據(jù)分析案例41——基于CNN-BiLSTM的滬深300收盤價預測-CSDN博客


案例背景

雖然我自己基于各種循環(huán)神經網(wǎng)絡做時間序列的預測已經做爛了.....但是還是會有很多剛讀研究生或者是別的領域過來的小白來問這些神經網(wǎng)絡怎么寫,怎么搭建,給我一篇論文看看感覺很厲害的樣子。我一看:普刊、單變量時間序列預測、一個模型預測和對比、模型是CNN-LSTM。。。。。。我大為震驚,雖然在深度學習領域現(xiàn)在沒得Transformer都是垃圾.....但是其他領域的論文還是在樂此不疲的用CNN,MLP(外行叫BP神經網(wǎng)絡),RNN,LSTM,GRU,用這些基礎的神經網(wǎng)絡模塊然后加一點別的模塊來排列組合,以此來寫論文發(fā)表......

什么CNN-LSTM, CNN-GRU, LSTM-GRU, 注意力機制+LSTM, 注意力機制+GRU, 模態(tài)分解+LSTM, 優(yōu)化算法+模態(tài)分解+LSTM.........優(yōu)化算法+模態(tài)分解+注意力機制+GRU,優(yōu)化算法+模態(tài)分解+注意力機制+雙向GRU。。。

算了,雖然他們確實沒啥意義,但是畢業(yè)需要,做學術嘛,都懂的。都是學術裁縫。

別的不多說,模態(tài)分解我知道會用的就有5種(EMD,EEMD,CEEMDAN,VMD,SVMD),優(yōu)化算法不計其數(shù)(PSO,SSA,SMR,CS,SMA,GA,SWO....等等各種動物園優(yōu)化算法),然后再加上可能用上的神經網(wǎng)絡(LSTM,GRU,CNN,BiLSTM,BiGRU),再加上注意力機制。簡單來說,我可以組合出5*10*5*2=500種模型!!!, 而且我還沒用上Transformer以及其他更高級的深度學習模塊,還有不同的損失函數(shù),梯度下降的方法,還有區(qū)間估計核密度估計等等,毫不夸張的說,就這種縫合模型,我可以組合上千種。夠發(fā)一輩子的論文了。

那我今天就給大家演示一下學術裁縫,神經網(wǎng)絡的模塊的排列組合,究極縫合怪。


數(shù)據(jù)選取

做這個循環(huán)神經網(wǎng)絡的數(shù)據(jù)很好找,時間序列都可以,例如天氣 , 空氣質量AQI,血糖濃度,交通流量,鋰電池壽命(參考我的數(shù)據(jù)分析案例24),風電預測(參考我的數(shù)據(jù)分析案例25),太陽黑子,人口數(shù)量,經濟GDP,冶金溫度,商品銷量........

再加上我前面說的上千種縫合模型,去用于這些不同的領域,可以寫的論文3輩子都發(fā)不完......

我這里就不去找什么特定領域了,很簡單,經濟金融領域基本都是時間序列,我直接選個股票吧,來作為本次案例演示的數(shù)據(jù),選取的是滬深300的指數(shù)。

CNN-LSTM可以參考我上篇文章。

優(yōu)化算法和模態(tài)分解會有一點點麻煩,可以參考我以前的文章,我后面有時間寫一個通用的版塊。我這次就簡單演示一下注意力機制組合雙向的GRU的模型,然后和GRU,Attention-GRU,BiGRU,做對比。(隨便一下就是4個模型了...)

然后關于LSTM加注意力機制也很簡單,就把我代碼里面的GRU改成LSTM就行。(是的就是這么簡單,不需要看什么原理修改代碼,直接文本替換就行。)

本次案例的全部代碼文件和數(shù)據(jù)集獲取可以參考:(縫合模塊演示)

需要定制各種縫合模塊的代碼的也可以私聊我。


代碼實現(xiàn)

使用的還是小白最容易上手的Keras框架,pytorch現(xiàn)在好像也支持Keras了。

導入包:

import os
import math
import time
import datetime
import random as rn
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams ['font.sans-serif'] ='SimHei'               #顯示中文
plt.rcParams ['axes.unicode_minus']=False               #顯示負號
 
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler,StandardScaler
from sklearn.metrics import mean_absolute_error
from sklearn.metrics import mean_squared_error,r2_score
 
import tensorflow as tf
import keras
from keras.layers import Layer
import keras.backend as K
from keras.models import Model, Sequential
from keras.layers import GRU, Dense,Conv1D, MaxPooling1D,GlobalMaxPooling1D,Embedding,Dropout,Flatten,SimpleRNN,LSTM,Bidirectional,LayerNormalization
import tensorflow as tf
from keras.callbacks import EarlyStopping
#from tensorflow.keras import regularizers
#from keras.utils.np_utils import to_categorical
from tensorflow.keras  import optimizers

讀取數(shù)據(jù)

data0=pd.read_csv('滬深300期貨歷史數(shù)據(jù) (2).csv',parse_dates=['日期']).set_index('日期')[['開盤','高','低','收盤']].sort_index()
data0=data0.astype('float')
data0.head()

Python數(shù)據(jù)分析案例42——基于Attention-BiGRU的時間序列數(shù)據(jù)預測,Python數(shù)據(jù)分析案例,python,數(shù)據(jù)分析,機器學習,深度學習,GRU

很標準的股票數(shù)據(jù),把我們要預測的y——收盤價放在最后一列就行,前面都是特征。其他時間序列數(shù)據(jù)要模仿的話也是一樣的。

構建訓練集和測試集

自定義函數(shù)構建這種多變量時間序列分析預測的數(shù)據(jù)集的訓練和測試集

def build_sequences(text, window_size=24):
    #text:list of capacity
    x, y = [],[]
    for i in range(len(text) - window_size):
        sequence = text[i:i+window_size]
        target = text[i+window_size]
        x.append(sequence)
        y.append(target)
    return np.array(x), np.array(y)
 
def get_traintest(data,train_ratio=0.8,window_size=24):
    train_size=int(len(data)*train_ratio)
    train=data[:train_size]
    test=data[train_size-window_size:]
    X_train,y_train=build_sequences(train,window_size=window_size)
    X_test,y_test=build_sequences(test,window_size=window_size)
    return X_train,y_train[:,-1],X_test,y_test[:,-1]

?然后標準化,做神經網(wǎng)絡必須標準化數(shù)據(jù),不然很影響訓練過程中的梯度

data=data0.to_numpy()
scaler = MinMaxScaler() 
scaler = scaler.fit(data[:,:-1])
X=scaler.transform(data[:,:-1])   
 
y_scaler = MinMaxScaler() 
y_scaler = y_scaler.fit(data[:,-1].reshape(-1,1))
y=y_scaler.transform(data[:,-1].reshape(-1,1))

查看訓練集和測試集的形狀

train_ratio=0.8     #訓練集比例   
window_size=5      #滑動窗口大小,即循環(huán)神經網(wǎng)絡的時間步長
X_train,y_train,X_test,y_test=get_traintest(np.c_[X,y],window_size=window_size,train_ratio=train_ratio)
print(X_train.shape,y_train.shape,X_test.shape,y_test.shape)

Python數(shù)據(jù)分析案例42——基于Attention-BiGRU的時間序列數(shù)據(jù)預測,Python數(shù)據(jù)分析案例,python,數(shù)據(jù)分析,機器學習,深度學習,GRU

畫圖看一下吧

y_test1 = y_scaler.inverse_transform(y_test.reshape(-1,1))
test_size=int(len(data)*(1-train_ratio))
plt.figure(figsize=(10,5),dpi=256)
plt.plot(data0.index[:-test_size],data0.iloc[:,-1].iloc[:-test_size],label='訓練集',color='#FA9905')
plt.plot(data0.index[-test_size:],data0.iloc[:,-1].iloc[-(test_size):],label='測試集',color='#FB8498',linestyle='dashed')
plt.legend()
plt.ylabel('滬深300',fontsize=14)
plt.xlabel('日期',fontsize=14)
plt.show()

Python數(shù)據(jù)分析案例42——基于Attention-BiGRU的時間序列數(shù)據(jù)預測,Python數(shù)據(jù)分析案例,python,數(shù)據(jù)分析,機器學習,深度學習,GRU

看一下對應的時間區(qū)間:

print(f'訓練集開始時間{data0.index[:-test_size][0]},結束時間{data0.index[:-test_size][-1]}')
print(f'測試集開始時間{data0.index[-test_size:][0]},結束時間{data0.index[-test_size:][-1]}')

定義評價指標

對于回歸問題,我們采用MSE,RMSE,MAE,MAPE這幾個指標來評價預測效果。

def set_my_seed():
    os.environ['PYTHONHASHSEED'] = '0'
    np.random.seed(1)
    rn.seed(12345)
    tf.random.set_seed(123)
    
def evaluation(y_test, y_predict):
    mae = mean_absolute_error(y_test, y_predict)
    mse = mean_squared_error(y_test, y_predict)
    rmse = np.sqrt(mean_squared_error(y_test, y_predict))
    mape=(abs(y_predict -y_test)/ y_test).mean()
    #r_2=r2_score(y_test, y_predict)
    return mse, rmse, mae, mape #r_2

自定義注意力機制層

keras里面的現(xiàn)成的注意力不是很好用,自己寫一個QKV。

class AttentionLayer(Layer):    #自定義注意力層
    def __init__(self, **kwargs):
        super(AttentionLayer, self).__init__(**kwargs)

    def build(self, input_shape):
        self.W = self.add_weight(name='attention_weight',
                                 shape=(input_shape[-1], input_shape[-1]),
                                 initializer='random_normal',
                                 trainable=True)
        self.b = self.add_weight(name='attention_bias',
                                 shape=(input_shape[1], input_shape[-1]),
                                 initializer='zeros',
                                 trainable=True)
        super(AttentionLayer, self).build(input_shape)

    def call(self, x):
        # Applying a simpler attention mechanism
        e = K.tanh(K.dot(x, self.W) + self.b)
        a = K.softmax(e, axis=1)
        output = x * a
        return output

    def compute_output_shape(self, input_shape):
        return input_shape

構建模型

我這里寫了MLP,LSTM,GRU,BiGRU,Attention-GRU,Attention-BiGRU這幾種模型

def build_model(X_train,mode='LSTM',hidden_dim=[32,16]):
    set_my_seed()
    model = Sequential()
    if mode=='MLP':
        model.add(Dense(hidden_dim[0],activation='relu',input_shape=(X_train.shape[-2],X_train.shape[-1])))
        model.add(Flatten())
        model.add(Dense(hidden_dim[1],activation='relu'))
    elif mode=='RNN':
        model.add(SimpleRNN(hidden_dim[0],return_sequences=True, input_shape=(X_train.shape[-2],X_train.shape[-1])))
        model.add(Dropout(0.35))
        model.add(SimpleRNN(hidden_dim[1]))
    elif mode=='LSTM':
        # LSTM
        model.add(LSTM(hidden_dim[0],return_sequences=True, input_shape=(X_train.shape[-2],X_train.shape[-1])))#
        model.add(Dropout(0.4))
        model.add(LSTM(hidden_dim[1]))
        model.add(Dropout(0.5))
        #model.add(Flatten())
        #model.add(Dense(hidden_dim[1], activation='relu'))
    elif mode=='GRU':
        #GRU
        model.add(GRU(hidden_dim[0],return_sequences=True, input_shape=(X_train.shape[-2],X_train.shape[-1])))
        model.add(Dropout(0.2))
        model.add(GRU(hidden_dim[1]))
    elif mode=='BiGRU':
        # Bidirectional LSTM
        model.add(Bidirectional(GRU(hidden_dim[0], return_sequences=True), input_shape=(X_train.shape[-2], X_train.shape[-1])))
        model.add(Dropout(0.4))
        model.add(Bidirectional(GRU(hidden_dim[1])))
        model.add(Dropout(0.5))
    elif mode == 'Attention-GRU':
        model.add(GRU(hidden_dim[0], return_sequences=True, input_shape=(X_train.shape[-2], X_train.shape[-1])))
        model.add(AttentionLayer())
        # Adding normalization and dropout for better training stability and performance
        model.add(LayerNormalization())
        #model.add(Dropout(0.1))
        model.add(GRU(hidden_dim[1]))
    elif mode == 'Attention-BiGRU':
        model.add(Bidirectional(GRU(hidden_dim[0], return_sequences=True), input_shape=(X_train.shape[-2], X_train.shape[-1])))
        model.add(AttentionLayer())
        model.add(LayerNormalization())
        model.add(Dropout(0.4))
        #model.add(GlobalMaxPooling1D())
        #model.add(GRU(hidden_dim[1]))
        #model.add(Bidirectional(GRU(hidden_dim[1])))
        model.add(Flatten())
        model.add(Dense(hidden_dim[1],activation='relu'))
    else:
        print('模型輸入錯誤')    
    model.add(Dense(1))
    model.compile(optimizer='Adam', loss='mse',metrics=[tf.keras.metrics.RootMeanSquaredError(),"mape","mae"])
    return model

?有一點點代碼基礎應該就能看出來,這些模型的搭建就像搭積木一樣簡單,要什么模塊就改個名字就行了(可能要注意一下數(shù)據(jù)轉化的維度),所以說學術縫合模塊寫論文真的很水。。。

再定義一些觀察模型訓練用的圖:

def plot_loss(hist,imfname=''):
    plt.subplots(1,4,figsize=(16,4))
    for i,key in enumerate(hist.history.keys()):
        n=int(str('24')+str(i+1))
        plt.subplot(n)
        plt.plot(hist.history[key], 'k', label=f'Training {key}')
        plt.title(f'{imfname} Training {key}')
        plt.xlabel('Epochs')
        plt.ylabel(key)
        plt.legend()
    plt.tight_layout()
    plt.show()
def plot_fit(y_test, y_pred):
    plt.figure(figsize=(4,2))
    plt.plot(y_test, color="red", label="actual")
    plt.plot(y_pred, color="blue", label="predict")
    plt.title(f"擬合值和真實值對比")
    plt.xlabel("Time")
    plt.ylabel('values')
    plt.legend()
    plt.show()

定義最終的訓練函數(shù):

df_eval_all=pd.DataFrame(columns=['MSE','RMSE','MAE','MAPE'])
df_preds_all=pd.DataFrame()
def train_fuc(mode='GRU',batch_size=64,epochs=20,hidden_dim=[32,16],verbose=0,show_loss=True,show_fit=True):
    #構建模型
    s = time.time()
    set_my_seed()
    model=build_model(X_train=X_train,mode=mode,hidden_dim=hidden_dim)
    earlystop = EarlyStopping(monitor='loss', min_delta=0, patience=5)
    hist=model.fit(X_train, y_train,batch_size=batch_size,epochs=epochs,verbose=verbose,callbacks=[earlystop],validation_data=(X_test, y_test))  #
    print(hist.history.keys())
    if show_loss:
        plot_loss(hist)
            
    #預測
    y_pred = model.predict(X_test)
    y_pred = y_scaler.inverse_transform(y_pred)
    #print(f'真實y的形狀:{y_test.shape},預測y的形狀:{y_pred.shape}')
    if show_fit:
        plot_fit(y_test1, y_pred)
    e=time.time()
    print(f"運行時間為{round(e-s,3)}")
    df_preds_all[mode]=y_pred.reshape(-1,)
        
    s=list(evaluation(y_test1, y_pred))
    df_eval_all.loc[f'{mode}',:]=s
    s=[round(i,3) for i in s]
    print(f'{mode}的預測效果為:MSE:{s[0]},RMSE:{s[1]},MAE:{s[2]},MAPE:{s[3]}')
    print("=======================================運行結束==========================================")
    return hist

?我就不介紹我這里面自定義函數(shù)里面的參數(shù)都是什么意思了,后面使用就模仿就行,很簡單。有代碼基礎的看不懂可以問gpt,?沒代碼基礎的講了也不懂....


初始化參數(shù)

window_size=5
batch_size=64
epochs=20
hidden_dim=[32,16]

verbose=0
show_fit=True
show_loss=True
mode='GRU'  #LSTM,GRU

開始訓練

直接要用什么模型修改mode這個參數(shù)就行,使用真的很簡單。

LSTM

hist=train_fuc(mode='LSTM',batch_size=batch_size,epochs=epochs,hidden_dim=hidden_dim,verbose=1)

Python數(shù)據(jù)分析案例42——基于Attention-BiGRU的時間序列數(shù)據(jù)預測,Python數(shù)據(jù)分析案例,python,數(shù)據(jù)分析,機器學習,深度學習,GRU

出來的預測效果可以自己看看。

GRU

hist=train_fuc(mode='GRU',batch_size=batch_size,epochs=epochs,hidden_dim=hidden_dim,verbose=0)

Python數(shù)據(jù)分析案例42——基于Attention-BiGRU的時間序列數(shù)據(jù)預測,Python數(shù)據(jù)分析案例,python,數(shù)據(jù)分析,機器學習,深度學習,GRU

BiGRU

不同模型就修改mode就行了,太簡單了是不是。。

hist=train_fuc(mode='BiGRU',batch_size=batch_size,epochs=epochs,hidden_dim=hidden_dim,verbose=0)

Python數(shù)據(jù)分析案例42——基于Attention-BiGRU的時間序列數(shù)據(jù)預測,Python數(shù)據(jù)分析案例,python,數(shù)據(jù)分析,機器學習,深度學習,GRU

Attention-GRU

hist=train_fuc(mode='Attention-GRU',batch_size=batch_size,epochs=epochs,hidden_dim=hidden_dim,verbose=0)

Python數(shù)據(jù)分析案例42——基于Attention-BiGRU的時間序列數(shù)據(jù)預測,Python數(shù)據(jù)分析案例,python,數(shù)據(jù)分析,機器學習,深度學習,GRU

Attention-BiGRU

hist=train_fuc(mode='Attention-BiGRU',batch_size=batch_size,epochs=epochs,hidden_dim=hidden_dim,verbose=0)

Python數(shù)據(jù)分析案例42——基于Attention-BiGRU的時間序列數(shù)據(jù)預測,Python數(shù)據(jù)分析案例,python,數(shù)據(jù)分析,機器學習,深度學習,GRU

我一般都懶得一個個看這些預測效果,我自定義的函數(shù)里面都儲存下來了,我下面畫圖一起看。方便對比。


?查看評價指標對比

?前面自定義函數(shù)的時候都寫好了接口,都存下來了:

df_eval_all

Python數(shù)據(jù)分析案例42——基于Attention-BiGRU的時間序列數(shù)據(jù)預測,Python數(shù)據(jù)分析案例,python,數(shù)據(jù)分析,機器學習,深度學習,GRU

可視化:

bar_width = 0.4
colors=['c', 'b', 'g', 'tomato', 'm', 'y', 'lime', 'k','orange','pink','grey','tan','gold','r']
fig, ax = plt.subplots(2,2,figsize=(10,8),dpi=128)
for i,col in enumerate(df_eval_all.columns):
    n=int(str('22')+str(i+1))
    plt.subplot(n)
    df_col=df_eval_all[col]
    m =np.arange(len(df_col))
    plt.bar(x=m,height=df_col.to_numpy(),width=bar_width,color=colors)
    
    #plt.xlabel('Methods',fontsize=12)
    names=df_col.index
    plt.xticks(range(len(df_col)),names,fontsize=10)
    plt.xticks(rotation=40)
    plt.ylabel(col,fontsize=14)
    
plt.tight_layout()
#plt.savefig('柱狀圖.jpg',dpi=512)
plt.show()

Python數(shù)據(jù)分析案例42——基于Attention-BiGRU的時間序列數(shù)據(jù)預測,Python數(shù)據(jù)分析案例,python,數(shù)據(jù)分析,機器學習,深度學習,GRU

可以看到,根據(jù)給出的結果,
綜合上述指標,Attention-BiGRU 模型在這個預測任務中的效果是最好的。它在不同的誤差度量指標上都表現(xiàn)出色,預測結果與真實值之間的差異相對較小。

效果 Attention-BiGRU>BiGRU>Attention-GRU>GRU>LSTM。

是不是感覺效果很合理,加了注意力機制還有雙向的模型是有效的?

但是這是我改了好幾輪參數(shù)調出來的結果。。一開始可不是這樣的。。一開始還是GRU效果最好。。

深度學習都是玄學,在不同的數(shù)據(jù)集,不同的參數(shù)上,模型的效果對比有著截然不同的結論。

不要以為加的模塊越多越好,加了組合模型效果一定比單一模型好,很多時候都是一頓操作猛如虎,一看效果二百五。 這是要看數(shù)據(jù),看參數(shù)去調整的。
?


預測效果對比

預測出來的值和真實值一起畫圖。

plt.figure(figsize=(10,5),dpi=256)
for i,col in enumerate(df_preds_all.columns):
    plt.plot(data0.index[-test_size-1:],df_preds_all[col],label=col) # ,color=colors[i]

plt.plot(data0.index[-test_size-1:],y_test1.reshape(-1,),label='實際值',color='k',linestyle=':',lw=2)
plt.legend()
plt.ylabel('',fontsize=16)
plt.xlabel('日期',fontsize=14)
#plt.savefig('點估計線對比.jpg',dpi=256)
plt.show()

Python數(shù)據(jù)分析案例42——基于Attention-BiGRU的時間序列數(shù)據(jù)預測,Python數(shù)據(jù)分析案例,python,數(shù)據(jù)分析,機器學習,深度學習,GRU

分析就不多寫了,如果是發(fā)論文的話,我一般會用gpt寫。。主打一個全自動。。


所以說寫代碼很簡單,要什么模塊修改我的函數(shù)參數(shù)就行。就像LSTM換成GRU就直接替換文本就行。。。效果不好調整參數(shù)改到效果好為止。

分析文字也可以gpt寫,現(xiàn)在水論文的成本真的很低。。。

當然發(fā)好的SCI期刊這種簡單的組合模型還不夠,我后面有空寫一點更高級的模型,各種模態(tài)分解優(yōu)化算法損失函數(shù)都組合上去.....


?創(chuàng)作不易,看官覺得寫得還不錯的話點個關注和贊吧,本人會持續(xù)更新python數(shù)據(jù)分析領域的代碼文章~(需要定制類似的代碼可私信)文章來源地址http://www.zghlxwxcb.cn/news/detail-852274.html

到了這里,關于Python數(shù)據(jù)分析案例42——基于Attention-BiGRU的時間序列數(shù)據(jù)預測的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • 數(shù)據(jù)分析案例-基于亞馬遜智能產品評論的探索性數(shù)據(jù)分析

    數(shù)據(jù)分析案例-基于亞馬遜智能產品評論的探索性數(shù)據(jù)分析

    ???♂? 個人主頁:@艾派森的個人主頁 ???作者簡介:Python學習者 ?? 希望大家多多支持,我們一起進步!?? 如果文章對你有幫助的話, 歡迎評論 ??點贊???? 收藏 ??加關注+ 目錄 一、實驗背景 1.1背景概述 1.2實驗目的 二、數(shù)據(jù)描述 2.1數(shù)據(jù)來源 2.2變量介紹 三、實驗

    2024年02月22日
    瀏覽(22)
  • 大數(shù)據(jù)分析案例-基于隨機森林算法構建人口普查分析模型

    大數(shù)據(jù)分析案例-基于隨機森林算法構建人口普查分析模型

    ???♂? 個人主頁:@艾派森的個人主頁 ???作者簡介:Python學習者 ?? 希望大家多多支持,我們一起進步!?? 如果文章對你有幫助的話, 歡迎評論 ??點贊???? 收藏 ??加關注+ 喜歡大數(shù)據(jù)分析項目的小伙伴,希望可以多多支持該系列的其他文章 大數(shù)據(jù)分析案例合集

    2024年02月01日
    瀏覽(22)
  • python數(shù)據(jù)分析案例——天貓訂單綜合分析

    python數(shù)據(jù)分析案例——天貓訂單綜合分析

    前言 大家早好、午好、晚好吖 ? ~歡迎光臨本文章 什么是數(shù)據(jù)分析 明確目的–獲得數(shù)據(jù)(爬蟲,現(xiàn)有,公開的數(shù)據(jù))–數(shù)據(jù)預處理——數(shù)據(jù)可視化——結論 準備 環(huán)境使用: 在開始寫我們的代碼之前,我們要準備好運行代碼的程序 Anaconda (python3.9) – 識別我們寫的代碼 開發(fā)工

    2024年02月03日
    瀏覽(34)
  • Python數(shù)據(jù)分析項目案例

    Python數(shù)據(jù)分析項目案例

    第一部分:數(shù)據(jù)類型處理 數(shù)據(jù)加載 字段含義: user_id:用戶ID order_dt:購買日期 order_product:購買產品的數(shù)量 order_amount:購買金額 觀察數(shù)據(jù) 查看數(shù)據(jù)的數(shù)據(jù)類型 數(shù)據(jù)中是否存儲在缺失值 將order_dt轉換成時間類型 查看數(shù)據(jù)的統(tǒng)計描述 在源數(shù)據(jù)中添加一列表示月份:astype(\\\'datetime64[M

    2024年02月11日
    瀏覽(33)
  • 【大數(shù)據(jù)優(yōu)質案例】基于大數(shù)據(jù)分析的物流數(shù)據(jù)可視化平臺

    【大數(shù)據(jù)優(yōu)質案例】基于大數(shù)據(jù)分析的物流數(shù)據(jù)可視化平臺

    前言:我是IT源碼社,從事計算機開發(fā)行業(yè)數(shù)年,專注Java領域,專業(yè)提供程序設計開發(fā)、源碼分享、技術指導講解、定制和畢業(yè)設計服務 ??IT源碼社-SpringBoot優(yōu)質案例推薦?? ??IT源碼社-小程序優(yōu)質案例推薦?? ??IT源碼社-Python優(yōu)質案例推薦?? ????文末獲取源碼???? 項目

    2024年02月03日
    瀏覽(32)
  • 數(shù)據(jù)分析案例-基于因子分析探究各省份中心城市經濟發(fā)展狀況

    數(shù)據(jù)分析案例-基于因子分析探究各省份中心城市經濟發(fā)展狀況

    ? ???♂? 個人主頁:@艾派森的個人主頁 ???作者簡介:Python學習者 ?? 希望大家多多支持,我們一起進步!?? 如果文章對你有幫助的話, 歡迎評論 ??點贊???? 收藏 ??加關注+ 目錄 一、實驗背景 二、實驗內容及數(shù)據(jù) 2.1 概述 2.2 變量介紹 三、實驗步驟 3.1 導入模塊

    2023年04月15日
    瀏覽(19)
  • 數(shù)據(jù)分析案例-基于snownlp模型的MatePad11產品用戶評論情感分析

    數(shù)據(jù)分析案例-基于snownlp模型的MatePad11產品用戶評論情感分析

    ???♂? 個人主頁:@艾派森的個人主頁 ???作者簡介:Python學習者 ?? 希望大家多多支持,我們一起進步!?? 如果文章對你有幫助的話, 歡迎評論 ??點贊???? 收藏 ??加關注+ 目錄 一、項目介紹 二、數(shù)據(jù)集介紹 三、實驗過程 3.1導入數(shù)據(jù)() ?3.2數(shù)據(jù)預處理 3.3數(shù)據(jù)

    2024年02月07日
    瀏覽(22)
  • Python數(shù)據(jù)分析案例20——我國家庭資產影響因素分析

    Python數(shù)據(jù)分析案例20——我國家庭資產影響因素分析

    本次案例較為簡單,符合人文社科、經濟學管理學等專業(yè)本科生適用。 本文的數(shù)據(jù)來源于 中國家庭金融調查( China Household Finance Survey , CHFS )是西南財經大學中國家庭金融調查與研究中心(下稱中心)在全國范圍內開展的抽樣調查項目,由甘犁教授于 2009 年發(fā)起并領導,收

    2024年02月09日
    瀏覽(32)
  • 【Python數(shù)據(jù)分析案例】——中國高票房電影分析(爬蟲獲取數(shù)據(jù)及分析可視化全流程)

    【Python數(shù)據(jù)分析案例】——中國高票房電影分析(爬蟲獲取數(shù)據(jù)及分析可視化全流程)

    案例背景 最近總看到《消失的她》票房多少多少,《孤注一擲》票房又破了多少多少… 于是我就想自己爬蟲一下獲取中國高票房的電影數(shù)據(jù),然后分析一下。 數(shù)據(jù)來源于淘票票:影片總票房排行榜 (maoyan.com) 爬它就行。 代碼實現(xiàn) 首先爬蟲獲取數(shù)據(jù): 數(shù)據(jù)獲取 導入包 傳入網(wǎng)

    2024年01月20日
    瀏覽(126)
  • 大數(shù)據(jù)分析案例-基于隨機森林算法構建新聞文本分類模型

    大數(shù)據(jù)分析案例-基于隨機森林算法構建新聞文本分類模型

    ???♂? 個人主頁:@艾派森的個人主頁 ???作者簡介:Python學習者 ?? 希望大家多多支持,我們一起進步!?? 如果文章對你有幫助的話, 歡迎評論 ??點贊???? 收藏 ??加關注+ 喜歡大數(shù)據(jù)分析項目的小伙伴,希望可以多多支持該系列的其他文章 大數(shù)據(jù)分析案例合集

    2024年02月02日
    瀏覽(37)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領取紅包

二維碼2

領紅包