Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Saving prediction results to CSV

I am storing the results from a sklearn regression model to the varibla prediction.

prediction = regressor.predict(data[['X']])
print(prediction)

The values of the prediction output looks like this

[ 266.77832991  201.06347505  446.00066136  499.76736079  295.15519906
  214.50514991  422.1043505   531.13126879  287.68760191  201.06347505
  402.68859792  478.85808879  286.19408248  192.10235848]

I am then trying to use the to_csv function to save the results to a local CSV file:

prediction.to_csv('C:/localpath/test.csv')

But the error I get back is:

AttributeError: 'numpy.ndarray' object has no attribute 'to_csv'

I am using Pandas/Numpy/SKlearn. Any idea on the basic fix?

like image 506
ZJAY Avatar asked Jan 18 '16 21:01

ZJAY


2 Answers

You can use pandas. As it's said, numpy arrays don't have a to_csv function.

import numpy as np
import pandas as pd
prediction = pd.DataFrame(predictions, columns=['predictions']).to_csv('prediction.csv')

add ".T" if you want either your values in line or column-like.

like image 177
DavidK Avatar answered Sep 23 '22 04:09

DavidK


You can use the numpy.savetxt function:

numpy.savetxt('C:/localpath/test.csv',prediction, ,delimiter=',')

and to load a CSV file you can use numpy.genfromtxt function:

numpy.genfromtxt('C:/localpath/test.csv', delimiter=',')
like image 38
Ali Avatar answered Sep 20 '22 04:09

Ali