發表文章

MySQL_ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)_重置root密碼

圖片
  ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) (using password: NO) 表示嘗試連接時沒有提供密碼。 (using password: YES) 表示嘗試連接時提供了密碼。 我這邊起初密碼是rootroot 如果出現的是這種錯誤,絕大部分偏向是更改過密碼但忘記了用上一次記憶中的密碼。 ERROR 1045 (28000): Access denied for user 'root'@'localhost'  (using password: YES) 表示我們嘗試以root用戶連接MySQL資料庫時提供的密碼不正確。 重置root密碼 Step1.開啟Windows「服務」管理工具(可以在開始菜單中搜索「services.msc」),找到MySQL服務,並停止它。 指令方式: taskkill /F /IM mysqld.exe 以下是介面方式: 當你關閉MySQL服務後,3306服務此時就沒有相關服務在使用了。 Step2.在C槽新增一個mysql-init.txt 內容如下 ALTER USER 'root'@'localhost' IDENTIFIED BY '你想更換的新密碼'; Step3.用cmd並以系統管理員來啟動 下以下指令 mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --init-file="C:\\mysql-init.txt" --console Step4.另外去開Command Line Client確認是否可用新密碼登入 確認密碼已更改成新的了 Step5.將剛開起的cmd都關閉後,再重啟MySQL服務即可。 此時你用新的密碼來cmd登也可以成功。 Ref: H...

探索式資料分析EDA_皮爾森積差相關係數(波士頓房價)_熱度圖&散點圖

圖片
  這邊要先確保sklearn使用版本要是1.1.3版本(之後版本都移除波士頓房價的toy dataset了) 然後numpy不能到2.x版本 要是1.26.4 https://stackoverflow.com/questions/78634235/numpy-dtype-size-changed-may-indicate-binary-incompatibility-expected-96-from Attribute Information (in order):         - CRIM     per capita crime rate by town         - ZN       proportion of residential land zoned for lots over 25,000 sq.ft.         - INDUS    proportion of non-retail business acres per town         - CHAS     Charles River dummy variable (= 1 if tract bounds river; 0 otherwise)         - NOX      nitric oxides concentration (parts per 10 million)         - RM       average number of rooms per dwelling         - AGE      proportion of owner-occupied units built prior to 1940     ...

損失函數(Loss function)、學習速率(Learning Rate)

圖片
  https://theprofessionalspoint.blogspot.com/2019/02/loss-functions-in-machine-learning-mae.html 損失函數(Loss function) 損失函數就代表「實際值跟預測值的殘差」 基本上分為兩個淺面向(分類、回歸),基本上都希望最小化損失函數。 在回歸問題中,我們通常希望模型很棒,預測出來東西可跟實際值趨近一樣。然而現實是不可能預測的值跟實際值會完全相同。預測出來的東西基本上跟實際值都一定有落差,在統計中針對此落差專業術語就稱作 「殘差」(residual) ,損失函數愈低愈好。 常見Loss function像是RMSE、MSE 和 MAE 等, 都是用於優化深度學習模型的最常用誤差函數。 假設一個模型採用訓練數據並預測下表中的數值。 target 是預測的正確答案,epoch 是訓練次數。 於以下表格中當第二次epoch時候,預測第 3 個值是一個異常值。 因為它預測到與目標的第 3 個值 7 有顯著偏差。 MSE、RMSE 和 MAE 的計算方法如下: 學習速率(Learning Rate) 在優化過程中,Learing Rate應該要逐步減小,越接近"山谷"時候,要邁開的"步伐:應該愈小。 通常用人工調節手法,可以先對Learning Rate設初始值,比方0.25,之後當跌代到一定程度比方第25個epoch時,再將Learning rate除以10,變成設為0.025。 或者自動調節,簡單有效的常見作法是,當驗證集準確率不再提高時,可將Learning rate減半或除以10,再繼續跌代。 不見得愈低(高)就愈好,剛剛好就會好,過猶不及。 會根據模型、訓練過程而有不同調節情況。 學習率設定0.5情況(步伐緩慢,但最終有成功到達目的地) 可以想像夜晚無燈光開山路的感覺,會十分緩慢步伐小十分謹慎。 學習率設定0.9情況(不夠謹慎,有喝醉酒亂走偏移情況,但最終也有成功到達目的地山頂。) 當學習率設定1情況(開始失敗,過猶不及,愈急愈容易失敗。) Ref: https://chih-sheng-huang821.medium.com/%E6%A9%9F%E5%99%A8%E5%AD%B8%E7%BF%92-%E5%9F%BA%E7%A4%8E...

第一代類神經網路(感知機時代)延伸到後期神經網路架構

圖片
  https://zhengyu.tech/archives/shen-du-xue-xi-zhong-de-ji-huo-han-shu 第一代類神經網路(感知機時代) 人工神經網路(ANN,Artificial Neuron Net) 由許多人工神經元(Artificial Neuron)所組成。 用於模擬人腦神經的架構與原理,藉此解決一些決策判定上問題。 簡單的神經元如何運作的?(只有一層會有權重W跟偏差值bias) 假設有兩個神經元X 跟 Y將信號傳遞到另一個神經元Z。 X跟Y是傳遞信號的傳入神經元,Z是接收信號的輸出神經元(接收並激活)。 輸入神經元透過互連鏈路(A跟B)連接到輸出神經元。 臨界值區分輸出0或1 https://towardsdatascience.com/the-basics-of-neural-networks-neural-network-series-part-1-4419e343b2b-2/ 權重(Weight):  用來決定輸入特徵對神經元輸出的影響程度。 偏差值(Bias): 對輸出的一個常數偏移,偏差值就像調整這個門檻的高度,讓神經元更容易或更難被激活。 激活函數(Activation function): 好比如一定的門檻,只有當輸入超過這個門檻時,神經元才會被激活。 隨著發展慢慢感知機時代的處裡無法滿足後續不限純數值或線性問題計算。權重的自我學習也成為重要性質之一,激活函數也愈來愈重要, 激活函數主要用於解決非線性的應用問題(二分類、多分類、迴歸問題【連續性數據】) 。在類神經網路中使用到的激勵函數主要是利用非線性方程式去解決非線性問題。 神經網路的一個重要性質是他可以自動地從數據中學習到合適的權重參數。 激活函數會將輸入信號的總和轉換為輸出信號。具體操作是將輸入(X)和它們相對的權重(W)之乘積之加總,並將激活函數用於其獲取該層的輸出並將其作為輸入饋送到下一層。 若不使用激勵函數,類神經網路會以線性的方式組合運算,因隱藏層以及輸出層皆是將上層結果輸入,並以線性組合計算作為這一層輸出。使得輸出跟輸入只會存在線性關係。 然而,實際環境絕大部分都屬於非線性問題。 https://lassehansen.me/post/neural-networks-step-by-step/ https://zhuanl...

T-SQL筆記62_BCP

 在使用 SQL Server 的 BCP (Bulk Copy Program) 工具匯出數據時,如果遇到中文別名變成亂碼的問題,通常是由於編碼設置不正確所導致。這裡有幾個步驟可以嘗試解決這個問題: 指定正確的字符集:在 BCP 命令中使用 -C 參數來指定正確的字符集。例如,如果你的數據庫使用的是中文字符集,可能需要設置 -C ACP 來使用活動代碼頁,或者使用 -C 936 指定簡體中文的代碼頁。使用 -C ACP 可以幫助確保 BCP 輸出或輸入的數據正確處理中文字符,避免出現亂碼,特別是當資料庫存儲的數據使用的是與 Windows 系統相同的字符編碼時。 bcp "SELECT * FROM your_table" queryout output_file.txt -c -C ACP -T -S your_server 在 SQL Server 的 BCP 工具中使用 -C 參數是來指定字符集的。-C ACP 這個參數指的是讓 BCP 使用活動代碼頁(Active Code Page)進行資料的匯出或匯入。代碼頁(Code Page)是一種用於提供特定語言字符集支援的編碼系統。 活動代碼頁 ACP 通常指的是在 Windows 系統上設定為預設的系統本地字符集,它會根據操作系統的地區設置自動調整。例如,在中文版 Windows 上,活動代碼頁通常設定為 936(即 CP936,對應於簡體中文 GBK 編碼)。 -T 參數用於指定使用 Windows 驗證。 -c 參數用於指定以字符模式進行數據輸出,適合文本數據。 使用 Unicode 格式:如果 -C 參數無法解決問題,嘗試將輸出格式設為 Unicode 格式。使用 -w 參數來將輸出設為 Unicode。 bcp "SELECT * FROM your_table" queryout output_file.txt -w -T -S your_server 啟用xp_cmdshell後就可以用它來間接執行bcp EXEC sp_configure 'show advanced options' , 1 ;  RECONFIGURE;  EXEC sp_configure 'xp_cmdshell' , 1 ;  RECONFIG...

透過單方向LSTM進行短時間的交通流量預測_part2.建構資料集並進行訓練_RMSE,MAE,MAPE指標模型訓練效果可視化

圖片
  程式碼 import numpy as np import time import math import torch import torch.utils.data as Data import matplotlib.pyplot as plt #引入sklearn現成的損失函數MSE(均方誤差),MAE(平均絕對誤差) #MSE(均方誤差):預測值減真實值後再平分取平均 #MAE(平均絕對誤差):預測值減真實值取絕對值後再取平均 from sklearn.metrics import mean_squared_error as mse,mean_absolute_error as mae from torch import nn #把第一階段資料讀取處理放在另一個.py檔案引入 from trafficflow_readdata import X_train, X_test, y_train, y_test device = torch . device( "cuda:0" if torch . cuda . is_available() else "cpu" ) print (device) #透過torch.utils.data建構模型訓練需要的訓練集物件 train_dataset = Data . TensorDataset(torch . Tensor(X_train),torch . Tensor(y_train)) #將測試集轉為張量 X_test = torch . Tensor(X_test) #用torch.utils.data建構數據產生器,按批次生成訓練數據 batch_size = 128 train_loader = Data . DataLoader(dataset = train_dataset, batch_size = batch_size, shuffle = True , #是否要隨機打亂數據 num_worker...