Так что я использую Extra Trees Classifier, чтобы найти важность функции в моем наборе данных, он состоит из 13 столбцов и около 10 миллионов строк. Я запустил конверт с эллиптическими файлами c, лес изоляции и все было хорошо, даже потребовалось менее 10 ГБ. Я запустил свой код в записной книжке Jupyter, и он дал мне ошибку памяти, даже когда я установил его в low_memory = True. Я попробовал Google COlab, который имеет около 25 ГБ памяти и все еще падает, я сейчас очень растерялся.
Код:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
from sklearn.ensemble import ExtraTreesClassifier
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
# Authenticate and create the PyDrive client.
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
# Loading First Dataframe
link = '...'
fluff, id = link.split('=')
print (id) # Verify that you have everything after '='
downloaded = drive.CreateFile({'id':id})
downloaded.GetContentFile('Final After Simple Filtering.csv')
df = pd.read_csv('Final After Simple Filtering.csv',index_col=None,low_memory=True)
#df = df.astype(float)
ExtraT = ExtraTreesClassifier(n_estimators = 100,bootstrap=False,n_jobs=1)
y=df['Power_kW']
del df['Power_kW']
X=df
ExtraT.fit(X,y)
feature_importance = ExtraT.feature_importances_
feature_importance_normalized = np.std([tree.feature_importances_ for tree in ExtraT.estimators_], axis = 1)
plt.bar(X.columns, feature_importance)
plt.xlabel('Lable')
plt.ylabel('Feature Importance')
plt.title('Parameters Importance')
plt.show()
Спасибо