0
$\begingroup$

I am trying to learn about machine learning and I've done some reading and tried simple task like the Iris dataset, but I've decided to go to a bigger project and got a couple datasets from some sites of competitions and I couldn't run any of the models on my computer. I got an error message from R saying that it couldn't allocate such a big vector, so I tried running on a kernel on Kaggle, but I don't think it will work it out for me because of the limited time I have available to use. So I want to know is it possible to run a model on a bad computer? Right now I'm on vacation so I'm using a laptop, back home I have a computer which is a little better, but I don't think it's good enough. I really want to try projects by myself so I can see that I'm learning, but I'm not being able to run it. Can I get suggestions on how to run?

My laptop have 4GB of RAM and my processor is an Intel(R) Celeron(R) CPU N3350 @ 1.10GHz. My PC has also 4GB RAM and a i5 as processor (I don't remember which one exactly).

$\endgroup$

closed as off-topic by Reinstate Monica, shimao, Ferdi, Xi'an, mdewey Jan 14 at 16:01

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "This question appears to be off-topic because EITHER it is not about statistics, machine learning, data analysis, data mining, or data visualization, OR it focuses on programming, debugging, or performing routine operations within a statistical computing platform. If the latter, you could try the support links we maintain." – Reinstate Monica, shimao, Ferdi, Xi'an, mdewey
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    $\begingroup$ AWS lets you rent computers by the hour. $\endgroup$ – Reinstate Monica Jan 14 at 14:13
  • $\begingroup$ get access to more powerful hardware through a university or a cloud computing service. you can also just artificially limit the size of your datasets and models. $\endgroup$ – shimao Jan 14 at 14:13
0
$\begingroup$

There are several tricks you can do that can help you train a machine learning model on a underperforming PC, without paying the extra buck.

1. Baseline / Simple Models: depending on the dataset, Logistic Regression can provide fair results if the features are well engineered.

2. Train on less data: see how well the model performs on validation data by training on a smaller samples of training data, also known as plotting the learning curve (check the intuition on this Medium post). Your model may not benefit from that extra training samples that increase the computation time.

3. Dimensionality Reduction / Feature Selection: when handling large datasets (which is not the case of IRIS), some techniques can be employed to reduce the number of features, by either converting the original dataset into smaller dimensionalities (such as the PCA) or by removing features that seem to be statistically irrelevant (see this post).

$\endgroup$
0
$\begingroup$

The question itself is asked on very high level of abstraction, so I try to answer it on such a high level of abstraction:

  • You could decrease the size of your vector by decreasing the number of features you use for your machine learning models. If you use PCA/SVD to decrease the dimensionality of your data it will consume less memory. You can also look into feature selection algorithms.
  • You can decrease the size of the training/validation/testing sets. This does not decrease the memory usage but will decrease the runtime even if you have limited usage on sites like kaggle(Although as far as I know you have 6h, while not enough to run very deep NN's or other training intensive models, for learning this is already quite a lot)
  • Use paid webservices like AWS(Amazon web services). This will cost you depending on how you want to use them, but they can scale as big as you need them to be.
$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.