1)rainbow brackets:彩色括号
2)material theme UI:外观主题
3)idea vim:vim风格编辑器
4)中文语言包
5)csv:轻量csv文件编辑器
6)Translation:中文翻译
pycharmjava.util.concurrent.CompletionException: java.net.BindException: Address already in use: bind
解决方法1:重启
解决方法2:管理员打开cmd并执行
net stop winnat
net start winnat
randomstate参数不在各函数中指定,在main函数中使用
np.random.seed(42)#设置全局伪随机种子
使结果可复制
sklearn.tree.DecisionTreeClassifier()
:
参数criterion表示特征选择准则,默认gini得到CART树,entropy得到ID3树,其他参数主要用于预剪枝
sklearn.svm.SVC(LinearSVC)
:分类支持向量机:核函数 径向基(线性函数);基于 libsvm(liblinear);多分类策略 一对一(一对多)
sklearn.discriminant_analysis.LinearDiscriminantAnalysis(QuadraticDiscriminantAnalysis)
:线性(二次)判别分析;线性(二次)决策边界
sklearn.ensemble.AdaBoostClassifier(BaggingClassifier,GradientBoostingClassifier,RandomForestClassifier)
:集成分类器 AdaBoost-SAMME.R(Bagging,梯度提升,随机森林);基分类器 CART树(一致,,一致);集成数 最大50(10,100,100)
sklearn.neighbors.KNeighborsClassifier
:kNN,默认k值为5,欧氏距离,平均权重
sklearn.naive_bayes.GaussianNB
:高斯分布朴素贝叶斯,用于连续变量,也可以分别假设为多项式分布和伯努利分布
from sklearn.neural_network. MLPClassifier
:多层感知机,默认100隐藏层,relu激活函数,adam随机梯度下降
sklearn.linear_model.LogisticRegression(RidgeClassifier)
:线性模型 逻辑回归; 基于 lbfgs算法;多类策略 OVR
sklearn.model_selection.cross_validate
:返回分类器运行时间和给定指标下性能,关键参数为分类器对象,样本数据,样本目标,交叉验证形式cv,指标。cv为任意形式的train/test ndarray(默认为分层5折交叉验证),指标为返回指定字符串的列表、函数、字典等。(默认为准确率)
sklearn.model_selection.cross_val_score
:只返回指标性能,其他一致
sklearn的分类器无法处理直接处理离散变量,如果直接使用分类器在含离散变量的数据集上进行训练,则其分类性能会直接置NaN。
常用预处理方法加以解决,包括独热编码OneHotEncoder(少数情况下,可以使用pandas.get_dummies函数)或顺序编码OrdinalEncoder
在使用前注意其参数设置,使用fit_transform()
函数获取(注意返回为ndarray,所以在使用pandas.dataframe时,传入参数为data.values)
fit_transform(data.values)
from sklearn.preprocessing import OneHotEncoder,OrdinalEncoder
onehot_ec = OneHotEncoder(sparse=False, handle_unknown='ignore')
系统路径名分割os.path.split()[1]
得到实际文件名.后缀名
正则表达式删除含若干空格和一个问号的字符串r'\s*\?'
from sklearn.impute import SimpleImputer
简单缺失值填补,默认以列均值填补np.nan
drop函数:不改变原dataframe返回删除指定索引数据的新dataframe,参数:参数 columns=[索引名] axis=0or1 (0为行索引,1为列索引)
read_csv函数:读取csv文件生成dataframe,重要参数:
header=None
使用自然索引,不指定会使用第一行作为列索引;error_bad_lines=False
,读取的数据格式不一致时不返回错误中断程序;delimiter='分隔符'
:字符串,默认为逗号,不同文件会使用空格,分号分割数据,空格应当使用'delimiter=\\s+'
以避免分割空格数不一致导致的格式问题
创建空dataframe:
df = pd.DataFrame(column=[index_list])#列表
在末尾插入一行列表:
df.loc[len(df)] = [value_list_row]#列表
添加一列:
dataframe是二维数据结构,可以视为{列索引:值的列表}的字典,添加一列直接使用
df[index] = [value_list_column]#列表
numpy的argsort函数返回索引后倒序
x = np.array([3, 1, 2])
ascending = np.argsort(x)
descending = ascending[::-1]