1. 程式人生 > >Spark MLlib特徵處理:StringToIndex 字串索引---原理及實戰

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