Hi Damith,

You have to configure the *<SampleSize>* in
<ml-home>/repository/conf/machine-learner.xml

<SummaryStatisticsSettings>
        <HistogramBins>20</HistogramBins>
        <CategoricalThreshold>20</CategoricalThreshold>
        *<SampleSize>10000</SampleSize>*
  </SummaryStatisticsSettings>

Since you are trying to upload a small dataset, the default value given for
<SampleSize> would be larger than the number of records in the dataset.
Documentation [1] contains the details of ML configurations.

[1] https://docs.wso2.com/display/ML100/WSO2+ML-Specific+Configurations

Thanks.

On Wed, Apr 29, 2015 at 4:43 PM, Damith Senanayake <[email protected]> wrote:

> Hi,
>
> I have tried running the Machine Learner for the first time and tried
> uploading the iris.csv dataset available at UCI and as I pressed "Create
> Dataset" button, I got the following error, and nothing happened any
> further.
>
> [2015-04-29 16:37:20,225] ERROR
> {org.wso2.carbon.ml.rest.api.DatasetApiV10} -  Error occurred while
> uploading a dataset : MLDataset [id=0, name=iris, tenantId=-1234,
> userName=admin, dataSourceType=File, dataTargetType=File,
> sourcePath=file:///home/damith/Documents/Data/iris.csv, dataType=CSV,
> comments=test, version=1.0.0]
> org.wso2.carbon.ml.core.exceptions.MLDataProcessingException:
> org.wso2.carbon.ml.core.exceptions.MLMalformedDatasetException: Failed to
> parse the given input stream. Cause:
> java.lang.ArrayIndexOutOfBoundsException
>     at
> org.wso2.carbon.ml.core.impl.MLDatasetProcessor.process(MLDatasetProcessor.java:281)
>     at
> org.wso2.carbon.ml.rest.api.DatasetApiV10.uploadDataset(DatasetApiV10.java:89)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:606)
>     at
> org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173)
>     at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89)
>     at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:167)
>     at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:94)
>     at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
>     at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>     at
> org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
>     at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
>     at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
>     at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:123)
>     at
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:207)
>     at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:213)
>     at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:154)
>     at
> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:126)
>     at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:185)
>     at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:108)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
>     at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:164)
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>     at
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>     at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
>     at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
>     at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
>     at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
>     at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
>     at
> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:183)
>     at
> org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
>     at
> org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)
>     at
> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
>     at
> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:146)
>     at
> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
>     at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
>     at
> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
>     at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>     at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>     at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
>     at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
>     at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1721)
>     at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1679)
>     at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>     at java.lang.Thread.run(Thread.java:745)
> Caused by: org.wso2.carbon.ml.core.exceptions.MLMalformedDatasetException:
> Failed to parse the given input stream. Cause:
> java.lang.ArrayIndexOutOfBoundsException
>     at
> org.wso2.carbon.ml.core.utils.MLUtils.getSamplePoints(MLUtils.java:108)
>     at
> org.wso2.carbon.ml.core.impl.MLDatasetProcessor.process(MLDatasetProcessor.java:243)
>     ... 51 more
> Caused by: java.lang.ArrayIndexOutOfBoundsException
>
>
>
>
> Is there any other configurations that I need to follow to run it?
>
>
> --
> *-Damith Senanayake-*
> +94712205272
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
Manorama Perera
Software Engineer
WSO2, Inc.;  http://wso2.com/
Mobile : +94716436216
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to