坡头网站开发公司,深圳十佳工业设计公司有哪些,深圳住房和建设局网站预约,郑州做网站哪家最好在机器学习中#xff0c;数据清洗与转换包括哪些内容#xff1f;
对数据进行初步的预处理#xff0c;需要将其转换为一种适合机器学习模型的表示形式对许多模型类型来说#xff0c;这种表示就是包含数值数据的向量或者矩阵#xff1a;
1#xff09;将类别数据编码成为对…在机器学习中数据清洗与转换包括哪些内容
对数据进行初步的预处理需要将其转换为一种适合机器学习模型的表示形式对许多模型类型来说这种表示就是包含数值数据的向量或者矩阵
1将类别数据编码成为对应的数值表示(一般使用1-of-k方法)-dumy
2从文本数据中提取有用的数据(一般使用词袋法或者TF-IDF)
3处理图像或者音频数据(像素、声波、音频、振幅等傅里叶变换)
4数值数据转换为类别数据以减少变量的值比如年龄分段
5对数值数据进行转换比如对数转换
6对特征进行正则化、标准化以保证同一模型的不同输入变量的值域相同
7对现有变量进行组合或转换以生成新特征比如平均数(做虚拟变量)不断尝试
文本数据抽取有哪些方法
词袋法︰将文本当作一个无序的数据集合文本特征可以采用文本中的词条T进行体现那么文本中出现的所有词条及其出现的次数就可以体现文档的特征
TF-IDF:词条的重要性随着它在文件中出现的次数成正比增加但同时会随着它在语料库中出现的频率成反比下降;也就是说词条在文本中出现的次数越多表示该词条对该文本的重要性越高词条在所有文本中出现的次数越少说明这个词条对文本的重要性越高。TF(词频)指某个词条在文
本中出现的次数一般会将其进行归一化处理(该词条数量/该文档中所有词条数量);IDF(逆向文件频率)指一个词条重要性的度量一般计算方式为总文件数目除以包含该词语之文件的数目再将得到的商取对数得到。TF-IDF实际上是∶TF *IDF
有一种类数据[1,3,2,1,3,3,1]通过python实现哑编码代码?
def yumcode(a):y[]for x in (1,2,3):if xa:y.append(1)else:y.append(0)return yyummap(lambda x:yumcode(x) ,[1,3,2,1,3,3,1])for e in yum:print(e) 在机器学习中请写出模型效果判断常用算法。
MSE∶误差平方和越趋近于0表示模型越拟合训练数据。
RMSE: MSE的平方根作用同MSE
R2∶取值范围(负无穷,1]值越大表示模型越拟合训练数据;最优解是1;当模型预测为随机值的时候有可能为负﹔若预测值恒为样本期望R2为0
TSS∶总平方和TSS(Total Sum of Squares)表示样本之间的差异情况是伪方差的m倍
RSS:残差平方和RSS ( Residual Sum of Squares )表示预测值和样本值之间的差异情况是MSE的m倍
请同学们使用逻辑回归根据鸢尾花iris.data分类建模
#加载数据dataspd.read_csv(datas/iris.data,headerNone)#加载iris.data数据#数据处理datasdatas.replace(?,np.NaN)#把?号用NaN替换datasdatas.dropna(howany,axis1)#删除NaN行#提取X和YXdatas.iloc[:,0:-1]#取0到最后一列前一列#对种类英文编码Ypd.Categorical(datas[4]).codes#对最后一列做编码#对数据进行拆分#逻辑回归是用来判断 y属于哪一个种类 1 0train_x,test_x,train_y,test_ytrain_test_split(X,Y,test_size0.2,random_state1)#创建模型和训练模型ssStandardScaler()train_xss.fit_transform(train_x)#把trainx数据标准化test_xss.transform(test_x)#把testx数据标准化logisticLogisticRegressionCV(random_state2,multi_classovr,cv3)logistic.fit(train_x,train_y) #能够识别三种花模型 求theta#评估probalogistic.predict_proba(test_x)#每条记录每个种类的概率 30行 3列ymylabel_binarize(test_y,classes(0,1,2))#转换成哑编码 30行 3列fpr,tpr,thresholdmetrics.roc_curve(ymy.ravel(),proba.ravel())#ravel拉平变成一维aucmetrics.auc(fpr,tpr)#根据fpr tpr计算面积print(auc,auc)knnKNeighborsClassifier(n_neighbors5,algorithmkd_tree)knn.fit(train_x,train_y)#构建kd树test_y_hatknn.predict(test_x)proba_knnknn.predict_proba(test_x)fpr1,tpr1,threshold1metrics.roc_curve(ymy.ravel(),proba_knn.ravel())auc1metrics.auc(fpr1,tpr1)print(auc1)plt.figure()#画逻辑回归算法ROC曲线plt.plot(fpr,tpr,colorred,label回归ROC auc:str(auc))plt.plot(fpr1,tpr1,colorgreen,labelknnROC auc:str(auc1))plt.legend()plt.show()
利用梯度下降算法完成y 求解x并画出轨迹图
import numpy as npimport matplotlib.pyplot as pltimport sysX[]Y[]def l(x):#相当损失函数return x*x#x^2def h(x):#梯度return 2*xtheta2#theta初始值2# C:\Users\t430\AppData\Local\VZipyl(theta)#调用损失函数f_change2#损失变化f_upl(theta)#上次损失Y.append(y)X.append(theta)b0.8#a太大不收敛i0print(f_change 1e-10)while f_change 1e-10:thetatheta-b*h(theta)#更新thetatmpl(theta)#theta的平方f_changeabs(f_up-tmp)f_uptmpX.append(theta)Y.append(tmp)ii1print(theta)plt.figure()plt.plot(X,Y,cred)print(X)X2np.arange(-2,2,0.1)Y2X2**2plt.plot(X2,Y2,cgreen)plt.show()