新版本“JMP 18”不包含先前包含的样本数据“Boston Housing.jmp”。尽管此示例数据对于说明如何可视化多元数据和构建预测模型很有用,但由于它包含歧视性、不道德和不公平的内容而被排除在外。
参考
JMP® 样本数据表“Boston Housing.jmp”已删除 - JMP 用户社区
此外,Python 库“scikit-learn”曾经包含波士顿住房的示例数据,但出于同样的原因,它不再包含它。以下是使用 Python 导入 Boston Housing 时显示的消息。
--------------------------------------------------------------------------------------------------------------------------
因此,scikit-learn 维护者强烈反对使用该数据集,除非代码的目的是为了研究和教育
关于数据科学和机器学习中的伦理问题。
在这种特殊情况下,你可以从原始
来源::
将 pandas 导入为 pd
将 numpy 导入为 np
data_url =“ http://lib.stat.cmu.edu/datasets/boston ”
raw_df = pd.read_csv(data_url,sep="\s+", skiprows=22,header=None)
数据 = np.hstack([raw_df.值[::2,:],raw_df.值[1::2,:2]])
目标 = raw_df.值[1::2, 2]
替代数据集包括加州住房数据集和艾姆斯住房数据集。
--------------------------------------------------------------------------------------------------------------------------
此消息指出“加州住房数据集”是波士顿住房的替代数据之一。不仅简单的区别是使用美国西海岸的数据而不是东海岸的数据,而且数据量和数据的性质也有显着的不同。

JMP 不包含此加利福尼亚数据作为示例,但您可以使用 JMP 18 中的新 Python 功能包含此数据。我将尝试使用 JMP 导入它。
JMP 18 的 Python 集成
JMP 长期以来一直能够连接到安装在同一台计算机上的 Python,从而允许您从 JMP 运行 Python 命令和库。
新版本 JMP 18 对 Python 集成功能进行了重大更改和增强。主要变化和增强如下。
- 安装 JMP 18 还会安装内置 Python(版本 3.11)。因此,您无需与 JMP 分开安装 Python,它可以与任何已安装的 Python 实例配合使用。
- 它配备了原生 Python 编辑器(JMP Python 脚本编辑器),允许您直接编写 Python 命令。 (以前,唯一的连接方法是使用 JMP 脚本语言 (JSL) 中的 Python 调用命令。)
- 您可以使用方便使用 JMP 的 Python 包(jmp、jmputils)。 jmp 包对于操作数据表(打开、关闭、添加/删除/更改列等)非常有用,jmputils 是在 JMP Python 环境中安装包的便捷包。
启动并运行 JMP Python 脚本编辑器
从 JMP 18 菜单栏启动 Python 脚本,编写 Python 程序并运行它(编辑 > 运行脚本)。

以下是将 pandas dataframe 格式的 scikit-learn 数据集读取为 JMP 数据表的代码。将此代码粘贴到您的 JMP Python 脚本中我会做。
#Install pandas and scikit-learn packages if you have not installed
#import jmputils
#jmputils.jpip('install', 'pandas scikit-learn')
#California dataset
from sklearn.datasets import fetch_california_housing
import pandas as pd
import jmp
california = fetch_california_housing()
# Transform to pandas DataFrame
df_features = pd.DataFrame(data=california.data, columns=california.feature_names)
df_features['MedHouseVal'] = california.target
column_names = df_features.columns.tolist()
# Create JMP Datatable from pandas DataFrame
dt = jmp.DataTable('California',df_features.shape[0])
for i in range( df_features.shape[1] ):
dt.new_column(column_names[i])
dt[i] = list(df_features.iloc[:,i])
# About california_housing_dataset
print(california.DESCR)
注意:JMP 的 Python 还要求您安装要使用的软件包。此示例使用 pandas 和 scikit-learn 软件包,因此如果您没有安装它们,请注释掉上面的第二行和第三行(删除 #)并运行它们。
加利福尼亚数据集
这是使用 JMP 加载的数据集。它显示了加利福尼亚州 20,640 个街区的房价中位数,即目标变量 (Y)。解释变量包括每个街区的收入(中值)、建筑年龄(中值)、每户平均房间和卧室数量、人口、家庭成员数量(平均值)、纬度和经度。

使用纬度和经度信息,我使用“Graph Builder”在地图上绘制了每个街区的房价 (MedHouseVal)。 
沿海地区的房价似乎较高,尤其是旧金山和洛杉矶等大城市周边。
在接下来的第 2 部分中,我们将使用这次介绍的加州数据集来更详细地解释 JMP 18 的新功能。
作者:Naohiro Masukawa(JMP 日本)
Naohiro Masukawa - JMP 用户社区