#python #python-3.x #scikit-learn
Вопрос:
мой код не работает, и я думаю, что это потому, что X и Y не определены. Я получил код из книги, и на самом деле он не говорит мне, как они определены.
import pandas as pd
from matplotlib import pyplot
import seaborn as sns
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2
from sklearn.datasets import load_digits
from pandas import read_csv
from pandas.plotting import scatter_matrix
filename = '/Users/rahulparmeshwar/Documents/Algo Bots/Data/Live Data/Tester.csv'
data = read_csv(filename)
correlation = data.corr()
bestfeatures = SelectKBest(k=5)
fit = bestfeatures.fit(X,Y)
dfscores = pd.DataFrame(fit.scores_)
dfcolumns = pd.DataFrame(X.columns)
featurescores = pd.concat([dfcolumns,dfscores],axis=1)
pd.set_option('display.width',100)
data.head(1)
print(data)
scatter_matrix(data)
pyplot.show()
print(featurescores.nlargest('2,score'))
Я проверил документацию по SkLearn, но она не очень полезна. Любая помощь будет очень признательна
Ответ №1:
X
и y
должен быть набором функций и целевой переменной, которые вы загрузили из своего файла данных. Это один из типичных способов их определения:
data = read_csv(filename)
y = data['target variable name']
X = data.drop('target variable name', axis=1)
Комментарии:
1. Здравствуйте, это сработало для y, но для X это говорит о том, что оно не найдено в оси. Я изменил его на «Vol», потому что это название моей колонки. Что я делаю не так?
2. @Rahul2304 Смотрите мое обновление. Вы должны указать
axis=1
, чтобы удалить столбец, в противном случае по умолчанию будут удаляться строки.3. О, я только что видел это, я обновил его, однако теперь я заканчиваю с ‘
Ответ №2:
Смотрите этот пример здесь.
Вы можете скачать пример кода здесь.
Вы должны быть в состоянии заставить это работать относительно легко. Затем измените код в соответствии с вашими конкретными потребностями. Помните, что » X «состоит из ваших независимых переменных, и вы хотите измерить, какие из них влияют на зависимую переменную, которой является «y».
Это тоже должно помочь!