我已经在python中为azure ML编写了一个算法,但是我没有让它运行。我是用Visual Studio(PTVS)编程的。我使用此代码获得与azure ML相同的条件:
def azureMLstartCondition():
fileLocation = 'C:/Users/nissen/Desktop/SLR-Algrorithmus/Belgian376.csv'
dataset = pd.DataFrame(pd.read_csv(fileLocation, error_bad_lines = False))
azureml_main(dataset)
将给定的pandas数据帧转换为列表的My Code是:
def formData(dataset):
listOfTransaction = dataset.values.tolist()
cleanedList = []
for transaction in listOfTransaction:
itemList = []
for item in transaction:
if False == pd.isnull(item):
itemList.append(item)
cleanedList.append(itemList)
return cleanedList
我的代码将其重新转换为pandas数据框:
def formToPandas(result):
lastStep = pd.DataFrame(result)
return lastStep
在Visual Studio中,一切都有效,但不是在azure ML中。同一问题的描述,但另一方面,你在这里找到:forum of azure ML。
我想要实现的完整代码包含最多4维或更多的列表。 (列表列表....)但最后一个是列表,转换为pandas应该没问题。
我希望你能帮助我, 许多问候, peni4142
PS:请原谅我的英语不好请: - )
编辑: PPS:完整的代码,我在模块Python代码脚本中有:
import pandas as pd
def formToPandas(result):
lastStep = pd.DataFrame(result)
return lastStep
def formData(dataset):
listOfTransaction = dataset.values.tolist()
cleanedList = []
for transaction in listOfTransaction:
itemList = []
for item in transaction:
if False == pd.isnull(item):
itemList.append(item)
cleanedList.append(itemList)
return cleanedList
def allocationPhase(dataframe1):
formedData = (formData(dataframe1))
return formedData
def azureml_main(dataframe1 = None, dataframe2 = None):
formToPandas(allocationPhase(dataframe1))
也许这会有所帮助。 非常感谢您的帮助。 好的,如果我之前已经发现以这种方式实现代码,我之前会像这样分享它。 :D抱歉!
答案 0 :(得分:0)
根据我的经验,该问题是由函数azureMLstartCondition
从本地路径上的CSV文件加载数据集引起的。
在Azure ML上,应通过Python Storage SDK中的编程或使用MS Azure ML Studio中的Data Input and Output
模块从Azure存储加载数据集。
所以我认为您需要首先将现有数据csv文件上传到Azure存储或Azure ML实验(请参阅https://azure.microsoft.com/en-us/documentation/articles/machine-learning-walkthrough-2-upload-data/)。
然后,您可以使用Python访问上传的数据集(请参阅https://azure.microsoft.com/en-us/documentation/articles/machine-learning-python-data-access/)并修改您的代码,使其适用于Azure ML。
要将数据导入Azure ML,您还可以参考https://azure.microsoft.com/en-us/documentation/articles/machine-learning-data-science-import-data/。
更新了评论的错误信息
对于错误RPackage library exception: Failed to convert RObject to DataSet
,有一个疑难解答博客http://blogs.msdn.com/b/andreasderuiter/archive/2015/02/03/troubleshooting-error-1000-rpackage-library-exception-failed-to-convert-robject-to-dataset-when-running-r-scripts-in-azure-ml.aspx可以解释并解析Azure ML。
答案 1 :(得分:0)
这确实有效:
def formData(dataset):
listOfTransaction = list()
listOfTransaction = dataset.values.tolist()
cleanedList = []
for transaction in listOfTransaction:
itemList = []
for item in transaction:
if False == pd.isnull(item):
itemList.append(item)
cleanedList.append(itemList)
return cleanedList
def formToPandas(result):
return pd.DataFrame(result)
我想在错误的地方遇到问题。真正的问题是在Visual Studio中没有问题可以使这个(x / y)* 100,其中x比y小得多,但是在azureML中你得到0作为结果,除了你创建变量为x = 0.0。 / p>