發表文章

目前顯示的是 11月, 2024的文章

不動產成交案件實際資訊資料供應系統_使用python自動化下載所有資料

圖片
  不動產成交案件實際資訊資料供應系統 https://plvr.land.moi.gov.tw/Index# 每月1日、11日或21日,都會維護資料到此平台彙總。 112/10/21(含)之後揭露之不動產租賃OpenData 新增以下欄位: 1.新增「出租型態」欄位:內容包括整棟(戶)出租、分層出租、獨立套房、分租套房、分租雅房 2.新增「有無管理員」欄位:內容為「有」或「無」 3.新增「租賃期間」欄位:內容為不動產租賃契約或住宅轉租契約約定之租賃期間起迄日期 4.新增「有無電梯」欄位:內容為「有」或「無」 5.新增「附屬設備」欄位:內容為依不動產租賃契約或住宅轉租契約所載之附屬設備,如冷氣、熱水器、洗衣機、電視機、冰箱、瓦斯或天然氣、有線電視、有線電視、傢俱或無等 6.新增「租賃住宅服務」欄位:內容為一般包租、一般轉租、一般代管、社會住宅包租轉租、社會住宅代管或無等 可進階選定下載類別或是特定縣市區域 使用python自動化下載所有資料 在此可以透過GET請求方式去獲取對應每年特定某季的zip資料 舉例113年第3季 https://plvr.land.moi.gov.tw//DownloadSeason?season=113S3&type=zip&fileName=lvr_landxml.zip lvr_landxml.zip 可以觀察到URL請求的一個規律性 113年第2季 https://plvr.land.moi.gov.tw//DownloadSeason?season=113S2&type=zip&fileName=lvr_land xml .zip 113年第1季 https://plvr.land.moi.gov.tw//DownloadSeason?season=113S1&type=zip&fileName=lvr_land xml .zip 112年第4季 https://plvr.land.moi.gov.tw//DownloadSeason?season=112S4&type=zip&fileName=lvr_land xml .zip 112年第3季 https://plvr.land.moi.gov.tw//DownloadSeason?season=112S3...

Scikit-learn筆記02_監督式學習(迴歸及分類)_線性迴歸(Linear Regression)

圖片
監督式學習(Supervised Learning) 特點: 屬於機器學習算法中較常用的、也是較為成功的模式。 監督式學習的核心概念(輸入 → 輸出)非常直觀,容易理解和實施。 常應用於分類、迴歸問題分析以及時間序列預測等情境。 具有較高的可解釋性,便於商業應用中說明模型的預測邏輯。 可量化的評估,透過標準化的指標(如準確率、均方誤差)進行量化評估和優化。 模型建構於輸入跟輸出配對之訓練資料,對尚未見過的資料做預測。 限制及困難: 標籤數據的獲取可能耗時且昂貴。依賴於帶標籤的數據集(每個輸入樣本都有相應的目標輸出),使得模型可以清楚地學到輸入與輸出的映射關係。 無法處理未見過的類別或樣本 訓練資料通常要耗時人工建立。 常見監督式學習演算法: 線性模型/線性迴歸 (Lineaer Models) 決策樹(Decision Trees)、隨機森林(Random Forests) 最近鄰居法(K-Nearest Neighbors) 支持向量機(SVM) 類神經網路(Neural Networks) 監督式學習任務 1.分類(Classification): 在已定義的離散標籤中預測資料屬於何種標籤(類比數值) 僅兩種標籤的問題又俗稱二元分類,yes/no。比方:信件是否屬於垃圾郵件? 多種標籤問題則稱為多元(類別)分類,比方某筆鳶尾花資料屬於何種品種? 2.迴歸(Regression):預測連續數值(浮點數、實數) 比方:房價趨勢預測、農產收成量預測 https://www.grammarly.com/blog/ai/what-is-linear-regression/ 線性迴歸(Linear Regression) 屬於常見統計方法,也是機器學習起初接觸時優先探討的問題。 目的在於藉由過去資料找出已經存在的關係,並且利用X來預測Y可能的結果。 線性迴歸模型指的是X(自變數)跟Y(應變數)之線性關係 依照自變數多寡可分成簡單線性迴歸和多(複)元迴歸。 迴歸分析又依照函數型態,細分為線性、非線性。 多(複)元迴歸 -> 像鳶尾花有四個變數維度,就屬於此類迴歸。 簡單線性迴歸 ->像是單價、銷數量關係 Excel迴歸分析_商品的銷售單價及銷售數量_XY散佈圖_線性迴歸分析結果 簡單線性迴歸模型: y = ax + b,a跟b稱作迴歸係數(regression c...

Scikit-learn筆記01_收集到的資料到底適合捨麼學習演算應用?

圖片
https://scikit-learn.org/1.5/machine_learning_map.html 上述sklearn官網擷取到的流程圖,可幫助我們決定應該採用何種預測方法。 流程從 START 開始,通過回答一系列問題來縮小演算法範圍 假如資料筆數枚超過50筆,那應該去取更多數據再來進行。 若要預測的是數值非類別,那Regression是唯一方法。當然又細分多種不同Regression方法,端視資料筆數以及是否加樣比重某些特徵值而定。 倘若要預測的是某個資料類別(Category),那是否已有針對既定data定義好類別了?若還沒,那採用方式就應是非監督式Clustering或降維。反之則使用監督式學習的Classification,並視Sample資料筆數抉擇要用Liner SVC或SGD Classifier。 Python機器學習套件Scikit-Learn (SkLearn) 是一套開源套件並可商業使用,建構在Numpy,SciPy及Matplotlib之上。 https://scikit-learn.org/stable/ 根據官方網站功能分為主要六大部分 學習演算法方面 1.Classification (分類) ->監督 目標:將輸入數據分到預定義的類別中。 2.Regression (迴歸) ->監督 目標:預測連續值(如房價、溫度)。 3.Clustering (分群) ->非監督 目標:根據數據間的相似性將數據分為若干群組(無標籤)。 比較不同演算法結果方面 4.Model Selection (模型選定) 目標:比較不同模型的表現,選擇最佳模型及其超參數。 偏向資料前處裡方面 5.Preprocessing (預處理) 目標:清理和轉換數據,以適合於機器學習模型。 6.Dimensionality reduction (降維) 目標:減少數據的特徵數量,保留關鍵信息。 在Spyder開啟後終端下pip list可查看目前版本。 預設在scikit-learn套件中,資料集主要用 Bunch物件型別儲存,類似python鍵值對的字典資料格式儲存。 目前最新版1.3以上sklearn默認提供的內建資料集,俗稱toy datasets如下: https://scikit-learn.org/1.5/datasets/toy...

Hadoop筆記03_MapReduce分散式計算框架

圖片
MapReduce 分散式計算框架 也受Google 2004年發表的MapReduce論文啟發,去發展出來的Google MapReduce clone版本MapReduce: Simplified Data Processing on Large Clusters https://static.googleusercontent.com/media/research.google.com/zh-TW//archive/mapreduce-osdi04.pdf 特色:可擴展性、容錯機制並支援海量數據離線處理。 https://www.researchgate.net/figure/Word-count-program-flow-executed-with-MapReduce-5_fig6_270448794 根據上方「詞頻計算於MapReduce處裡的示意圖」 Splitting: 拆分出各單詞後 Mapping: 又將相同單詞分到同一區域 Shuffling: 重新洗牌 Reducing: 聚合彙總處理,在此就是去加總。 最終輸出詞頻結果 Ref: https://hackmd.io/@Chang-Chia-Chi/MapReduce

Hadoop筆記02_HDFS(Hadoop分散式檔案系統)_架構初探

圖片
HDFS(Hadoop分散式檔案系統)特色: 源自Google 2003發表的GFS( Google File System )論文 https://static.googleusercontent.com/media/research.google.com/zh-TW//archive/gfs-sosp2003.pdf Hadoop的HDFS其實是GFS的clone版本 具有可擴展性、高容錯性及海量數據儲存。 把文件切分成 指定大小的數據塊(block) 並且以 多副本方式儲存 在多台機器上。 數據切分、多副本、容錯相關操作,對於使用者而言是不需感知、十分透明。 預設的blocksize為128M 假設文件 test.log ->200M  拆分為2個block分別是 block1 : 128M , block2:72M 副本默認有三個,可能分散在不同節點上。但用戶去存取時不需要去知道從哪個node抓取到。 node1:block1 block2 node2: node3:block2 node4:block1 block2 node5:block1 倘若某節點掛掉還有其他節點能代替做存取。 https://data-flair.training/blogs/hadoop-hdfs-architecture/ Data Replication 以上述圖來看,檔案拆分為part0 , part1 r代表副本有幾個,Datanode也就是儲存數據的節點。 part0就有針對1,3各自於不同節點有2份副本 part1則針對2,4,5各自於不同節點共3份副本。 Ref: The Google File System 論文筆記 https://hackmd.io/@Chang-Chia-Chi/GFS Google 檔案系統 (GFS) 與 Hadoop 分散式檔案系統 (HDFS) https://www.geeksforgeeks.org/google-file-system-gfs-vs-hadoop-distributed-file-system-hdfs/ HDFS Architecture Guide https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html

Hadoop筆記01_初識Hadoop_Haddop之父及框架命名由來

圖片
Hadoop之父 Doug Cutting  最初會將此框架工具命名為Hadoop,主要是因為 其孩子給一個棕黃色大象填充玩具取的名字。 Hadoop官網  https://hadoop.apache.org/ The Apache® Hadoop® project develops open-source software for reliable, scalable, distributed computing. The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models . It is designed to scale up from single servers to thousands of machines, each offering local computation and storage . Rather than rely on hardware to deliver high-availability, the library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures. 以Apache 2.0許可協定發佈的開源軟體框架 是一個分散式系統基礎架構,提供分散式儲存及運算。 讓使用者可以像是用單機儲存、計算一樣好上手,在不用瞭解分散式底層情況下使用。 分散式儲存 : 將一份文件拆分成很多個區塊,並且以副本方式儲存在各節點中。 Hadoop模組: Hadoop Common: The common utilities that support the other Hadoop modules. Hadoop Distr...

T-SQL筆記57_MERGE...USING語句使用_part1.When Matched/When Not Matched

圖片
最近又回鍋到Porting母公司系統的職務了。 近期在閱讀公司上千行的預存程序既有的程式碼邏輯時候,又發現一個有點陌生的語句。 Merge .... Using... When Matched/When Not Matched 真的有點複雜 https://csharp-video-tutorials.blogspot.com/2014/09/part-69-merge-in-sql-server.html 微軟在 SQL Server 2008 及以後的版本中添加了 Merge 語句,使用 Merge 語句可以多個 SQL 的 DML 語句 組合成一個整體操作,從而 解決實現同樣的功能簡化 SQL 語句和事務。 DML 操作語句指的是對表執行 插入(INSERT)、更新(UPDATE)和刪除(DELETE)數據的操作。 與 Merge 語句搭配使用到的 USING 語句,可根據條件執行 DML 操作。 如此一來,就可以根據相關的條件對目標表執行插入、更新和刪除操作。 Merge 語句執行的操作中,會涉及到兩張表,一張表稱為來源表,另一張表稱為目標表。 語法如下: MERGE [TOP (表達式)] INTO <目標表> AS 別名 USING <來源表或一個來源查詢結果> [AS 別名] ON <條件表達式> [WHEN MATCHED THEN DML 操作] [WHEN NOT MATCHED THEN DML 操作] [WHEN NOT MATCHED BY SOURCE] (1). 使用 MERGE 指定目標表,目標表名放在 INTO 關鍵字的後面。 (2). AS 關鍵字後面是給目標表起一個別名。 (3). TOP 表示只對指定的前幾條執行 DML 操作。 (4). USING 指定源表,並使用 AS 指定別名。 (5). 使用 ON 將源表和目標表建立連接。 (6). 使用 WHEN…THEN 指定匹配條件。 (7). MATCHED 表示如果 ON 條件匹配上了,則執行的 DML 操作。 (8). NOT MATCHED 表示如果 ON 條件未匹配上,則執行的 DML 操作。 SQL測試資料案例建立 CREATE TABLE SourceTable ( Id int primary key not nu...

Enterprise Big Data Professional(EBDP)_學習筆記_1.大數據介紹

圖片
  https://www.bigdataframework.org/big-data-certification/enterprise-big-data-professional/ 大數據的定義 Introduction to Big Data 大數據是一個知識領域,它探索技巧、技能和技術 ,從大量數據中推斷出有價值的見解。 大數據的價值 Value of Big Data 創造透明度 數據驅動的發現 客戶細分和定制化行銷 自動化的演算法支持決策 產品開發與創新 大數據發展史 A short history of Big Data 階段1.結構化內容時期:長期存放於RDBMS中的數據。 (1970~2000) 階段2.Web-Based 非結構化內容 (2000~2010) 階段3.基於移動和感測器的內容 (2010~至今) 大數據的特徵 Big Data characteristics 表示規模龐大的數據集,因此難以使用傳統計算資源進行儲存、處理和分析。 大數據最廣泛接受的特徵 ,使用 4V模型: 容量 ( Volume ): 數據量是指需要分析和處理的數據的大小,通常大於TB或PB。 速度 ( Velocity ): 數據產生的速度以及分析或處裡數據的速度。 多樣性 ( Variety ): 比方說,透過感測器、智慧型手機或社群媒體所收集來的不同類型數據。 準確性 (Veracity): 指分析數據的品質,愈高品質則會有更高準確性。 數據術語(數據分析、解析/資料科學、商業智慧、大數據) Data analysis, analytics, business intelligence and Big Data 數據分析(Data Analysis) 是檢查、清理、轉換和建模數據的過程,目的在於發現有用的資訊、提出結論和支持決策。 主要目的是審查現有數據以描述過去發生的模式。因此也常被稱為「描述型數據分析」。 數據解析(Data Analytics) 是發現、解釋和溝通數據中有意義的模式。於紀錄資訊豐富場合中,尤其有價值,解析依賴於統計、電腦程式和運算的同步應用,藉此量化其性能。 也需具備數學、統計學、機器學習、預測建模、數據挖掘、認知計算。 以下分四類解析模式 描述型解析(Descriptive Analytics) 偏重於模式揭開,讓洞察顯現。聚焦於大...

Enterprise Big Data Framework_Data Literacy Fundamentals學習筆記_2.Fundamental Data Concepts

圖片
https://www.bigdataframework.org/big-data-certification/data-literacy-fundamentals/ 何謂數據? What is Data exactly? 數據代表可以收集、儲存和分析的資訊。可以有多種形式,可以是原始數據或二手數據,能夠透過多種方式儲存和存取。 數據類型(Data Type) 參照數據的特性與對其操作的樣態,因而進行分類。每種數據類型都有與其相關聯的特定屬性、特性和行為。最常見的就是數字(numerical)、分類(categorical)和文字(text)。 數據類型於程式語言和資料庫管理中,用於儲存在特定欄位或變數的數據類型分為如下幾類: 1.數字數據,可進一步分為離散型(只能取某些值)、連續型(取某個範圍內任何值)。 2.分類數據,用於將item給分組,透過進一步分類為名目、序數。 名目數據代表不具任何順序、排名的類別,比方膚色、性別、交易幣別、交易條件、國內外。 序數數據代表具有既有順序或排名的類別,比方教育程度(高中、大學、研究所) 3.文字數據:使用自然語言(NLP)文字形式,包含社群評論、留言。 4.圖像數據(Image Data):照片、影像。 5.聲音數據(Audio Data):音樂、語音或音效。 6.時間序列數據(Time-series Data):依據固定時間間隔,所收集到的數據點集合。 常用在天氣預報、金融經濟。 7.地理空間數據(Geospatial Data):座標經緯度、地圖和衛星數據。 8.感測器數據(Sensor Data):溫、溼度、壓力。 數據結構分類(結構化、非結構化和元數據) (Structured, Unstructured and Metadata) 結構化數據: 以特定格式組織並遵循特定模式的數據,比方關聯式資料庫中的表格。 易於搜尋、排序及過濾。通常存放在資料庫中由行列組成,可透過SQL(結構化查詢語言)進行查詢與操作。橫row:表示觀察值(observation),直column:表示變量(variable)也就表示表格型數據。 非結構化數據: 無特定格式或模式的數據,不適用傳統關聯式資料庫中表格。比方自然語言的文字、圖像、聲音和影像。通常很難搜尋、排序和過濾,需要透過專門工具和技術進行分析。 非結構化數據資料量正在不斷增加,衍...