Spark MLlib特徵處理:StringToIndex 字串索引---原理及實戰
原理
1)按String字串出現次數降序排序;次數相同,自然順序。
2)按降序順序轉換成DoubleIndex,預設從0.0開始。
程式碼實戰
import org.apache.spark.ml.feature.StringIndexer
import org.apache.spark.sql.{DataFrame, SQLContext}
import org.apache.spark.{SparkContext, SparkConf}
object StringToIndexExample {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("StringIndexerExample").setMaster("local[6]")
val sc = new SparkContext(conf)
val sqlContext = new SQLContext(sc)
// 將Array轉換成DataFrame
val df: DataFrame = sqlContext.createDataFrame(
Seq((0, "a"), (1, "b"), (2, "c"), (3, "a"), (4, "a"), (5, "c" ),(6, "d"))
).toDF("id", "category")
// 設定輸入列、輸出列
val indexer = new StringIndexer().setInputCol("category").setOutputCol("categoryIndex")
// fit transform
// fit函式:按出現次數降序排序;次數相同,自然順序。
// 如 a 出現3次;c 出現2次;b 出現1次;d 出現1次
// transform函式:按降序順序StringToDoubleIndex
// 如 a=>0.0 c=>1.0 b=>2.0 d=>3.0
val indexed = indexer.fit(df).transform(df)
indexed.show()
sc.stop()
}
}
// 輸出
// +---+--------+-------------+
// | id|category|categoryIndex|
// +---+--------+-------------+
// | 0| a| 0.0|
// | 1| b| 2.0|
// | 2| c| 1.0|
// | 3| a| 0.0|
// | 4| a| 0.0|
// | 5| c| 1.0|
// | 6| d| 3.0|
// +---+--------+-------------+
相關推薦
Spark MLlib特徵處理:StringToIndex 字串索引---原理及實戰
原理 1)按String字串出現次數降序排序;次數相同,自然順序。 2)按降序順序轉換成DoubleIndex,預設從0.0開始。 程式碼實戰 import org.ap
Spark MLlib特徵處理:均值、方差、協方差 ---原理及實戰
原理 向量a→=(x1,x2,x3...xn),ak是a→中的任意元素,k=1,2,3⋯n 例如:a→代表一個維度(特徵)DimA,ak代表特徵值。 向量b→=(x1,x2,x3...xn),bk是b→中的任意元素,k=1,2,3⋯n 例如
Spark MLlib 特徵抽取、轉化和選擇 -- 特徵選取:卡方選擇器
這一部分主要介紹和特徵處理相關的演算法,大體分為以下三類: 1)特徵抽取:從原始資料中抽取特徵 2)特徵轉換:特徵的維度、特徵的轉化、特徵的修改 3)特徵選取:從大規模特徵集中選取一個子集 特徵選擇(feature Selection)指的是在特徵向量中選擇出那些優秀的
部署時遇到的問題處理:替換字串,配置埠,處理tomcat衝突
1. 替換字串:一般都是全部替換 :%s/well/good/g 通過vi編輯器來替換。 vi/vim 中可以使用 :s 命令來替換字串。 :s/well/good/ 替換當前行第一個 well 為 good :s/well/good/g 替換當前行所有 well 為
Spark MLlib 核心基礎:向量 And 矩陣
1、Spark MLlib 核心基礎:向量 And矩陣 1.1 Vector 1.1.1 dense vector 原始碼定義: * Creates a dense vector from its
Spark MLlib系列(一):入門介紹
轉載:http://blog.csdn.net/shifenglov/article/details/43762705 前言 最新的情況是國內BAT已經都上了spark,而且spark在hadoop上的應用,大有為大象插上翅膀的效果。個人估計在未來兩到三年,spark
Spark MLlib 特徵抽取、轉化和選擇 -- 特徵抽取3 CountVectorizer
這一部分主要介紹和特徵處理相關的演算法,大體分為以下三類: 1)特徵抽取:從原始資料中抽取特徵 2)特徵轉換:特徵的維度、特徵的轉化、特徵的修改 3)特徵選取:從大規模特徵集中選取一個子集 特徵提取: CountVectorizer CountVectorizer旨
頻域處理:傅立葉變換及小波變換
頻域處理:傅立葉變換及小波變換 引言 1、傅立葉變換 2、小波變換 3、程式 引言 影象處理–>頻域處理–>傅立葉變換、小波變換。用另一種方法來觀察世界的話,你會發現世界是永恆不變的。
轉載:資料庫索引原理及優化
轉自:https://www.cnblogs.com/wuchanming/p/6886020.html 摘要: 本文內容主要來源於網際網路上主流文章,只是按照個人理解稍作整合,後面附有參考連結。 本文內容主要來源於網際網路上主流文章,只是按照個人理解稍作整合,後面附有
重新學習Mysql資料庫5:根據MySQL索引原理進行分析與優化
本文出自我的公眾號:程式設計師江湖。 滿滿乾貨,關注就送。 一:Mysql原理與慢查詢 MySQL憑藉著出色的效能、低廉的成本、豐富的資源,已經成為絕大多數網際網路公司的首選關係型資料庫。雖然效能出色,但所謂“好馬配好鞍”,如何能夠更好的使用它,已經成為開發工程
MySQL優化(三):索引原理及索引優化
建立高效能索引索引是提高MySQL查詢效能的一個重要途徑,但過多的索引可能會導致過高的磁碟使用率以及過高的記憶體佔用,從而影響應用程式的整體效能。應當儘量避免事後才想起新增索引,因為事後可能需要監控大量的SQL才能定位到問題所在,而且新增索引的時間肯定是遠大於初始新增索引所需
MySQL索引原理及慢查詢優化(轉自:美團tech)
輔助 nor bundle like 案例 應對 異常 線下 重要 背景 MySQL憑借著出色的性能、低廉的成本、豐富的資源,已經成為絕大多數互聯網公司的首選關系型數據庫。雖然性能出色,但所謂“好馬配好鞍”,如何能夠更好的使用它,已經成為開發工程師的必修課,我們經常會從職位
MRI資料處理:如何開啟.nii檔案及其他
在matlab中: addpath('/usr/local/matlab.etc/'); load_nii('檔名'); save_nii(nii,'檔名'); ex: SROInii.hdr=data.hdr; SROInii.img=SROI;
MySQL索引原理及慢查詢優化(轉)
範圍 很難 等於 right 事件 原理 插入 jpg 個人網站 轉自:美團點評技術團隊http://tech.meituan.com/mysql-index.html MySQL憑借著出色的性能、低廉的成本、豐富的資源,已經成為絕大多數互聯網公司的首選關系型數據庫。雖然性
MySQL索引原理及慢查詢優化-zz
`` 原理 並不是 計劃 ora 實的 birt 總計 war https://tech.meituan.com/mysql-index.html MySQL憑借著出色的性能、低廉的成本、豐富的資源,已經成為絕大多數互聯網公司的首選關系型數據庫。雖然性能出色,但所謂“好馬配
(轉載)java高並發:CAS無鎖原理及廣泛應用
weight var locking 一行 原創 map 就是 指導 表示 java高並發:CAS無鎖原理及廣泛應用 版權聲明:本文為博主原創文章,未經博主允許不得轉載,轉載請註明出處. 博主博客地址是 http://blog.csdn.net/liube
分享知識-快樂自己:Struts2框架 工作原理及執行流程圖(攔截器的使用)
Struts2 架構圖: 1):提交請求 客戶端通過 HttpServletRequest 向 Servlet (即Tomcat)提交一個請求。 請求經過一系列的過濾器,例如圖中的 ActionContextCleanUp 和 Other filer (SlterMesh,etc)等,最後被 Str
Java核心機制:反射機制的原理及應用方法
一、java的核心機制 java有兩種核心機制:java虛擬機器(JavaVirtual Machine)與垃圾收集機制(Garbage collection): 1、Java虛擬機器:是執行所有Java程式的抽象計算機,是Java語言的執行環境,在其上面執行Java程式碼編譯後的位元組碼程式,
MySQL索引原理及BTree(B-/+Tree)結構詳解
目錄 摘要 資料結構及演算法基礎 索引的本質 B-Tree和B+Tree B-Tree B+Tree 帶有順序訪問指標的B+Tree 為什麼使用B-Tree(B+Tree) 主存存取原理 磁碟存取原理 區域性性原理與磁碟預讀 B
LSI(LSA)潛在語義索引原理及sklearn中的實現
想要了解潛在語義索引的原理推薦以下三個連結,仔細看下就能基本掌握LSI的原理: 1.文字主題模型之潛在語義索引(LSI) 2.奇異值分解(SVD)原理與在降維中的應用 3.latent semantic analysis via the singular value decompos