读文件
方法1
with open ( filein) as f:
data = [ line. strip( ) . split( ' ' ) for line in f]
方法2
with open ( filein) as f:
fcsv = f. readlines( )
data = [ line. strip( ) . split( ' ' ) for line in fcsv]
方法3
import csv
with open ( filein) as f:
freader = csv. reader( f)
headers = next ( freader)
gini = [ i for i in freader]
方法4
import pandas as pd
from sklearn. ensemble import AdaBoostClassifier
data = pd. read_csv( filein1, header= None )
m, n = data. shape
X_train = data. ix[ : , : n- 2 ]
Y_train = data. ix[ : , n- 1 ]
data = pd. read_csv( filein2, header= None )
m, n = data. shape
X_test = data. ix[ : , : n- 2 ]
Y_test = data. ix[ : , n- 1 ]
clf = AdaBoostClassifier( n_estimators= 200 , learning_rate= 0.8 )
clf. fit( X_train, Y_train)
Y_pred = clf. predict( X_test)
"""遍历Series类型的Y_test和ndarray类型的Y_pred,让他们都变成list类型"""
Y_pred = [ int ( i) for i in Y_pred]
Y_test = [ int ( i) for i in Y_test]
"""计算平均准确率"""
oneclassLen = Counter( Y_test) [ 1 ]
twoclassLen = Counter( Y_test) [ 2 ]
oneclassnum = 0
twoclassnum = 0
for i in range ( len ( Y_test) ) :
if Y_pred[ i] == Y_test[ i] :
if Y_pred[ i] == 1 :
oneclassnum = oneclassnum + 1
elif Y_pred[ i] == 2 :
twoclassnum = twoclassnum + 1
oneAccuracy = oneclassnum/ oneclassLen
twoAccuracy = twoclassnum/ twoclassLen
print ( "一类的召回率为" , oneprecision)
print ( "二类的召回率为" , twoprecision)
print ( "平均准确率为" , ( oneprecision + twoprecision) / 2 )
写文件
方法1
data = [ 'Hello World' , 'Hi, World' ]
fileout = r'C:\Users\Administrator\Desktop\test.txt'
with open ( fileout, 'w' ) as f:
for row in data:
f. write( row+ '\n' )
方法2
import csv
data = [ [ 1 , 2 ] , [ 3 , 4 ] ]
with open ( fileout, 'w' , newline= '' ) as f:
fwriter = csv. writer( f)
for row in data:
fwriter. writerow( row)
方法3
import pandas as pd
data = [ [ 1 , 2 ] , [ 3 , 4 ] ]
pd. DataFrame( data) . to_csv( fileout, header= False , index= False )