原创 基於WEKA的C45算法代碼實現及其詳解

1.概述 C45算法在weka已經有具體的實現,即weka中的J48.java。不過J48.java中的具體代碼牽扯到較多的類和其他東西,直接看源代碼比較容易混亂,且需要了解的東西較多,有比較多和C45算法本身沒有太大關係而是爲了

原创 基於WEKA的K近鄰(KNN)代碼實現

1.僞代碼 計算待測樣本與所有訓練樣本的距離; 根據距離大小排序,找出距離前k個的近鄰(近鄰實際數量可能大於k); 基於找到的近鄰計算類概率分佈,並依此確定待測樣本的預測類屬性值。 2.代碼 package weka.clas

原创 基於WEKA的樸素貝葉斯(Naive Bayes)代碼實現

1.Naive Bayes公式 2.代碼 package weka.classifiers.myAlgorithm; import weka.classifiers.Classifier; import weka.core.

原创 基於WEKA的決策樹(ID3)代碼實現

1.僞代碼 將所有屬性放入可選屬性集A中; 若訓練集D的所有樣本屬於同一類別k,則構建葉節點,節點的類標籤分佈爲[第k個爲1.0,其他爲0.0],返回該葉節點; 若A爲空,使用ClassDistribution獲得類標籤分佈,以

原创 org.apache.spark.SparkException: Task not serializable

在spark shell中運行下述代碼: val max_array = max_read_fav_share_vote.collect val max_read = max_array(0)(0).toStrin

原创 java.lang.OutOfMemoryError: GC overhead limit exceeded

在spark1.6.0中運行代碼,在log中出現如下錯誤提示: java.lang.OutOfMemoryError: GC overhead limit exceeded 這個一般是因爲在垃圾回收中佔用了大量時間造成的。通常來

原创 ERROR util.Utils: uncaught error in thread SparkListenerBus, stopping SparkContext

在spark1.6.0中運行代碼,在log中出現如下錯誤提示: ERROR util.Utils: uncaught error in thread SparkListenerBus, stopping SparkContext

原创 org.apache.spark.SparkException: Failed to get broadcast_270_piece0 of broadcast_270

在spark1.6.0中運行代碼,出現如下錯誤: org.apache.spark.SparkException: Failed to get broadcast_270_piece0 of broadcast_270 解決方法

原创 Shell腳本

#! 告訴系統其後路徑所指定的程序即是解釋此腳本文件的 Shell 程序。 在Linux中,直接用/bin/sh test.sh指令運行shell腳本文件,這裏是調用Bourne Shell解釋器。 1. Shell變量 定義變量

原创 Spark Shell -- :29: error: object y is not a member of package x

在spark shell中導入一個包出錯: import x.y 但是報錯: <console>:29: error: object y is not a member of package x 解決方法: 打開spark

原创 Error: Must specify a primary resource (JAR or Python or R file) --spark--scala

在spark集羣上運行一個shell腳本,出現錯誤: 出現這個問題的原因是shell腳本中沒有指定主資源,這是因爲我在shell腳本中有多個jar包,但都用來作爲依賴資源而沒有指定主資源。 類似運行如下的指令會出現這個錯誤: ./

原创 Intellij IDEA中編寫Scala程序報錯:Error:scalac: 'jvm-1.8' is not a valid choice for '-target'

在Intellij IDEA中編寫Scala程序報錯:Error:scalac: ‘jvm-1.8’ is not a valid choice for ‘-target’。 Intellij IDEA版本是2019.1.3,

原创 基於WEKA的線性迴歸代碼實現(最小二乘法)

1.最小二乘法求線性迴歸參數 線性迴歸公式 損失函數 最小二乘法求參數 令 ,, 因此,損失函數轉換爲 求導求出駐點得到 2.代碼 package weka.classifiers.myAlgorithm; import w

原创 基於WEKA的NB代碼實現

1.Naive Bayes公式 2.代碼 package weka.classifiers.myAlgorithm; import weka.classifiers.Classifier; import weka.core.In