組隊學習 DCIC2021演算法分析題學習分享

2021-10-19 13:19:43 字數 1737 閱讀 6309

資料預處理

方法一:基於geohash的停車點匹配潮汐點計算

方法二:基於距離匹配計算潮汐點

本次主要針對學習baseline過程中未曾想到的方法與**技巧進行分享

通過共享單車訂單資料與共享單車停車點資料進行匹配,可以獲得不同時間共享單車在何處開啟與關閉的資料。針對二者計算差值可以獲得不同停車點的潮汐值,對比停車點的面積可以獲得潮汐密度。

停車點的面積應該如何計算?

如何將單車與停車點進行匹配?

如何定位每個停車點中心並求其面積?

將停車點的loaction處理成矩陣形式

找出每個停車點經緯度的最大值與最小值

通過對列求平均值獲得停車點的中心經緯度

以最大最小經緯度之間的距離表停車點面積(利用geopy庫的geodesic函式)

lambda x : geodesic(

(x['min_latitude'

], x[

'min_longitude'])

,(x[

'max_latitude'

], x[

'max_longitude'])

).meters

import geohash

bike_order[

'geohash'

]= bike_order.

(lambda x: geohash.encode(x[

'latitude'

], x[

'longitude'

], precision=6)

, axis=1)

bike_fence[

'geohash'

]= bike_fence[

'fence_center'].

(lambda x: geohash.encode(x[0]

, x[1]

, precision=6)

)

pivot_table透視表pivot_table(df,values,index,columns,aggfunc,fill_value)index為表的行,columns為表的列,values為表中行列確定的值,aggfunc為聚合方法,fill_value填充空值

bike_flow = pd.pivot_table(bike_order[bike_order[

'lock_status']==

1],values=

'lock_status'

, index=

['geohash'],

columns=

['day_hour'

], aggfunc=

'count'

, fill_value=

0)

組隊學習 分治演算法 打卡

將原本複雜的問題,拆分成相同解決方法的簡單的小問題,然後將小問題的答案歸併成初始問題的解。採用遞迴的方式,將問題層層分解,直到子問題滿足設定好的終止條件結束遞迴求解子問題的解,然後將解歸併。示意圖如下 示例1 輸入 3,2,3 輸出 3 示例2 輸入 2,2,1,1,1,2,2 輸出 2 首先想到的...

Datawhale組隊學習 Task01 分治

分治在倒排索引 pagerank 計算 網頁分析等搜尋引擎相關的技術中都有大量的應用。分治演算法的主要思想是將原問題遞迴地分成若干個子問題,直到子問題滿足邊界條件,停止遞迴。將子問題逐個擊破 一般是同種方法 將已經解決的子問題合併,最後,演算法會層層合併得到原問題的答案。def divide con...

機器學習演算法組隊學習 決策樹

決策樹是一種常見得機器學習方法,一顆決策樹主要包含三個部分,乙個根節點 若干內部節點和若干葉節點 資訊熵 是度量樣本幾何純度最常用得一種指標,定義為 考慮到不用得分支節點所包含得樣本數不同,給分支節點賦予權重,樣本數越多的分支節點影響力越大,於是可以得到 資訊增益 一般而言,資訊增益越大,意味著用屬...