再有就是應用內的推薦:
可以看出手機購物時,當我們搜尋某家商店的某件商品時。系統會根據我們的搜尋歷史和購買歷史進行相似物品的推薦。
分類演算法(醫學上的腫瘤判斷)
如何判斷細胞是否屬於腫瘤細胞呢?腫瘤細胞和普通細胞,有差別。但是,需要非常有經驗的醫生,通過病理切片才能判斷。如果通過機器學習的方式,使得系統自動識別出腫瘤細胞。此時的效率,將會得到飛速的提公升。並且,通過主觀(醫生)+客觀(模型)的方式識別腫瘤細胞,結果交叉驗證,結論可能更加靠譜。
如何操作?通過分類模型識別。簡言之,包含兩個步驟。首先,通過一系列指標刻畫細胞特徵,例如細胞的半徑、質地、周長、面積、光滑度、對稱性、凹凸性等等,構成細胞特徵的資料。其次,在細胞特徵寬表的基礎上,通過搭建分類模型進行腫瘤細胞的判斷。
對於我們來說最簡單的應用案例。請看如下**應用
對於我們來說最簡單的應用案例。請看如下**應用,根據班級同學不同的分段給出評級。乙個班級裡不同分段的人數不是相等的,而是有著峰值和低谷。案例:將學生的百分制成績轉換為五分制成績:≥90 分: a,80~89分: b,70~79分: c,60~69分: d,<60分: e。一般程式寫法:
/**
* @author 張晨光
* 測試成績結果演算法1
*/public class testone else if(grade<70)else if(grade<80)else if(grade<90)else
return result;
}}
如果學生的總成績資料有10000條,則5%的資料需 1 次比較,15%的資料需 2 次比較,40%的資料需 3 次比較,40%的資料需 4 次比較,因此10000 個資料比較的
次數為: 10000 (5%+2×15%+3×40%+4×40%)=31500次
此種形狀的二叉樹,需要的比較次數是:10000 (3×20%+2×80%)=22000次,顯然:兩種判別樹的效率是不一樣的。
因此,不同的演算法程式的執行效率是不一樣的,我們盡量找到最優演算法,提高程式的執行效率。就像你編遊戲,人口最高只敢100,否則機器就特慢,人家就敢讓人口到300;你的農民遇到石頭就停住了,人家的農民就能繞過去,找最近的路。這些都離不開演算法工程師的功勞。
所謂「演算法」是指解決問題的一種方法步驟或者乙個過程。
乙個演算法應該具有以下幾個重要的特徵。
(1)輸入:乙個演算法應該有n(n≥0)個初始的輸入資料。
(2)輸出:乙個演算法可以沒有或有乙個或多個輸出資訊,它們與輸入資料之間會有著某種特定的關係。
(3)確定性:演算法中的每乙個步驟都必須具有確切的含義,不能有二義性。
(4)可行性:演算法中描述的每乙個操作步驟都必須是可以執行的,也就是說,都可以通過計算機實現。
(5)有窮性:乙個演算法必須在經歷有限個步驟之後正常結束,不能形成死迴圈。
思考題,3個數中求最大值,比較下哪種演算法比較好!!!
/**
* * @author 張晨光
* 求3個數中的最大值
* */
public class testfour else if(c>a&&c>b)else
max=b;
return max;
} //第2種寫法,其他比較幼稚的寫法,暫時不再提供
public static int getmax2(int a,int b,int c)
if(c>max)
return max;
} //三元運算子;
public static int getmax3(int a,int b,int c)
}
博雅資料機器學習10
博雅資料機器學習10 貝葉斯定理 計算隊1獲勝的概率prob win 1 prob win 1 1 prob win 0 計算隊1取勝時隊0是東道主的概率 prob win 1 home 0 1 prob win 1 home 1 計算隊0取勝時隊0是東道主的概率 prob win 0 home 0...
博雅資料機器學習09
博雅資料機器學習09 k近鄰演算法 宣告儲存k個鄰居的index的列表 index list 遍歷每個測試樣本的與訓練集的舉例,item型別為dict for item in distances item的型別為dict,即 使用sorted函式對item按照distance進行公升序排列,並取前1...
博雅資料機器學習06
博雅資料機器學習06 線性回歸 from sklearn import linear model from numpy import mat,array,mean 根據x和y訓練模型並計算 值y pred x insurance.drop charges axis 1 y insurance cha...