如果我有一个大约有500列和2亿行的RDD,以及RDD。柱。indexOf(“target”,0)
显示Int=77
,它告诉我目标因变量位于第77列。但我没有足够的知识来选择所需的(部分)列作为特征(比如我想要23到59、111到357、399到489的列)。我想知道我是否可以申请:
val data = rdd.map(col => new LabeledPoint(
col(77).toDouble, Vectors.dense(??.map(x => x.toDouble).toArray))
如有任何建议或指导,将不胜感激。
也许我用DataFrame搞砸了RDD,我可以用. toDF()
将RDD转换为DataFrame,或者用DataFrame比RDD更容易实现目标。
我假设您的数据大致如下:
import scala.util.Random.{setSeed, nextDouble}
setSeed(1)
case class Record(
foo: Double, target: Double, x1: Double, x2: Double, x3: Double)
val rows = sc.parallelize(
(1 to 10).map(_ => Record(
nextDouble, nextDouble, nextDouble, nextDouble, nextDouble
))
)
val df = sqlContext.createDataFrame(rows)
df.registerTempTable("df")
sqlContext.sql("""
SELECT ROUND(foo, 2) foo,
ROUND(target, 2) target,
ROUND(x1, 2) x1,
ROUND(x2, 2) x2,
ROUND(x2, 2) x3
FROM df""").show
所以我们有如下数据:
+----+------+----+----+----+
| foo|target| x1| x2| x3|
+----+------+----+----+----+
|0.73| 0.41|0.21|0.33|0.33|
|0.01| 0.96|0.94|0.95|0.95|
| 0.4| 0.35|0.29|0.51|0.51|
|0.77| 0.66|0.16|0.38|0.38|
|0.69| 0.81|0.01|0.52|0.52|
|0.14| 0.48|0.54|0.58|0.58|
|0.62| 0.18|0.01|0.16|0.16|
|0.54| 0.97|0.25|0.39|0.39|
|0.43| 0.23|0.89|0.04|0.04|
|0.66| 0.12|0.65|0.98|0.98|
+----+------+----+----+----+
我们要忽略foo
和x2
并提取LabeledPoint(目标,Array(x1, x3))
:
// Map feature names to indices
val featInd = List("x1", "x3").map(df.columns.indexOf(_))
// Or if you want to exclude columns
val ignored = List("foo", "target", "x2")
val featInd = df.columns.diff(ignored).map(df.columns.indexOf(_))
// Get index of target
val targetInd = df.columns.indexOf("target")
df.rdd.map(r => LabeledPoint(
r.getDouble(targetInd), // Get target value
// Map feature indices to values
Vectors.dense(featInd.map(r.getDouble(_)).toArray)
))
我正在尝试使用火花 MLlib 实现一个简单的 SVM 分类算法。 我有一堆字符串和它们的标签,现在我想对它们执行TF-IDF,并将结果反馈给SVM算法。 所以我要找的是从字符串的转换- 我按照这个例子:http://spark . Apache . org/docs/latest/ml lib-feature-extraction . html # TF-IDF 还有这个https://gith
In HTML, allows you to quickly traverse between opening and closing tag: 在HTML标签的开始与关闭标记间跳转。 <div id="page"> <section class="content"> <h1>Document example</h1> <p>Lorem ipsum dolo
问题内容: 我想 在Databricks中将转换为。 有人可以帮忙吗? 背景 (也欢迎一个更好的解决方案):我有一个Kafka流,经过一些步骤后,该流变成了2列数据帧。我想将其放入Redis缓存中,第一列作为键,第二列作为值。 更具体地说 ,输入的类型是:。我尝试放入Redis,如下所示: 错误消息如下所示: 我已经玩过一些想法(例如function ),但是没有一个帮助。 问题答案: 如果要将行
我对Spark和Scala相对较新。 我从以下数据帧开始(由密集的双倍向量组成的单列): 直接转换为RDD将生成一个org实例。阿帕奇。火花rdd。RDD[org.apache.spark.sql.Row]: 有人知道如何将此DF转换为org.apache.spark.rdd.RDD[org.apache.spark.mllib.linalg.向量]的实例吗?到目前为止,我的各种尝试都没有成功。
问题内容: 我一直在使用此d3项目中的示例代码来学习如何显示d3图形,但似乎无法使文本显示在圆圈的中间)。我看过其他示例并尝试添加 和 在定义了节点之后,但是当我将鼠标悬停在每个节点上时,我看到的唯一结果是显示“要显示的节点名称”。它没有显示为圆圈内的文本。我是否需要编写自己的svg文本对象,并根据圆的半径确定需要放置的svg文本对象的坐标?从其他两个示例来看,似乎d3已经以某种方式进行了处理。我
主要内容:转换器标签JSF有转换器将其UI组件的数据转换为托管bean中使用的对象,反之亦然。 例如,我们可以将文本转换为日期对象,并且可以验证输入的格式。 要使用转换器标签,我们必须在节点中使用URI的以下命名空间。 转换器标签 以下是JSF 2.0中的重要转换代码: 标签 描述 将字符串转换为所需格式的数字值 将字符串转换为所需的日期格式 自定义转换器 创建一个自定义转换器