데이터 집합에 대한 알고리즘 학습 기계에서 일하고 있습니다. here.데이터 집합의 어떤 기능이 예측 적인지 파악하는 방법은 무엇입니까?
데이터 열이 26 개 있습니다. 그것의 대부분은 무의미합니다. 흥미로운 기능을 효과적으로 신속하게 결정할 수있는 방법 - 특정 URL이 임시 또는 상록인지 여부 (데이터 집합의 종속 변수)가 어떤 점에서 다른 방식으로 알려줍니까? 지능적이고 프로그래밍 방식의 Scikit이이를 수행하는 방법을 배우고 있습니까 아니면 단순히 종속 기능 ('label', 26 열)에 대한 각 기능을 그래픽으로 표시하고 효과를 확인하는 것입니까?
분명히 이것보다 좋은 방법이 있습니다!
아무도 도와 줄 수 있습니까? :)
편집 : 내가 찾은 분류 기준에 대한 일부 코드 - 여기 어떻게 각 기능에 제공된 가중치를 인쇄 할 수 있습니까?
import numpy as np
import matplotlib.pyplot as plt
from sklearn import metrics,preprocessing,cross_validation
from sklearn.feature_extraction.text import TfidfVectorizer
import sklearn.linear_model as lm
import pandas as p
loadData = lambda f: np.genfromtxt(open(f,'r'), delimiter=' ')
print "loading data.."
traindata = list(np.array(p.read_table('train.tsv'))[:,2])
testdata = list(np.array(p.read_table('test.tsv'))[:,2])
y = np.array(p.read_table('train.tsv'))[:,-1]
tfv = TfidfVectorizer(min_df=3, max_features=None, strip_accents='unicode',
analyzer='word',token_pattern=r'\w{1,}',ngram_range=(1, 2), use_idf=1,smooth_idf=1,sublinear_tf=1)
rd = lm.LogisticRegression(penalty='l2', dual=True, tol=0.0001,
C=1, fit_intercept=True, intercept_scaling=1.0,
class_weight=None, random_state=None)
X_all = traindata + testdata
lentrain = len(traindata)
print "fitting pipeline"
tfv.fit(X_all)
print "transforming data"
X_all = tfv.transform(X_all)
X = X_all[:lentrain]
X_test = X_all[lentrain:]
print "20 Fold CV Score: ", np.mean(cross_validation.cross_val_score(rd, X, y, cv=20, scoring='roc_auc'))
print "training on full data"
rd.fit(X,y)
pred = rd.predict_proba(X_test)[:,1]
testfile = p.read_csv('test.tsv', sep="\t", na_values=['?'], index_col=1)
pred_df = p.DataFrame(pred, index=testfile.index, columns=['label'])
pred_df.to_csv('benchmark.csv')
print "submission file created.."
이것은 아마도 http://stats.stackexchange.com – jonrsharpe
[scikit-learn 분류자를위한 가장 유익한 기능을 얻는 방법?] (http://stackoverflow.com/questions/11116697/how-to)의 가능한 복제본에 속합니다. -get-most-informative-features-for-scikit-learn-classifiers) –