plt.scatter(data_1.V1, data_1.V2, color='y', s=10)
plt.scatter(data_0.V1, data_0.V2, color='b', s=10)
plt.show()

#%% regresión logística one VS all

# primera regresión 1=1, 0=0, 2=0  ############################
index = data['Class'] != 1
data_1 = data.iloc[:, 2]
data_1[index] = 0

x = data.iloc[:, 0:2]
y = data_1
y = np.ravel(y)

xa = plf(degree=2).fit_transform(x)
reglog = linear_model.LogisticRegression(
    C=1)  #crear el modelo, # la "c" es la c de la regresion regularizada
reglog.fit(xa, y)  # entrenar el modelo

yg = reglog.predict(xa)
cm = confusion_matrix(y, yg)
print('\t Accuracy: %1.3f' % accuracy_score(y, yg))
print('\t Precision: %1.3f' % precision_score(y, yg))
print('\t Recall: %1.3f' % recall_score(y, yg))
print('\t F1: %1.3f' % f1_score(y, yg))

# Segunda regresión 1=0, 0=1, 2=0 ############################

data = pd.read_csv(data_file, header=None)
data = data.iloc[0:3000, 0:3]
transform=v[:,index[0:20]]          
                
data_new=np.matrix(data)*np.matrix(transform)
data_r=np.array(data_new)*np.matrix(transform.transpose())
medias=np.matrix(medias)
data_r=data_r+medias

resta_matrices=np.matrix(accidentes)-data_r

#%% REGRESIONES

#%% regresion con todas las variables
x1=accidentes.iloc[:,0:30]
y1=accidentes.iloc[:,30]  

xa1 = plf(degree=1).fit_transform(x1)
reglog1=linear_model.LogisticRegression(C=1)#crear el modelo, # la "c" es la c de la regresion regularizada
reglog1.fit(xa1,y1)# entrenar el modelo

yg1=reglog1.predict(xa1)
cm1=confusion_matrix(y1,yg1)
print ('\t Accuracy: %1.3f' %accuracy_score(y1,yg1))
print ('\t Precision: %1.3f' %precision_score(y1,yg1))
print ('\t Recall: %1.3f' %recall_score(y1,yg1))
print ('\t F1: %1.3f' %f1_score(y1,yg1))

w1=reglog1.coef_
plt.bar(np.arange(len(w1[0])),w1[0])
wabs1=np.abs(w1)
plt.bar(np.arange(len(wabs1[0])),wabs1[0])
Пример #3
0
    'Cuenta_corriente_milesdeUSD', 'Mezcla_crudo_mexicano_USDxbarril',
    'Deuda_publica_neta_en_USD', 'IPC', 'Tasa_interes_referencia',
    'Estabilidad_politica', 'USDMXN'
]
correlacion.index = [
    'Cuenta_corriente_milesdeUSD', 'Mezcla_crudo_mexicano_USDxbarril',
    'Deuda_publica_neta_en_USD', 'IPC', 'Tasa_interes_referencia',
    'Estabilidad_politica', 'USDMXN'
]
suma = np.absolute(correlacion).sum(axis=0) - np.absolute(correlacion).USDMXN
#%% Regresion multiple

x = data_1.iloc[:, 0:6]
y = data_1.iloc[:, 6:7]

xa = plf(degree=1).fit_transform(x)
reglog = linear_model.LinearRegression()
reglog.fit(xa, y)  # entrenar el modelo

coef = reglog.coef_
yg = reglog.predict(xa)
yg = pd.DataFrame(yg)
coefficient_of_dermination = r2_score(y, yg)

#### prueba regresion######
x = data.iloc[204:207, 1:7]
xa = plf(degree=1).fit_transform(x)
yg = reglog.predict(xa)

yg = pd.DataFrame(yg)
yg.columns = ['Prediccion']
Пример #4
0
data_new = np.matrix(data) * np.matrix(transform)
data_r = np.array(data_new) * np.matrix(transform.transpose())
medias = np.matrix(medias)
data_r = data_r + medias

resta_matrices = np.matrix(data_m) - data_r
suma = sum(resta_matrices)
#%% normilizar datos después del PCA
data_new = pd.DataFrame(data_new)
data_new = data_new.apply(lambda x: (x - np.mean(x)) / (np.std(x)))
data_new = np.matrix(data_new)
#%% entrenar regresion con variables reducidas por componentes principales
x2 = data_new[:, 0:num_variables]
y2 = data_m_r

xa2 = plf(degree=3).fit_transform(x2)
reglog2 = linear_model.LogisticRegression(
    C=.9)  #crear el modelo, # la "c" es la c de la regresion regularizada
reglog2.fit(xa2, y2)  # entrenar el modelo

yg2 = reglog2.predict(xa2)
cm2 = confusion_matrix(y2, yg2)
print('\t Accuracy: %1.3f' % accuracy_score(y2, yg2))
print('\t Precision: %1.3f' % precision_score(y2, yg2))
print('\t Recall: %1.3f' % recall_score(y2, yg2))
print('\t F1: %1.3f' % f1_score(y2, yg2))

# seleccion post-modelado

w1 = reglog2.coef_
wabs1 = np.abs(w1)
Пример #5
0
model_lda = LDA()  # 建立LDA模型对象
model_lda.fit(x, y)  # 将数据集输入模型并训练
convert_features = model_lda.transform(x)  # 转换数据
print(convert_features.shape)  # 打印形状
print(model_lda.explained_variance_ratio_)  # 获得各成分解释方差占比
print(convert_features[:3])  # 打印前3条记录

# 使用sklearn的GBDT方法组合特征
model_gbdt = GBDT()
model_gbdt.fit(x, y)
conbine_features = model_gbdt.apply(x)[:, :, 0]
print(conbine_features.shape)  # 打印形状
print(conbine_features[0])  # 打印第1条记录

# 使用sklearn的PolynomialFeatures方法组合特征
model_plf = plf(2)
plf_features = model_plf.fit_transform(x)
print(plf_features.shape)  # 打印形状
print(plf_features[0])  # 打印第1条数据

# 使用gplearn的genetic方法组合特征
data = datasets.load_boston()  # 加载数据集
x, y = data.data, data.target  # 分割形成x和y
print(x.shape)  # 查看x的形状
print(x[0])  # 查看x的第一条数据
model_symbolic = SymbolicTransformer(n_components=5,
                                     generations=18,
                                     function_set=('add', 'sub', 'mul', 'div',
                                                   'sqrt', 'log', 'abs', 'neg',
                                                   'inv', 'max', 'min'),
                                     max_samples=0.9,