原创 CART樹使用mae比使用mse慢很多

跑實驗時,數據集大約是2000*100,使用隨機森林128課樹做迴歸,發現使用mae所花的時間是使用mse時間10倍以上。然後單獨在CART迴歸樹做實驗,也是同樣的問題,爲什麼?? 留坑 -------------------------

原创 [leetcode 152]最大乘積子序列

leetcode 152 思路:dp 代碼: class Solution { public: int maxProduct(vector<int>& nums) { int n = nums.size();

原创 AUC曲線計算方法及代碼實現

參考:https://www.cnblogs.com/peizhe123/p/5081559.html AUC計算   1. 根據定義Aera Under Curve,計算面積。樣本有限,所以得到的AUC曲線一般是個階梯狀,所以計算這些階

原创 [leetcode 72]字符串編輯距離

題目連接:leetcode72 題意:給兩個字符串A和B,有三種操作,增加、刪除或替換一個字符。求A變成B最小的操作次數。 思路:使用動態規劃。 dp[i][j]表示將字符串A[0~i]變成字符串B[0~j]需要的操作數。 1、如果A[i

原创 [leetcode 546] 移除盒子

leetcode546 題意: 給定n個盒子,每個盒子都有一種顏色,將k個相鄰的相同顏色的盒子移除,可以得到k*k的分數,問如何移除才能獲得最大分數?輸出最大分數即可,n <= 100。 解析: 本題使用動規的方法,dp[i][j][k]

原创 排序算法(快排,歸併,堆排,冒泡,選擇,插入)

以下算法均按從小到大排序。 1、快排 #include <iostream> using namespace std; void QuikSort(int a[], int l, int r){ if(l >= r) retu

原创 圖的存在性

題目: 給定過一個1到N的排列P1到PN ,請判斷是否存在一個由N個點,N-1條邊組成的無向連通圖,滿足對於任意兩個整數i和j(i不等於j),若第i個點和第j個點之間有邊相連,則第Pi個點和第Pj個點之間同樣有邊相連。 輸入: 第一行輸入

原创 placeholer

1024 placeholder 還有勳章嗎?

原创 [leetcode 905]有效排列

題目鏈接:leetcode905 題意: 給一個由'D'和'I'組成的字符數組,求0~n這n+1個數滿足字符數組所有D和I規則的排列數目,D和I規則如下: D(decrease)代表a[i] > a[i+1]; I(increase)代表

原创 numpy實現KNN代碼

代碼參考徵哥博客:傳送門 簡介: KNN的基本思想是根據與測試樣本相鄰最近的k個樣本的標籤,去決定該樣本的預測值。KNN有三個要素:k值選擇,距離度量方式和決策準則。 KNN沒有顯式的訓練過程,計算基本都在預測階段。 1. K值選擇 一般

原创 CNN卷積相關計算

以AlexNet爲例   一、卷積/池化尺寸計算 計算公式:  n’ = (n - k + 2p) / s + 1  其中n是輸入feature map大小,k是卷積核大小,p是padding大小,s是步長 eg:輸入feature m

原创 numpy實現K-Means代碼

參考徵哥博客:傳送門 K-Means步驟: 1、初始化k個聚類中心 2、計算每個樣本到每個聚類中心的距離,並劃分到距離最近的簇中(M步) 3、根據每個簇中的樣本重新計算聚類中心(E步) 4、重複2、3,直到聚類中心不再發生改變 複雜度分析

原创 字符串編輯距離

題目連接:leetcode72 題意:給兩個字符串A和B,有三種操作,增加、刪除或替換一個字符。求A變成B最小的操作次數。 思路:使用動態規劃。 dp[i][j]表示將字符串A[0~i]變成字符串B[0~j]需要的操作數。 1、如果A[i

原创 排序算法(快排,歸併,堆排)

以下算法均按從小到大排序。 1、快排 #include <iostream> using namespace std; void QuikSort(int a[], int l, int r){ if(l >= r) retu

原创 最大乘積子序列

leetcode 152 思路:dp 代碼: class Solution { public: int maxProduct(vector<int>& nums) { int n = nums.size();