6)构造新属性'price_category'
此处利用SVM支持向量机构造新属性
原文链接:https://blog.csdn.net/u012063773/article/details/79349256
from sklearn.svm import SVC
svm = SVC(C=100, gamma=0.0001, kernel='rbf')
pc = pd.Series(np.zeros(train.shape[0]))
pc[:] = 'pc1'
pc[train.SalePrice >= 150000] = 'pc2'
pc[train.SalePrice >= 220000] = 'pc3'
columns_for_pc = ['Exterior1st', 'Exterior2nd', 'RoofMatl', 'Condition1', 'Condition2', 'BldgType']
X_t = pd.get_dummies(train.loc[:, columns_for_pc], sparse=True)
svm.fit(X_t, pc)# 训练
p = train.SalePrice/100000
price_category = pd.DataFrame(np.zeros((alldata.shape[0],1)), columns=['pc'])
X_t = pd.get_dummies(alldata.loc[:, columns_for_pc], sparse=True)
pc_pred = svm.predict(X_t) # 预测
price_category[pc_pred=='pc2'] = 1
price_category[pc_pred=='pc3'] = 2
price_category.name='price_category'
Argument 'X' has incorrect type (expected numpy.ndarray, got csr_matrix)
尝试过
csr_matrix 转 numpy.ndarray,
但dataframe.A没有这个东西
import numpy as np
import scipy.sparse
my_matrix = scipy.sparse.csr_matrix((2,2))
my_array = my_matrix.A
type(my_array)
numpy.ndarray
1
2
3
4
5
6
7