10月19日

通过hive和mysql 通过判断条件将数据整合,然后将带有结果的(即明确表明改行数据是异常的)数据放到python中来构建决策树,然后将测试数据放入进行比对。首先需要确定明确有问题的数据,增加一个字段作为标记,有问题添1。

我的python代码

import csv

from sklearn.feature_extraction import DictVectorizer

from sklearn.tree import DecisionTreeClassifier

from sklearn import preprocessing

from sklearn import tree

import pandas as pd

# film_data= open("E:qq\2021秋软件需求与分析测试数据源测试数据源\jnc1.csv","rt")

# reader=csv.reader(film_data)

#

# headers=next(reader)

# print(headers)

train_data = pd.read_csv('E:qq\2021秋软件需求与分析测试数据源测试数据源\txjnc.csv')

test_data = pd.read_csv('E:qq\2021秋软件需求与分析测试数据源测试数据源\xjnc.txt')

#print(train_data.info())

#print(test_data.info())

features = ['id','cnum', 'profit']

train_features = train_data[features]

train_labels = train_data['f']

test_features = test_data[['id','cnum','profit']]

dvec = DictVectorizer(sparse=False)

train_features = dvec.fit_transform(train_features.to_dict('records'))

 

# print(train_features)

# print(dvec.feature_names_)

 

clf = DecisionTreeClassifier(criterion='entropy')

# 决策树训练

clf.fit(train_features, train_labels)

#clf.score(train_features, train_labels)

#决策树进行判断

 

test_features=dvec.transform(test_features.to_dict(orient='records'))

pre=clf.predict(test_features)

temp = pd.DataFrame(pre)

temp.to_csv('E:qq\2021秋软件需求与分析测试数据源测试数据源\out.txt')

print(pre)

 

将确认的结果集作为标准,然后放入测试数据进行判断。

输出的结果是281

0就是判断为没有问题

原文地址:https://www.cnblogs.com/buyaoya-pingdao/p/14159267.html