首页 > 酒水资讯 > 酒水新闻

数据分析中的列表法怎么做,预测数据后的描述性分析怎么写

黔酒汇 酒水新闻 2022-10-19 10:48:45

品牌名称:酱香白酒加盟 所属行业:酒水 > 白酒

基本投资:05~50万元 投资热度:

加盟意向:163400 门店数量:5340家

索要资料 查看详情

  

  python数据挖掘项目实战实录摘自《Python数据分析与挖掘实战》一书,整理了各个项目所使用的数据处理方法:   

  

  数据预处理方法,建模方法,绘制图形。对于分类问题:模型分类;混淆矩阵及其绘图;观察其ROC曲线;   

  

  对于聚类问题:划分类别数量;获取分类中心;平行坐标系描述   

  

  (1)数据预处理方法获取数据后,会发现一些数据值错误。   

  

  首先,填入空值   

  

  第二,观察数据分布   

  

  第三,数据清洗,让数据值合理存在。   

  

  第四,数据规范,提取重要属性   

  

  第五,数据归一化,以使用K-Means算法   

  

  读取数据#SVM,贝叶斯,人工神经网络,D_Tree等。要操作的数据是matrix,Data=data.as_matrix() #训练集from numpy.random导入shuffle (data) #随机置乱数据x _ train=data _ train3360,23360 * 30 #放大功能导入pickle pickle.dump (model,open('./tmp/SVM.model ',' WB ')# Save model model=pickle . load(open('./tmp/SVM.model ',Rb ')#读取模型#将数据保存为固定文件格式pd.dataframe (cm _ train,index=range (5),Columns=range (5))。to _ excel(输出文件1)I . scipy中的拉格朗日插值多项式。内插import lagrange #进行数据检索,两个列表后接y=sy=yres=lagrange (y.index,list (y)) (n) #进行输入索引。列数据n是空下标2。数列df=pd.dataframe (data,columns=0,1,2) df.interpolate () 3的内置插值方法。电力趋势描述。画一个折线图,观察电功率的下降趋势。   

  

  四。数据探索描述(include='all)。通过数据探索,发现异常值和不合逻辑的错误值。如果数据集很大,可以丢弃,否则可以填充。   

  

  explore=data . describe(include=' all ')。texplore ' null '=len(data)-explore ' count ' explore=explore ' null ',' max ',' min ',' std'# count,unique,top,freq,Mean,std,min,50%,max等。选择几个属性#计算相关系数矩阵,数据必须是n*n矩阵print(NP . round(data . corr(method=' Pearson '),2))。五、数据清洗相似集。对于不合逻辑的错误值,设置索引并排除它们。   

  

  data=data . not null()data ' sum _ YR _ 2 '。notnull()index1=data'SUM_YR_1 '!=0index2=data'SUM_YR_2 '!=0 index 3=(data ' seg _ km _ sum '==0)(data ' avg _ discount '==0)data=data VI。属性转换数据的约定是选择有用的数据属性,可以通过删除excel中对应的列来实现。   

  

  # Select a column data=data==184 . copy()#获取此条件下数据的副本data _ group=data . group by(' collectct time ')#通过对default tr _ trans(x)3360 # in time #创建新的系列result=PD . series(index=' sys _ name ',' cwxt _ db3360184:c3360 \ \ ',' cwxt _ db3360184:d3360 \ \ ',colleiloc0 #获取属性值,唯一结果'收集时间'=x '收集时间'。iloc0 #获取属性值,唯一结果' cwxt _ db:184:c3360 \。   

'VALUE'>.iloc<0> #获取属性值A result<'CWXT_DB:184:D:\\'> = x<'VALUE'>.iloc<1> #获取属性值B,等等 return resultdata_processed = data_group.apply(attr_trans) # 逐组处理七、数据归一化和标准化使用正态分布的标准正态分布标准化:x-u/σ

  

data = (data - data.mean(axis=0)) / data.std(axis=0) # 按列选取均值和标准差。矩阵操作当发现数值范围对结果影响太大,不方便运算时,将数据标准化

  

data=(data-data.min())/(data.max()-data.min())data=data.reset_index()八、数据离散化应用在发掘频繁项时,需要把连续数据转变为离散数据。

  

for i in range(len(keys)): # 调用k-means算法,进行聚类离散化 r1 = pd.DataFrame(kmodel.cluster_centers_, columns=>>) # 聚类中心,A r2 = pd.Series(kmodel.labels_).value_counts() # 分类统计 r2 = pd.DataFrame(r2, columns=> + 'n'>) #统计量, An r = pd.DataFrame(pd.concat(, axis=1)) #聚类中心与类别数目匹配连接 r = r.sort_values(typelabel>) r.index = <1, 2, 3, 4> r>> = pd.rolling_mean(r>>, 2) # rolling_mean()用来计算相邻2列的均值,以此作为边界点。 r>><1> = 0.0 # 这两句代码将原来的聚类中心改为边界点。 result = result.append(r.T) #转置添加 result = result.sort_index() # 以Index(A,B,C,D,E,F)顺序排序,保存 result.to_excel(processedfile)九、图像切割和颜色矩阵提取1. 一阶颜色矩:采用一阶原点矩,反应图像的整体明暗程度
Ei=1/N * ∑(j:1-N) Pij
2. 二阶颜色矩:反应图像颜色的分布范围

  

σi=(1/N *∑j:1-N (Pij-Ei)^2) ^1/2
3. 三阶颜色矩:反应图像颜色分布的对称性

  

十、时间序列算法利用时间序列算法模型的流程,根据历史数据,来预测未来的数据情况
采用时间序列算法对模型输入数据进行模型拟合、检验与检测。依据误差公式,计算预测值与验证数据之间的误差,分析其是否属于业务接受的范围内。

  

模型识别AR,MA,ARMA
平稳性检验,白噪声检验,模型识别,模型检验,模型预测,模型评价,模型应用

  

十一、行为分析与服务推荐连接数据库
系统过滤算法为主,其他为辅。

  

推荐物品相似度:夹角余弦;杰卡德相似系数;相关系数
熟悉基于物品的协同过滤算法使用

  

# 基于物品的协同过滤算法def Jaccard(a, b): return 1.0 * (a * b).sum() / (a + b - a * b).sum()class Recommender(): sim = None def similarity(self, x, distance): y = np.ones((len(x), len(x))) for i in range(len(x)): for j in range(len(x)): y = distance(x, x) return y def fit(self, x, distance=Jaccard): #x传入的是矩阵(行:物品,列:用户) self.sim = self.similarity(x, distance) #计算相似度 def recommend(self, a): #传入预测用户的购买记录的矩阵.T = n * 1 return np.dot(self.sim, a) * (1 - a)十二、变量选择与灰色预测使用Lasso函数对与处理数据变量选择
灰色预测得到关键影响因素的预测值
使用神经网络对财政收入进行预测

  

十三、文本预处理#数据去重l1 = len(data)data = pd.DataFrame(data<0>.unique()) #选取数据列进行unique()l2 = len(data)data.to_csv(outputfile, index = False, header = False, encoding = 'utf-8')print(u'删除了%s条评论。' %(l1 - l2))#机械压缩去词,去除连续重复语料,和短句子删除过滤较多垃圾信息#文本评论分词mycut = lambda s: ' '.join(jieba.cut(s)) #自定义简单分词函数data1 = data1<0>.apply(mycut)#对于读入的数据执行分词函数data2 = data2<0>.apply(mycut)#通过“广播”形式分词,加快速度。#先将文本正负面评价分开,然后再进行LDA主题分析。COSTCM6中的情感分析做及其分类,生成正面情感和负面情感# 正面主题分析from gensim import corpora, modelspos_dict = corpora.Dictionary(pos<2>)pos_corpus = >pos_lda = models.LdaModel(pos_corpus, num_topics=3, id2word=pos_dict)for i in range(3): neg_lda.print_topic(i) # 输出每个主题(二)、模型方法一、神经网络
二、决策树
三、K-Means

  

一、LM神经网络API:
add(); compile(); fit(); save_weights(); predict_classrs()

  

from keras.models import Sequentialfrom keras.layers import Dense, Activationnet = Sequential()net.add(Dense(input_dim=3, activation='relu', units=10))net.compile(loss='binary_crossentropy', optimizer='adam', metrics=<'accuracy'>)net.fit(train<:, :3>, train<:, 3>, epochs=1000, batch_size=1)#传入的是矩阵,读取excel需要把数据.as_matrix()net.save_weights(netfile)predict_result = net.predict_classes(train<:, :3>).reshape(len(train))二、CART决策树API:
fit(); predict();

  

# 构建CART决策树模型from sklearn.tree import DecisionTreeClassifiertree = DecisionTreeClassifier()tree.fit(train<:, :3>, train<:, 3>)plt = cm_plot(test<:, 3>, tree.predict(test<:, :3>))#获取结果plt.show()三、K-Means K聚类算法from sklearn.cluster import KMeansimport pandas as pdinputFile = '../data/zscoreddata.xls'data = pd.read_excel(inputFile)kmodel = KMeans(n_clusters=5, n_jobs=4)kmodel.fit(data)print(kmodel.cluster_centers_)四、SVM支持向量机from sklearn import svmsmodel=svm.SVC() #建立模型smodel.fit(x_train,y_train) #训练模型res=smodel.predict(x_test) #预测测试集(三)、绘制图形模型建立后,需要可视化分析数据挖掘的合理性,准确性等
混淆矩阵:正确与错误分类的情况
ROC曲线:分类方法的性能
聚类群图:使数据值聚成n类,分析n类群体特征

  

混淆矩阵预测准确度:RMSE;MAE
分类准确度:precesion=TP/TP+FP :表示用户对推荐产品感兴趣的可能性
recall=TP/(TP+FN) :表示推荐的产品,占用户喜欢产品的概率

  

from sklearn.metrics import confusion_matrix # 导入混淆矩阵函数cm = confusion_matrix(y, yp) # 混淆矩阵如下# CM <,>#例如<'TP', 'FP', 'FN', 'TN'> == <46, 2, 7, 4>cm_train = confusion_matrix(train_label, smodel.predict(trainSet))cm_test = confusion_matrix(test_label, smodel.predict(testSet))pd.DataFrame(cm_train).to_excel(outFile1)pd.DataFrame(cm_test).to_excel(outFile2)ROC曲线from sklearn.metrics import roc_curve # 导入ROC曲线函数fpr, tpr, thresholds = roc_curve(test<:, 3>, tree.predict_proba(test<:, :3>)<:, 1>, pos_label=1)plt.plot(fpr, tpr, linewidth=2, label='ROC of CART', color='green') # 作出ROC曲线聚类群图import matplotlib.pyplot as pltcenters = kmodel.cluster_centers_for i in range(5):plt.plot(<2, 4, 6, 8, 10>, centers, label='group' + str(i),marker='o') #设置横轴纵轴分别对应5个点plt.ylabel('values')plt.xlabel('index: L R F M C')plt.show()层次聚类谱图import matplotlib.pyplot as pltfrom scipy.cluster.hierarchy import linkage,dendrogram#这里使用scipy的层次聚类函数Z = linkage(data_udf, method = 'ward', metric = 'euclidean') #谱系聚类图P = dendrogram(Z, 0) #画谱系聚类图plt.show()

  


  


  


  

今日福利:Python学习资源大礼包 让你走上巅峰

  

Python之AIoT学习资料Python入门教程完整版Python之配套书籍Python之数据分析与挖掘实战Python之人工智能资料Python之全栈开发资料Python之数据分析实战项目完整资源获取方式

  

关注“麦叔Python”头条号,评论转发回复“666”即可获取。

免费咨询
免费获取加盟资料