<jupyter_start><jupyter_text>Wczytywanie danych<jupyter_code>df = pd.read_hdf('data/car.h5')
df.shape
df.columns<jupyter_output><empty_output><jupyter_text>Dummy model<jupyter_code>df.select_dtypes(np.number).columns
feats=['car_id']
X=df[feats].values
y=df['price_value'].values

model=DummyRegressor()
model.fit(X, y)
y_pred=model.predict(X)
mean_absolute_error(y, y_pred)
[x for x in df.columns if 'price' in x]
df['price_currency'].value_counts()

df=df[df['price_currency']!='EUR']
df['price_currency'].value_counts()
feats=['car_id']
X=df[feats].values
y=df['price_value'].values

model=DummyRegressor()
model.fit(X, y)
y_pred=model.predict(X)
mean_absolute_error(y, y_pred)<jupyter_output><empty_output><jupyter_text>Features<jupyter_code>for feat in df.columns:
  print(feat)
df.param_color.factorize()[0]
SUFFIX_CAT='__cat'
for feat in df.columns:
  if isinstance(df[feat][0], list): continue

  factorized_value=df[feat].factorize()[0]
  if SUFFIX_CAT in feat:
    df[feat]=factorized_value
  else:
    df[feat +SUFFIX_CAT]=factorized_value
  #print(feat)
cat_feats=[x for x in df.columns if SUFFIX_CAT in x]
cat_feats=[x for x in cat_feats if 'price' not in x]
cat_feats
X=df[cat_feats].values
y=df.price_value.values

model=DecisionTreeRegressor(max_depth=10)
scores=cross_val_score(model, X, y, cv=5, scoring='neg_mean_absolute_error')
np.mean(scores)
#5,5 ->-19651.80834171165
#5,3 ->-19695.13091100928
#15,5->-14625.924220086832
#10,5->-16077.357454900051
m= DecisionTreeRegressor(max_depth=5)
m.fit(X,y)

imp = PermutationImportance(m, random_state=0).fit(X,y)
eli5.show_weights(imp, feature_names=cat_feats)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1523579201934704, 'fraction_numerical': 0.05199516324062878, 'mean_word_length': 8.457142857142857, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '3', 'dir': 'jupyter-structured-clean-dedup', 'id': '438421', 'license': 'MIT', 'n_tokens_mistral': 757, 'n_tokens_neox': 701, 'n_words': 103, 'path': 'dw_matrix2_d3_simple_model.ipynb', 'repo_name': 'LukaszCmielewski/dw_matrix_car', 'size': '1654'}