SQL SERVER 数据挖掘中的几个问题(二):理解列的用法(Predict和PredictOnly)

最近与一个客户的开发团队探讨和学习SQL Server的数据挖掘及其应用。有几个比较有意思的问题,整理出来

关于数据挖掘的基本知识和学习资料,可以参考http://msdn.microsoft.com/zh-cn/library/bb510517.aspx

上一篇: SQL SERVER 数据挖掘中的几个问题(一):理解内容类型

 

这是一个小的细节问题,我们在定义挖掘模型的时候,会指定不同的列的用法,基本上有如下几种

  • Ignore(忽略)
  • Input(输入)
  • Predict(预测)
  • PredictOnly(仅预测)

image

前面两个很容易理解,“忽略”就是说这个列不在当前算法中使用,例如某些列在某些算法里面不受支持。而“输入”则是最常见的一种用法,就是说这个列作为算法作为预测分析的输入数据。

关键在于如何理解“预测”与“仅预测”

  • 预测:这种列的意思是,该列既作为输入列(输入的数据),也作为输出列(预测的结果)
  • 仅预测:该列只作为输出列,不能作为输入列。也就是说它不会作为对其他因素做分析或者预测的因素。

这里面有两个主要层面的意思

  • 如果是选择“预测”这种用法,那么这种列可以作为“输入”的性质,对其他列(尤其是其他预测列)产生影响。而“仅预测”这种则是说自己只是仅仅作为预测的目的存在,它本身不能作为预测其他列的前提。
    • 所以,如果有多个预测列(这在有的时候也是可能的),那么对于某些列,设置为“预测”而不是“仅预测”应该是很有必要的;而对于在模型中只有唯一的预测目标列时,可以设置为“仅预测”来提高模型的准确性和效率。
  • 在对新数据做预测的时候,我们也可以看到这样的意思

image

在这种情况下,Bike Buyer这个列,也可以作为输入进行映射

image

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言用于封装代码的单元,可以实现代码的复用和模块化。C语言定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言用于存储同类型数据的结构,可以通过索引访问和修改数组的元素。字符串是C语言用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。
好的,下面给你十个统计建模可用的Python代码以及其用法、详细的使用方法和介绍: 1. 线性回归 用法:线性回归是一种最简单的统计建模技术,它可以用于探索两个变量之间的关系,并预测一个变量的值。可以使用Python的scikit-learn库来实现线性回归。 代码: ```python from sklearn.linear_model import LinearRegression lr = LinearRegression() lr.fit(X_train, y_train) y_pred = lr.predict(X_test) ``` X_train和y_train是训练数据集,X_test是测试数据集,y_pred是预测值。 2. 逻辑回归 用法:逻辑回归是一种元分类算法,可以用于预测一个事件的发生或不发生概率。可以使用Python的scikit-learn库来实现逻辑回归。 代码: ```python from sklearn.linear_model import LogisticRegression lr = LogisticRegression() lr.fit(X_train, y_train) y_pred = lr.predict(X_test) ``` X_train和y_train是训练数据集,X_test是测试数据集,y_pred是预测值。 3. 决策树 用法:决策树是一种可解释性强的分类算法,可以用于探索数据的模式。可以使用Python的scikit-learn库来实现决策树。 代码: ```python from sklearn.tree import DecisionTreeClassifier dtc = DecisionTreeClassifier() dtc.fit(X_train, y_train) y_pred = dtc.predict(X_test) ``` X_train和y_train是训练数据集,X_test是测试数据集,y_pred是预测值。 4. 随机森林 用法:随机森林是一种集成学习算法,可以用于分类和回归问题。可以使用Python的scikit-learn库来实现随机森林。 代码: ```python from sklearn.ensemble import RandomForestClassifier rfc = RandomForestClassifier() rfc.fit(X_train, y_train) y_pred = rfc.predict(X_test) ``` X_train和y_train是训练数据集,X_test是测试数据集,y_pred是预测值。 5. 支持向量机 用法:支持向量机是一种分类算法,可以用于线性和非线性分类问题。可以使用Python的scikit-learn库来实现支持向量机。 代码: ```python from sklearn.svm import SVC svc = SVC() svc.fit(X_train, y_train) y_pred = svc.predict(X_test) ``` X_train和y_train是训练数据集,X_test是测试数据集,y_pred是预测值。 6. K近邻 用法:K近邻是一种分类和回归算法,可以用于探索数据的模式。可以使用Python的scikit-learn库来实现K近邻。 代码: ```python from sklearn.neighbors import KNeighborsClassifier knn = KNeighborsClassifier() knn.fit(X_train, y_train) y_pred = knn.predict(X_test) ``` X_train和y_train是训练数据集,X_test是测试数据集,y_pred是预测值。 7. 主成分分析 用法:主成分分析是一种降维算法,可以用于数据可视化和特征提取。可以使用Python的scikit-learn库来实现主成分分析。 代码: ```python from sklearn.decomposition import PCA pca = PCA(n_components=2) X_pca = pca.fit_transform(X) ``` X是数据集,n_components是要保留的主成分数量。 8. 梯度提升树 用法:梯度提升树是一种集成学习算法,可以用于分类和回归问题。可以使用Python的scikit-learn库来实现梯度提升树。 代码: ```python from sklearn.ensemble import GradientBoostingClassifier gbc = GradientBoostingClassifier() gbc.fit(X_train, y_train) y_pred = gbc.predict(X_test) ``` X_train和y_train是训练数据集,X_test是测试数据集,y_pred是预测值。 9. 贝叶斯分类器 用法:贝叶斯分类器是一种分类算法,可以用于处理高维数据。可以使用Python的scikit-learn库来实现贝叶斯分类器。 代码: ```python from sklearn.naive_bayes import GaussianNB gnb = GaussianNB() gnb.fit(X_train, y_train) y_pred = gnb.predict(X_test) ``` X_train和y_train是训练数据集,X_test是测试数据集,y_pred是预测值。 10. 神经网络 用法:神经网络是一种深度学习算法,可以用于分类和回归问题。可以使用Python的TensorFlow或Keras库来实现神经网络。 代码: ```python import tensorflow as tf from tensorflow import keras model = keras.Sequential([ keras.layers.Dense(64, activation='relu'), keras.layers.Dense(10, activation='softmax') ]) model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy']) model.fit(X_train, y_train, epochs=5) y_pred = model.predict(X_test) ``` X_train和y_train是训练数据集,X_test是测试数据集,y_pred是预测值。 11. 模型评估 用法:模型评估是一种评估模型性能的技术,可以用于选择最佳模型。可以使用Python的scikit-learn库来实现模型评估。 代码: ```python from sklearn.metrics import accuracy_score accuracy = accuracy_score(y_test, y_pred) print(accuracy) ``` y_test是测试数据集的标签,y_pred是预测值。 12. 网格搜索 用法:网格搜索是一种超参数优化技术,可以用于选择最佳模型参数。可以使用Python的scikit-learn库来实现网格搜索。 代码: ```python from sklearn.model_selection import GridSearchCV param_grid = {'C': [0.1, 1, 10], 'kernel': ['linear', 'rbf']} grid = GridSearchCV(SVC(), param_grid, cv=5) grid.fit(X_train, y_train) print(grid.best_params_) ``` X_train和y_train是训练数据集,param_grid是参数网格,cv是交叉验证次数。 13. 特征选择 用法:特征选择是一种降维技术,可以用于选择最相关的特征。可以使用Python的scikit-learn库来实现特征选择。 代码: ```python from sklearn.feature_selection import SelectKBest from sklearn.feature_selection import chi2 X_new = SelectKBest(chi2, k=2).fit_transform(X, y) ``` X是数据集,y是标签,k是要选择的特征数量。 14. 数据可视化 用法:数据可视化是一种探索性数据分析技术,可以用于理解数据的模式。可以使用Python的matplotlib和seaborn库来实现数据可视化。 代码: ```python import matplotlib.pyplot as plt plt.scatter(X[:,0], X[:,1], c=y) plt.xlabel('Feature 1') plt.ylabel('Feature 2') plt.show() ``` X是数据集,y是标签。 15. 线性判别分析 用法:线性判别分析是一种分类算法,可以用于降维和特征提取。可以使用Python的scikit-learn库来实现线性判别分析。 代码: ```python from sklearn.discriminant_analysis import LinearDiscriminantAnalysis lda = LinearDiscriminantAnalysis(n_components=2) X_lda = lda.fit_transform(X, y) ``` X是数据集,y是标签,n_components是要保留的特征数量。 16. 独热编码 用法:独热编码是一种特征编码技术,可以用于将分类变量转换为数值变量。可以使用Python的scikit-learn库来实现独热编码。 代码: ```python from sklearn.preprocessing import OneHotEncoder enc = OneHotEncoder() X_enc = enc.fit_transform(X) ``` X是数据集。 17. 标签编码 用法:标签编码是一种特征编码技术,可以用于将分类变量转换为数值变量。可以使用Python的scikit-learn库来实现标签编码。 代码: ```python from sklearn.preprocessing import LabelEncoder enc = LabelEncoder() y_enc = enc.fit_transform(y) ``` y是标签。 18. 正则化 用法:正则化是一种防止过拟合的技术,可以用于优化模型性能。可以使用Python的scikit-learn库来实现正则化。 代码: ```python from sklearn.linear_model import Ridge ridge = Ridge(alpha=0.1) ridge.fit(X_train, y_train) y_pred = ridge.predict(X_test) ``` X_train和y_train是训练数据集,X_test是测试数据集,y_pred是预测值,alpha是正则化参数。 19. 集成学习 用法:集成学习是一种将多个模型组合起来的技术,可以用于提高模型性能。可以使用Python的scikit-learn库来实现集成学习。 代码: ```python from sklearn.ensemble import VotingClassifier lr = LogisticRegression() rfc = RandomForestClassifier() svc = SVC() vc = VotingClassifier(estimators=[('lr', lr), ('rfc', rfc), ('svc', svc)], voting='hard') vc.fit(X_train, y_train) y_pred = vc.predict(X_test) ``` X_train和y_train是训练数据集,X_test是测试数据集,y_pred是预测值。 20. 模型解释 用法:模型解释是一种解释模型预测的技术,可以用于理解模型的决策过程。可以使用Python的scikit-learn库和shap库来实现模型解释。 代码: ```python import shap explainer = shap.TreeExplainer(rfc) shap_values = explainer.shap_values(X_test) shap.summary_plot(shap_values[1], X_test) ``` rfc是随机森林模型,X_test是测试数据集。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值