Train-Val-Test-交叉验证
Train-Val-Test划分 主讲人:龙良曲 Recap How to detect Splitting Train Set Test Set For example 60K 10K test while train train test trade-off Overfitt ing For others judge ▪ Kaggle Train Set Test Test Set Val Set Unavailable train-val-test K-fold cross-validation Train Set Test Set Val Set k-fold cross validation ▪ merge train/val sets ▪ randomly sample 1/k as val set 下一课时 减轻Overfitting0 码力 | 13 页 | 1.10 MB | 1 年前3Kotlin Language Documentation 1.3
Kotlin Kotlin bindings for NumPy 18 // Kotlin import org.jetbrains.numkt.* fun main() { val a = arange(15).reshape(3, 5) println(a.shape.contentEquals(intArrayOf(3, 5))) // true lang.Integer // create an array of ints, we square each element and the shape to (3, 5) val b = (arange(15) `**` 2).reshape(3, 5) } Unlike Python, Kotlin is a statically typed language. This random((3, 3)) b *= a # Success a *= b # TypeError at runtime // Kotlin // ... val a = ones(3, 3) * 3 val b = Random.random(3, 3) b *= a // Success a *= b // Compilation error: // Type mismatch: 0 码力 | 597 页 | 3.61 MB | 1 年前3Kotlin 1.2 Language Documentation
asyncOverlay() = async(CommonPool) { // start two async operations val original = asyncLoadImage("original") val overlay = asyncLoadImage("overlay") // and then apply overlay to both results // launches new coroutine in UI context launch(UI) { // wait for async overlay to complete val image = asyncOverlay().await() // and then show it in UI showImage(image) } Here, async { New in Kotlin 1.1 Table of Contents — — — — — JavaScript Coroutines (experimental) 14 val seq = buildSequence { for (i in 1..5) { // yield a square of i yield(i *0 码力 | 333 页 | 2.22 MB | 1 年前3Kotlin Language Documentation 1.9.20
variables with val mutable variables with var To assign a value, use the assignment operator =. For example: fun main() { //sampleStart val popcorn = 5 // There are 5 boxes of popcorn val hotdog recommend that you declare all variables as read-only (val) by default. Declare mutable variables (var) only if necessary. 64 //sampleStart val customers = 10 println("There are $customers customers") 20 years old" to standard output: fun main() { val name = "Mary" val age = 20 // Write your code here } fun main() { val name = "Mary" val age = 20 println("$name is $age years old") } Next0 码力 | 1299 页 | 32.44 MB | 1 年前3Kotlin 1.9.10 官方文档 中文版
该问题解法的一个简单命令式版本可以这样编写: 【Kotlin 1.6.0 及更高版本】 fun main() { var n = readln().toInt() // 读取输入的整数 val reached = HashSet() // 可变的哈希 set while (reached.add(n)) n = f(n) // 迭代函数 f println(reached String.toInt() 函数 会抛出异常。 【早期版本】 fun main() { var n = readLine()!!.toInt() // 读取输入的整数 val reached = HashSet () // 可变的哈希 set while (reached.add(n)) n = f(n) // 迭代函数 f println(reached 读取输入 val n = readln().toInt() val s = readln() val fl = readln().split(" ").map { it.toInt() } // 定义局部函数 f fun f(c: Char) = '0' + fl[c - '1'] // 贪婪查找第一个与最后一个索引 val i = s 0 码力 | 3753 页 | 29.69 MB | 1 年前3Kotlin 官方文档中文版 v1.9
该问题解法的一个简单命令式版本可以这样编写: 【Kotlin 1.6.0 及更高版本】 fun main() { var n = readln().toInt() // 读取输入的整数 val reached = HashSet() // 可变的哈希 set while (reached.add(n)) n = f(n) // 迭代函数 f println(reached String.toInt() 函数会抛出异常。 【早期版本】 fun main() { var n = readLine()!!.toInt() // 读取输入的整数 val reached = HashSet () // 可变的哈希 set while (reached.add(n)) n = f(n) // 迭代函数 f println(reached 读取输入 val n = readln().toInt() val s = readln() val fl = readln().split(" ").map { it.toInt() } // 定义局部函数 f fun f(c: Char) = '0' + fl[c - '1'] // 贪婪查找第一个与最后一个索引 val i = s 0 码力 | 2049 页 | 45.06 MB | 1 年前3Hello 算法 1.1.0 Kotlin版
以 for 循环为例: // === File: iteration.kt === /* 双层 for 循环 */ fun nestedForLoop(n: Int): String { val res = StringBuilder() // 循环 i = 1, 2, ..., n-1, n for (i in 1..n) { // 循环 j = 1, 2, ..., n-1, n recursion.kt === /* 递归 */ fun recur(n: Int): Int { // 终止条件 if (n == 1) return 1 // 递: 递归调用 val res = recur(n - 1) 第 2 章 复杂度分析 hello‑algo.com 23 // 归: 返回结果 return n + res } 图 2‑3 展示了该函数的递归过程。 // 终止条件 f(1) = 0, f(2) = 1 if (n == 1 || n == 2) return n - 1 // 递归调用 f(n) = f(n-1) + f(n-2) val res = fib(n - 1) + fib(n - 2) // 返回结果 f(n) return res } 观察以上代码,我们在函数内递归调用了两个函数,这意味着从一个调用产生了两个调用分支。如图0 码力 | 381 页 | 18.47 MB | 1 年前3Hello 算法 1.2.0 简体中文 Kotlin 版
以 for 循环为例: // === File: iteration.kt === /* 双层 for 循环 */ fun nestedForLoop(n: Int): String { val res = StringBuilder() // 循环 i = 1, 2, ..., n-1, n for (i in 1..n) { // 循环 j = 1, 2, ..., n-1, n recursion.kt === /* 递归 */ fun recur(n: Int): Int { // 终止条件 if (n == 1) return 1 // 递: 递归调用 val res = recur(n - 1) 第 2 章 复杂度分析 www.hello‑algo.com 23 // 归: 返回结果 return n + res } 图 2‑3 展示了该函数的递归过程。 // 终止条件 f(1) = 0, f(2) = 1 if (n == 1 || n == 2) return n - 1 // 递归调用 f(n) = f(n-1) + f(n-2) val res = fib(n - 1) + fib(n - 2) // 返回结果 f(n) return res } 观察以上代码,我们在函数内递归调用了两个函数,这意味着从一个调用产生了两个调用分支。如图0 码力 | 382 页 | 18.48 MB | 9 月前3Back to Basics Concepts
to Insert a Value templatevoid add(CollT& coll, const T& val) { coll.push_back(val); } std::vector coll1; std::set coll2;std::unordered_set uset; add(coll1 typename T> void add(CollT& coll, const T& val) { coll.push_back(val); } template void add(CollT& coll, const T& val) { coll.insert(val); } std::vector coll1; std::set HasPushBack void add(CollT& coll, const T& val) { coll.push_back(val); } template void add(CollT& coll, const T& val) { coll.insert(val); } std::vector coll1; std::set 0 码力 | 23 页 | 2.14 MB | 5 月前3Hello 算法 1.2.0 繁体中文 Kotlin 版
以 for 迴圈為例: // === File: iteration.kt === /* 雙層 for 迴圈 */ fun nestedForLoop(n: Int): String { val res = StringBuilder() // 迴圈 i = 1, 2, ..., n-1, n for (i in 1..n) { // 迴圈 j = 1, 2, ..., n-1, n recursion.kt === /* 遞迴 */ fun recur(n: Int): Int { // 終止條件 if (n == 1) return 1 // 遞: 遞迴呼叫 val res = recur(n - 1) 第 2 章 複雜度分析 www.hello‑algo.com 23 // 迴: 返回結果 return n + res } 圖 2‑3 展示了該函式的遞迴過程。 // 終止條件 f(1) = 0, f(2) = 1 if (n == 1 || n == 2) return n - 1 // 遞迴呼叫 f(n) = f(n-1) + f(n-2) val res = fib(n - 1) + fib(n - 2) // 返回結果 f(n) return res } 觀察以上程式碼,我們在函式內遞迴呼叫了兩個函式,這意味著從一個呼叫產生了兩個呼叫分支。如圖0 码力 | 382 页 | 18.79 MB | 9 月前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100