python pré-processamento de dados: processamento de dados collinearity detalhada

Hoje pequena para que todos possam compartilhar dados python pré-processamento: dados detalhados foram processamento linear, um valor de referência bom, nós queremos ajudar. Siga a pequena série juntos Venha e veja,
o que é o linear no total:

Colinearidade refere-se à presença de um elevado grau de correlação linear entre o argumento de entrada. Colinearidade pode causar estabilidade e precisão do modelo de regressão bastante reduzido. Além disso, muitos cálculos dimensão não relacionados são um desperdício de tempo

Colinearidade causas:

Os aparece variáveis ​​razão colinearidade:

amostra de dados não é suficiente, resultando na presença de azar colinearidade, que de facto reflecte o impacto da falta de dados para a modelação, colinearidade é apenas uma parte do impacto de

Há muitas variáveis ​​para dar em conjunto tempo ou tendência oposta evoluiu, como as vendas de rede e vendas durante o Festival da Primavera se opõem ao tempo normal de uma tendência descendente.

Existem várias variáveis ​​de uma certa relação vai, mas a mesma tendência entre a variável geral, o ponto no tempo só acontecerá inconsistências, como entre os custos de publicidade e vendas, publicidade da marca é muitas vezes a primeira exposição e uma ampla gama de enviar informações, depois de um certo após o tempo de propagação, faria refletido nas vendas.

Existe uma relação linear entre múltiplas variáveis. Y representa o número de visitantes, por exemplo, representados por X custos de exibição de publicidade, em seguida, a relação entre os dois é provável que seja Y = 2 * x + b

Como testar a linearidade:

collinearity inspecção:

Tolerância (tolerância): proporção residual é a tolerância de cada modelo de regressão variável dependente variável independente de outras variáveis ​​como obtidos a partir da redução de tamanho obtido com um coeficiente de determinação com a fig. Os menores valores de tolerância das variáveis ​​independentes podem existir colinearidade entre as outras variáveis ​​independentes.

fator de expansão VIF é o inverso da tolerância variância, mais óbvio quanto maior o valor do problema co-linear, geralmente 10 como uma determinação de limite. Quando o VIF <10, Multicolinearidade ausente; quando 10 <= VIF <100, há uma multicolinearidade forte, quando grave VIF> = 100, multicolinearidade.

valor característico (Eigenvalue): Este método é, na verdade, tiros variáveis ​​independentes análise componente, se a dimensão característica da pluralidade de valores igual a 0, não pode ser mais grave colinearidade.

coeficiente de correlação: se o coeficiente de correlação R> há uma correlação forte poderia 0,8

Como collinearity punho:

processo linear Total:

Aumentar o tamanho da amostra: aumentar o tamanho da amostra pode eliminar a falta ocasional de fenômeno co-linear hesite quantidade de dados que aparece na premissa dessa abordagem é prioridades viáveis

regressão cume (cume Regression): é realmente um menos estimativa quadrados modificado. Viés abandonado pelo método dos mínimos quadrados, para a perda de parte da informação, com o custo de reduzir a precisão mais prático e coeficientes de regressão mais confiáveis. Assim, há uma forte colinearidade de Ridge Regressão Regressão aplicações mais comumente usado.

Stepwise regressão (Stepwise): Cada vez que a introdução de um testes estatísticos auto-variável e, em seguida, gradualmente introduzir outras variáveis, teste simultâneo de coeficientes de regressão de todas as variáveis, se a variável originalmente introduzido mais tarde, devido à introdução de variável não significativa torna-se , desde que seja removido equação de regressão, gradualmente mais.

regressão de componentes principais (Componentes Principais Regression): análise de componentes principais, as variáveis ​​envolvidas no modelo original em alguns ingredientes principais, quais os componentes principais são combinações lineares das variáveis ​​originais, em seguida, fazer análise de regressão baseados em componentes principais, o que também podemos evitar colinearidade sem perder as características de dados importantes.

A remoção manual: combinação de experiência humana, ao argumento de exclusão, mas a capacidade operacional do operador, altas exigências de experiência.

código Python para parte do método

import numpy as np
import pandas as pd
from sklearn.linear_model import Ridge
from sklearn.decomposition import PCA
from sklearn.linear_model import LinearRegression
 
# 导入数据
df = pd.read_csv('https://raw.githubusercontent.com/ffzs/dataset/master/boston/train.csv')
 
# 切分自变量
X = df.iloc[:, 1:-1].values
 
# 切分预测变量
y = df.iloc[:, [-1]].values
 
# 使用岭回归处理
import matplotlib.pyplot as plt
plt.figure(figsize=(8,6))
n_alphas = 20
alphas = np.logspace(-1,4,num=n_alphas)
coefs = []
for a in alphas:
  ridge = Ridge(alpha=a, fit_intercept=False)
  ridge.fit(X, y)
  coefs.append(ridge.coef_[0])
ax = plt.gca()
ax.plot(alphas, coefs)
ax.set_xscale('log')
handles, labels = ax.get_legend_handles_labels()
plt.legend(labels=df.columns[1:-1])
plt.xlabel('alpha')
plt.ylabel('weights')
plt.axis('tight')
plt.show()

Nox apenas ligeiramente volatilidade.

# 主成分回归进行回归分析
pca_model = PCA()
data_pca = pca_model.fit_transform(X)
 
# 得到所有主成分方差
ratio_cumsum = np.cumsum(pca_model.explained_variance_ratio_)
# 获取方差占比超过0.8的索引值
rule_index = np.where(ratio_cumsum > 0.9)
# 获取最小的索引值
min_index = rule_index[0][0]
# 根据最小索引值提取主成分
data_pca_result = data_pca[:, :min_index+1]
# 建立回归模型
model_liner = LinearRegression()
# 训练模型
model_liner.fit(data_pca_result, y)
print(model_liner.coef_)
#[[-0.02430516 -0.01404814]]

Estes dados acima dos níveis pré-python: Dados detalhados foram processamento linear é pequenas séries para compartilhar todo o conteúdo de todo o conteúdo do acima quanto a última palavra da boca para recomendar um bom número de instituições públicas [programadores], há um monte de aprendizagem veteranos

Habilidades, experiência, habilidades de entrevista, experiência de trabalho e outros share aprendizagem, quanto mais cuidadosamente preparado a base-zero informações introdutórias, informações sobre projetos reais,

O método tem programador cronometrado Python explicar a tecnologia todos os dias, para compartilhar um pouco da aprendizagem e a necessidade de prestar atenção aos pequenos detalhesAqui Insert Picture Descrição

Publicado 49 artigos originais · ganhou elogios 8 · vê 40000 +

Acho que você gosta

Origin blog.csdn.net/chengxun02/article/details/105082278
Recomendado
Clasificación