这是我第一次使用PySpark(Spark 2),我正在尝试为Logit模型创建一个玩具数据帧.我成功运行了教程,并希望将自己的数据传递给它.
我试过这个:
%pyspark
import numpy as np
from pyspark.ml.linalg import Vectors, VectorUDT
from pyspark.mllib.regression import LabeledPoint
df = np.concatenate([np.random.randint(0,2, size=(1000)), np.random.randn(1000), 3*np.random.randn(1000)+2, 6*np.random.randn(1000)-2]).reshape(1000,-1)
df = map(lambda x: LabeledPoint(x[0], Vectors.dense(x[1:])), df)
mydf = spark.createDataFrame(df,["label", "features"])
Run Code Online (Sandbox Code Playgroud)
但我无法摆脱:
TypeError: Cannot convert type <class 'pyspark.ml.linalg.DenseVector'> into Vector
Run Code Online (Sandbox Code Playgroud)
我正在使用ML库作为向量,输入是一个双数组,所以请问有什么问题?根据文档应该没问题.
非常感谢.
numpy apache-spark apache-spark-sql pyspark apache-spark-mllib
我正在关注scikit文档的决策树教程.我有,pydotplus 2.0.2但它告诉我它没有write方法 - 错误如下.我现在一直苦苦挣扎,有什么想法,好吗?非常感谢!
from sklearn import tree
from sklearn.datasets import load_iris
iris = load_iris()
clf = tree.DecisionTreeClassifier()
clf = clf.fit(iris.data, iris.target)
from IPython.display import Image
dot_data = tree.export_graphviz(clf, out_file=None)
import pydotplus
graph = pydotplus.graphviz.graph_from_dot_data(dot_data)
Image(graph.create_png())
Run Code Online (Sandbox Code Playgroud)
而我的错误是
/Users/air/anaconda/bin/python /Users/air/PycharmProjects/kiwi/hemr.py
Traceback (most recent call last):
File "/Users/air/PycharmProjects/kiwi/hemr.py", line 10, in <module>
dot_data = tree.export_graphviz(clf, out_file=None)
File "/Users/air/anaconda/lib/python2.7/site-packages/sklearn/tree/export.py", line 375, in export_graphviz
out_file.write('digraph Tree {\n')
AttributeError: 'NoneType' object has no attribute 'write'
Process finished with exit …Run Code Online (Sandbox Code Playgroud) 我只是注意到,如果您想创建一个具有单个元素的元组(本身就是一个元组),则不能tuple仅使用(,)语法使用构造函数来执行此操作。这是为什么?
例:
>>> tuple(list('abc'))
('a', 'b', 'c')
>>> tuple(tuple(list('abc')))
('a', 'b', 'c')
>>> (tuple(list('abc')),)
(('a', 'b', 'c'),)
Run Code Online (Sandbox Code Playgroud)
但是,它保留了一个清单
>>> tuple([1],)
(1,)
>>> tuple([1])
(1,)
Run Code Online (Sandbox Code Playgroud) apache-spark ×1
graphviz ×1
numpy ×1
pydot ×1
pyspark ×1
python ×1
python-3.x ×1
scikit-learn ×1
tuples ×1